[SCM] ffdiaporama/master: Imported Upstream version 1.3
fabricesp-guest at users.alioth.debian.org
fabricesp-guest at users.alioth.debian.org
Thu May 31 04:29:57 UTC 2012
The following commit has been merged in the master branch:
commit 74c0cabf802981c24eaffc63f3d4bbad36cc0c6e
Author: Fabrice Coutadeur coutadeurf at gmail.com <Fabrice Coutadeur coutadeurf at gmail.com>
Date: Wed May 30 06:40:56 2012 +0200
Imported Upstream version 1.3
diff --git a/BUILDVERSION.txt b/BUILDVERSION.txt
index 3bd3ca1..84779da 100755
--- a/BUILDVERSION.txt
+++ b/BUILDVERSION.txt
@@ -1 +1 @@
-Version 1.2 20120305
+Version 1.3 20120526
diff --git a/MMFiler.pro b/MMFiler.pro
deleted file mode 100755
index f8025de..0000000
--- a/MMFiler.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-# this file is to be used by Qt Creator for Linux
-TEMPLATE = subdirs
-//CONFIG += ordered
-
-# ffDiaporama MMFiler companion application
-SUBDIRS += src/ffDiaporamaMMFiler
-TARGET += ffDiaporamaMMFiler
-
-OTHER_FILES += TODO-LIST.txt \ # Developpement file
- BUILDVERSION.txt \ # Developpement file
- ffDiaporamaMMFiler.xml \ # Default configuration options for ffDiaporamaMMFiler
- Devices.xml \ # Shared default configuration options for devices management
- libx264-hq.ffpreset \ # h264 custom preset for High Quality
- libx264-pq.ffpreset \ # h264 custom preset for Phone Quality
- libx264-lossless.ffpreset \ # h264 custom preset for lossless (no quality lost)
- licences.txt \ # Licence file
- licences.rtf \ # Licence file
- authors.txt \ # Authoring file for ffDiaporama
- ffDiaporamaMMFiler.desktop \ # Desktop (menu icon) entry for ffDiaporamaMMFiler installed in /usr
- ffDiaporamaMMFileropt.desktop \ # Desktop (menu icon) entry for ffDiaporamaMMFiler installed in /opt
- ffDiaporamaMMFilerlocal.desktop # Desktop (menu icon) entry for ffDiaporamaMMFiler installed in /usr/local
diff --git a/RSCffDiaporama.qrc b/RSCffDiaporama.qrc
index 96a2fa0..cdad1b1 100755
--- a/RSCffDiaporama.qrc
+++ b/RSCffDiaporama.qrc
@@ -108,16 +108,6 @@
<file>img/Smartphone.png</file>
<file>img/sound_KO.png</file>
<file>img/splash.png</file>
- <file>img/text_align_center.png</file>
- <file>img/text_align_justif.png</file>
- <file>img/text_align_left.png</file>
- <file>img/text_align_right.png</file>
- <file>img/text_align_vbottom.png</file>
- <file>img/text_align_vcenter.png</file>
- <file>img/text_align_vup.png</file>
- <file>img/text_bold.png</file>
- <file>img/text_italic.png</file>
- <file>img/text_underline.png</file>
<file>img/TextStyle.png</file>
<file>img/TimelineBlocks.png</file>
<file>img/TimelineShots.png</file>
@@ -187,17 +177,6 @@
<file>img/MediaIcons/100x100/Thumbnails.png</file>
<file>img/MediaIcons/100x100/usb.png</file>
<file>img/MediaIcons/100x100/video.png</file>
- <file>img/MediaIcons/200x200/audio.png</file>
- <file>img/MediaIcons/200x200/cdrom.png</file>
- <file>img/MediaIcons/200x200/delayed.png</file>
- <file>img/MediaIcons/200x200/directory.png</file>
- <file>img/MediaIcons/200x200/file.png</file>
- <file>img/MediaIcons/200x200/folder_home.png</file>
- <file>img/MediaIcons/200x200/hdd.png</file>
- <file>img/MediaIcons/200x200/hdd-lan.png</file>
- <file>img/MediaIcons/200x200/image.png</file>
- <file>img/MediaIcons/200x200/usb.png</file>
- <file>img/MediaIcons/200x200/video.png</file>
<file>application-ffDiaporama.png</file>
<file>application-ffDiaporamaMMFiler.png</file>
<file>img/Transitions/tr-00-00.png</file>
@@ -264,8 +243,6 @@
<file>img/FILTER_IMAGE_S.png</file>
<file>img/FILTER_MUSIC_S.png</file>
<file>img/FILTER_VIDEO_S.png</file>
- <file>img/MediaIcons/200x200/ffDiaporama.png</file>
- <file>img/MediaIcons/200x200/Thumbnails.png</file>
<file>img/VideoMask_120x180.png</file>
<file>img/VideoMask_150x200.png</file>
<file>img/VideoMask_162x216.png</file>
@@ -278,5 +255,34 @@
<file>img/SmallRed.png</file>
<file>img/SmallYellow.png</file>
<file>img/Lossless.png</file>
+ <file>img/Text/text_align_center.png</file>
+ <file>img/Text/text_align_justif.png</file>
+ <file>img/Text/text_align_left.png</file>
+ <file>img/Text/text_align_right.png</file>
+ <file>img/Text/text_align_vbottom.png</file>
+ <file>img/Text/text_align_vcenter.png</file>
+ <file>img/Text/text_align_vup.png</file>
+ <file>img/Text/text_bold.png</file>
+ <file>img/Text/text_italic.png</file>
+ <file>img/Text/text_underline.png</file>
+ <file>img/Text/text_indent_in.png</file>
+ <file>img/Text/text_indent_out.png</file>
+ <file>img/Text/text_list.png</file>
+ <file>img/Text/text_list_nbr.png</file>
+ <file>img/Text/text_sub.png</file>
+ <file>img/Text/text_super.png</file>
+ <file>img/ScrollX.png</file>
+ <file>img/ScrollY.png</file>
+ <file>img/MediaIcons/48x48/Text.png</file>
+ <file>img/aobottom.png</file>
+ <file>img/aocenterh.png</file>
+ <file>img/aocenterv.png</file>
+ <file>img/aoleft.png</file>
+ <file>img/aoright.png</file>
+ <file>img/aotop.png</file>
+ <file>img/arrange.png</file>
+ <file>img/undo24.png</file>
+ <file>img/Lock24.png</file>
+ <file>img/Camera.png</file>
</qresource>
</RCC>
diff --git a/TODO-LIST.txt b/TODO-LIST.txt
deleted file mode 100755
index 377c510..0000000
--- a/TODO-LIST.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-Buggs/TODO (Dernier SVN le 03/03/2012) :
-----------------------------------------
-TODO
-----
-[ffDiaporama]
--Utiliser le même système dans la gestion des modèles de device dans la gestion des styles pour réindexer les devices custom en cas d'ajout de device standard dans le fichier de conf global !
-
-
-[MMFiler]
--Ajuster la géométrie des thumb à l'affichage en cours : Défaut : 1/1 Images : 3/2 Musique: 1/1 Vidéo : 2/3
--Prendre en compte le multi-select dans QCustomFileInfoLabel (+ affichage à uniformiser avec la table)
--Rendre optionnel le cache des thumbnails (.ThumbnailsCache.xml)
--Developper la partie transformation des fichiers sources
-
--Dépassement de capacité dans l'affichage de la durée cumulé (résumé folder) : il faut ajouter des jours !
-
---------------------------------
-Changelog depuis le dernier SVN
---------------------------------
-French version / Correction de bug :
--Corrige un bug de non application des filtres sur les images dans certains cas
--Corrige l'inversion dans la boite d'option entre "Use project folder's name as video name" et "Use project name as video name"
--Corrige l'absence de transparence dans le logo de ffDiaporama
--Corrige l'erreur d'URL vers le fichier de version sur le site WEB (devel au lieu de stable)
-
-English version / Bug fix :
--Bug fix : Filters some times not apply on some images
--Bug fix : Fix inversion in option dialog between "Use project folder's name as video name" and "Use project name as video name"
--Bug fix : Fix transparency missing in ffDiaporama logo
--Bug fix : Fix URL mistake to version file on WEB site (devel instead of stable)
-
-French version / Nouvelles fonctionnalités :
-
-English version / New features :
-
--------------------------------------
-Changelog depuis la version 20120303
--------------------------------------
-Bug fix French version
-
-Bug fix English version
-
-French version / Nouvelles fonctionnalités
-
-English version / New features
diff --git a/authors.txt b/authors.txt
index bf5cbc8..c3943c3 100755
--- a/authors.txt
+++ b/authors.txt
@@ -1,8 +1,9 @@
-(C) 2011 Dominique LEVRAY <levray.dominique at bbox.fr>
+(C) 2011-2012 Dominique LEVRAY <levray.dominique at bbox.fr>
ffDiaporama use these third party libraries :
fmt_filters <http://ksquirrel.sourceforge.net/subprojects.php>
ffmpeg <http://www.ffmpeg.org/>
+ libav <http://libav.org/>
libexiv2 <http://www.exiv2.org/>
taglib <http://developer.kde.org/~wheeler/taglib.html>
libsdl <http://www.libsdl.org/>
@@ -32,6 +33,5 @@ German interface and WIKI translation :
Russian interface :
Mikhail Dureev <http://ffdiaporama.tuxfamily.org/Forum/misc.php?email=16>
-Czech interface :
+Czech interface :
Bagicz
-
diff --git a/ffD_Linux.pro b/ffD_Linux.pro
deleted file mode 100755
index c730a38..0000000
--- a/ffD_Linux.pro
+++ /dev/null
@@ -1,34 +0,0 @@
-# this file is to be used by Qt Creator for Linux
-TEMPLATE = subdirs
-//CONFIG += ordered
-
-# ffDiaporama main application
-SUBDIRS += src/ffDiaporama
-TARGET += ffDiaporama
-
-# ffDiaporama MMFiler companion application
-SUBDIRS += src/ffDiaporamaMMFiler
-TARGET += ffDiaporamaMMFiler
-
-# ffDiaporama start application (windows only)
-win32:SUBDIRS += src/ffDiaporamaStart
-
-OTHER_FILES += TODO-LIST.txt \ # Developpement file
- BUILDVERSION.txt \ # Developpement file
- ffDiaporama-mime.xml \ # MIME definition of .ffd type
- ffDiaporama.xml \ # Default configuration options for ffDiaporama
- ffDiaporamaMMFiler.xml \ # Default configuration options for ffDiaporamaMMFiler
- Devices.xml \ # Shared default configuration options for devices management
- libx264-hq.ffpreset \ # h264 custom preset for High Quality
- libx264-pq.ffpreset \ # h264 custom preset for Phone Quality
- libx264-lossless.ffpreset \ # h264 custom preset for lossless (no quality lost)
- licences.txt \ # Licence file
- licences.rtf \ # Licence file
- authors.txt \ # Authoring file for ffDiaporama
- ffDiaporama.url \ # URL file to be install on windows system
- ffDiaporama.desktop \ # Desktop (menu icon) entry for ffDiaporama installed in /usr
- ffDiaporamaopt.desktop \ # Desktop (menu icon) entry for ffDiaporama installed in /opt
- ffDiaporamalocal.desktop \ # Desktop (menu icon) entry for ffDiaporama installed in /usr/local
- ffDiaporamaMMFiler.desktop \ # Desktop (menu icon) entry for ffDiaporamaMMFiler installed in /usr
- ffDiaporamaMMFileropt.desktop \ # Desktop (menu icon) entry for ffDiaporamaMMFiler installed in /opt
- ffDiaporamaMMFilerlocal.desktop # Desktop (menu icon) entry for ffDiaporamaMMFiler installed in /usr/local
diff --git a/ffD_Windows.pro b/ffD_Windows.pro
deleted file mode 100755
index 573e548..0000000
--- a/ffD_Windows.pro
+++ /dev/null
@@ -1,35 +0,0 @@
-# this file is to be used by Qt Creator for Windows
-TEMPLATE = subdirs
-//CONFIG += ordered
-
-# ffDiaporama main application
-SUBDIRS += src/ffDiaporama
-TARGET += ffDiaporama
-
-# ffDiaporama MMFiler companion application
-SUBDIRS += src/ffDiaporamaMMFiler
-TARGET += ffDiaporamaMMFiler
-
-# ffDiaporama start application (windows only)
-win32:SUBDIRS += src/ffDiaporamaStart
-
-OTHER_FILES += TODO-LIST.txt \ # Developpement file
- BUILDVERSION.txt \ # Developpement file
- ffDiaporama-mime.xml \ # MIME definition of .ffd type
- ffDiaporama.xml \ # Default configuration options for ffDiaporama
- ffDiaporamaMMFiler.xml \ # Default configuration options for ffDiaporamaMMFiler
- Devices.xml \ # Shared default configuration options for devices management
- libx264-hq.ffpreset \ # h264 custom preset for High Quality
- libx264-pq.ffpreset \ # h264 custom preset for Phone Quality
- libx264-hq-10.ffpreset \ # h264 custom preset for High Quality - ffmpeg 0.10 version
- libx264-pq-10.ffpreset \ # h264 custom preset for Phone Quality - ffmpeg 0.10 version
- licences.txt \ # Licence file
- licences.rtf \ # Licence file
- authors.txt \ # Authoring file for ffDiaporama
- ffDiaporama.url \ # URL file to be install on windows system
- ffDiaporama.desktop \ # Desktop (menu icon) entry for ffDiaporama installed in /usr
- ffDiaporamaopt.desktop \ # Desktop (menu icon) entry for ffDiaporama installed in /opt
- ffDiaporamalocal.desktop \ # Desktop (menu icon) entry for ffDiaporama installed in /usr/local
- ffDiaporamaMMFiler.desktop \ # Desktop (menu icon) entry for ffDiaporamaMMFiler installed in /usr
- ffDiaporamaMMFileropt.desktop \ # Desktop (menu icon) entry for ffDiaporamaMMFiler installed in /opt
- ffDiaporamaMMFilerlocal.desktop # Desktop (menu icon) entry for ffDiaporamaMMFiler installed in /usr/local
diff --git a/ffDiaporama.pro b/ffDiaporama.pro
index bf1e2b1..e6fed60 100755
--- a/ffDiaporama.pro
+++ b/ffDiaporama.pro
@@ -1,6 +1,5 @@
# this file is to be used by qmake for Windows & Linux
TEMPLATE = subdirs
-//CONFIG += ordered
# ffDiaporama main application
SUBDIRS += src/ffDiaporama
diff --git a/ffDiaporama.rc b/ffDiaporama.rc
index 11945c5..27148b6 100755
--- a/ffDiaporama.rc
+++ b/ffDiaporama.rc
@@ -2,8 +2,8 @@
IDI_CON1 ICON DISCARDABLE "application-ffDiaporama.ico"
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 1,2,12,0305
-PRODUCTVERSION 1,2,12,0305
+FILEVERSION 1,3,12,0526
+PRODUCTVERSION 1,3,12,0526
FILEFLAGSMASK 0
FILEFLAGS 0
FILEOS VOS__WINDOWS32
@@ -15,11 +15,11 @@ FILESUBTYPE 0
VALUE "CompanyName", "."
VALUE "LegalCopyright", "(c) 2011 Dominique LEVRAY"
VALUE "FileDescription", "ffDiaporama"
- VALUE "FileVersion", "1.2.2012.0305"
+ VALUE "FileVersion", "1.3.2012.0526"
VALUE "InternalName", "ffDiaporama"
VALUE "OriginalFilename", "ffDiaporama.exe"
VALUE "ProductName", "ffDiaporama"
- VALUE "ProductVersion", "1.2.2012.0305"
+ VALUE "ProductVersion", "1.3.2012.0526"
}
}
BLOCK "VarFileInfo" {
diff --git a/ffDiaporamaMMFiler.rc b/ffDiaporamaMMFiler.rc
index a769845..db5a1f1 100755
--- a/ffDiaporamaMMFiler.rc
+++ b/ffDiaporamaMMFiler.rc
@@ -2,8 +2,8 @@
IDI_CON1 ICON DISCARDABLE "application-ffDiaporamaMMFiler.ico"
VS_VERSION_INFO VERSIONINFO
-FILEVERSION 1,2,12,0305
-PRODUCTVERSION 1,2,12,0305
+FILEVERSION 1,3,12,0526
+PRODUCTVERSION 1,3,12,0526
FILEFLAGSMASK 0
FILEFLAGS 0
FILEOS VOS__WINDOWS32
@@ -15,11 +15,11 @@ FILESUBTYPE 0
VALUE "CompanyName", "."
VALUE "LegalCopyright", "(c) 2011 Dominique LEVRAY"
VALUE "FileDescription", "ffDiaporamaMMFiler"
- VALUE "FileVersion", "1.2.2012.0305"
+ VALUE "FileVersion", "1.3.2012.0526"
VALUE "InternalName", "ffDiaporamaMMFiler"
VALUE "OriginalFilename", "ffDiaporamaMMFiler.exe"
VALUE "ProductName", "ffDiaporamaMMFiler"
- VALUE "ProductVersion", "1.2.2012.0305"
+ VALUE "ProductVersion", "1.3.2012.0526"
}
}
BLOCK "VarFileInfo" {
diff --git a/img/Camera.png b/img/Camera.png
new file mode 100755
index 0000000..7a4839c
Binary files /dev/null and b/img/Camera.png differ
diff --git a/img/Lock24.png b/img/Lock24.png
new file mode 100755
index 0000000..b37d5b7
Binary files /dev/null and b/img/Lock24.png differ
diff --git a/img/MediaIcons/200x200/Thumbnails.png b/img/MediaIcons/200x200/Thumbnails.png
deleted file mode 100755
index fe6655d..0000000
Binary files a/img/MediaIcons/200x200/Thumbnails.png and /dev/null differ
diff --git a/img/MediaIcons/200x200/audio.png b/img/MediaIcons/200x200/audio.png
deleted file mode 100755
index 7e1ed4b..0000000
Binary files a/img/MediaIcons/200x200/audio.png and /dev/null differ
diff --git a/img/MediaIcons/200x200/cdrom.png b/img/MediaIcons/200x200/cdrom.png
deleted file mode 100755
index c16f7d1..0000000
Binary files a/img/MediaIcons/200x200/cdrom.png and /dev/null differ
diff --git a/img/MediaIcons/200x200/delayed.png b/img/MediaIcons/200x200/delayed.png
deleted file mode 100755
index 956f1e8..0000000
Binary files a/img/MediaIcons/200x200/delayed.png and /dev/null differ
diff --git a/img/MediaIcons/200x200/directory.png b/img/MediaIcons/200x200/directory.png
deleted file mode 100755
index ce634c0..0000000
Binary files a/img/MediaIcons/200x200/directory.png and /dev/null differ
diff --git a/img/MediaIcons/200x200/ffDiaporama.png b/img/MediaIcons/200x200/ffDiaporama.png
deleted file mode 100755
index 0814f9e..0000000
Binary files a/img/MediaIcons/200x200/ffDiaporama.png and /dev/null differ
diff --git a/img/MediaIcons/200x200/file.png b/img/MediaIcons/200x200/file.png
deleted file mode 100755
index befab03..0000000
Binary files a/img/MediaIcons/200x200/file.png and /dev/null differ
diff --git a/img/MediaIcons/200x200/folder_home.png b/img/MediaIcons/200x200/folder_home.png
deleted file mode 100755
index 0052e09..0000000
Binary files a/img/MediaIcons/200x200/folder_home.png and /dev/null differ
diff --git a/img/MediaIcons/200x200/hdd-lan.png b/img/MediaIcons/200x200/hdd-lan.png
deleted file mode 100755
index bc71e4f..0000000
Binary files a/img/MediaIcons/200x200/hdd-lan.png and /dev/null differ
diff --git a/img/MediaIcons/200x200/hdd.png b/img/MediaIcons/200x200/hdd.png
deleted file mode 100755
index 689e62f..0000000
Binary files a/img/MediaIcons/200x200/hdd.png and /dev/null differ
diff --git a/img/MediaIcons/200x200/image.png b/img/MediaIcons/200x200/image.png
deleted file mode 100755
index 50b71d6..0000000
Binary files a/img/MediaIcons/200x200/image.png and /dev/null differ
diff --git a/img/MediaIcons/200x200/usb.png b/img/MediaIcons/200x200/usb.png
deleted file mode 100755
index c37da16..0000000
Binary files a/img/MediaIcons/200x200/usb.png and /dev/null differ
diff --git a/img/MediaIcons/200x200/video.png b/img/MediaIcons/200x200/video.png
deleted file mode 100755
index 759317f..0000000
Binary files a/img/MediaIcons/200x200/video.png and /dev/null differ
diff --git a/img/MediaIcons/48x48/Text.png b/img/MediaIcons/48x48/Text.png
new file mode 100755
index 0000000..899a8d1
Binary files /dev/null and b/img/MediaIcons/48x48/Text.png differ
diff --git a/img/ScrollX.png b/img/ScrollX.png
new file mode 100755
index 0000000..467fad5
Binary files /dev/null and b/img/ScrollX.png differ
diff --git a/img/ScrollY.png b/img/ScrollY.png
new file mode 100755
index 0000000..f9db398
Binary files /dev/null and b/img/ScrollY.png differ
diff --git a/img/text_align_center.png b/img/Text/text_align_center.png
similarity index 100%
rename from img/text_align_center.png
rename to img/Text/text_align_center.png
diff --git a/img/text_align_justif.png b/img/Text/text_align_justif.png
similarity index 100%
rename from img/text_align_justif.png
rename to img/Text/text_align_justif.png
diff --git a/img/text_align_left.png b/img/Text/text_align_left.png
similarity index 100%
rename from img/text_align_left.png
rename to img/Text/text_align_left.png
diff --git a/img/text_align_right.png b/img/Text/text_align_right.png
similarity index 100%
rename from img/text_align_right.png
rename to img/Text/text_align_right.png
diff --git a/img/text_align_vbottom.png b/img/Text/text_align_vbottom.png
similarity index 100%
rename from img/text_align_vbottom.png
rename to img/Text/text_align_vbottom.png
diff --git a/img/text_align_vcenter.png b/img/Text/text_align_vcenter.png
similarity index 100%
rename from img/text_align_vcenter.png
rename to img/Text/text_align_vcenter.png
diff --git a/img/text_align_vup.png b/img/Text/text_align_vup.png
similarity index 100%
rename from img/text_align_vup.png
rename to img/Text/text_align_vup.png
diff --git a/img/text_bold.png b/img/Text/text_bold.png
similarity index 100%
rename from img/text_bold.png
rename to img/Text/text_bold.png
diff --git a/img/Text/text_indent_in.png b/img/Text/text_indent_in.png
new file mode 100755
index 0000000..d9ef528
Binary files /dev/null and b/img/Text/text_indent_in.png differ
diff --git a/img/Text/text_indent_out.png b/img/Text/text_indent_out.png
new file mode 100755
index 0000000..36c7907
Binary files /dev/null and b/img/Text/text_indent_out.png differ
diff --git a/img/text_italic.png b/img/Text/text_italic.png
similarity index 100%
rename from img/text_italic.png
rename to img/Text/text_italic.png
diff --git a/img/Text/text_list.png b/img/Text/text_list.png
new file mode 100755
index 0000000..1610a29
Binary files /dev/null and b/img/Text/text_list.png differ
diff --git a/img/Text/text_list_nbr.png b/img/Text/text_list_nbr.png
new file mode 100755
index 0000000..f10afdf
Binary files /dev/null and b/img/Text/text_list_nbr.png differ
diff --git a/img/Text/text_sub.png b/img/Text/text_sub.png
new file mode 100755
index 0000000..855dfbb
Binary files /dev/null and b/img/Text/text_sub.png differ
diff --git a/img/Text/text_super.png b/img/Text/text_super.png
new file mode 100755
index 0000000..945f29f
Binary files /dev/null and b/img/Text/text_super.png differ
diff --git a/img/text_underline.png b/img/Text/text_underline.png
similarity index 100%
rename from img/text_underline.png
rename to img/Text/text_underline.png
diff --git a/img/aobottom.png b/img/aobottom.png
new file mode 100755
index 0000000..376ad13
Binary files /dev/null and b/img/aobottom.png differ
diff --git a/img/aocenterh.png b/img/aocenterh.png
new file mode 100755
index 0000000..2292b88
Binary files /dev/null and b/img/aocenterh.png differ
diff --git a/img/aocenterv.png b/img/aocenterv.png
new file mode 100755
index 0000000..2a90470
Binary files /dev/null and b/img/aocenterv.png differ
diff --git a/img/aoleft.png b/img/aoleft.png
new file mode 100755
index 0000000..6acb2d4
Binary files /dev/null and b/img/aoleft.png differ
diff --git a/img/aoright.png b/img/aoright.png
new file mode 100755
index 0000000..2f50ef6
Binary files /dev/null and b/img/aoright.png differ
diff --git a/img/aotop.png b/img/aotop.png
new file mode 100755
index 0000000..1cae217
Binary files /dev/null and b/img/aotop.png differ
diff --git a/img/arrange.png b/img/arrange.png
new file mode 100755
index 0000000..62cdc11
Binary files /dev/null and b/img/arrange.png differ
diff --git a/img/edit.png b/img/edit.png
index 6295678..b440ede 100755
Binary files a/img/edit.png and b/img/edit.png differ
diff --git a/img/logo_big.png b/img/logo_big.png
index 662487f..f2ab3e1 100755
Binary files a/img/logo_big.png and b/img/logo_big.png differ
diff --git a/img/undo24.png b/img/undo24.png
new file mode 100755
index 0000000..f7089bd
Binary files /dev/null and b/img/undo24.png differ
diff --git a/locale/ffDiaporamaMMFiler_cz.qm b/locale/ffDiaporamaMMFiler_cz.qm
deleted file mode 100755
index 1776294..0000000
Binary files a/locale/ffDiaporamaMMFiler_cz.qm and /dev/null differ
diff --git a/locale/ffDiaporamaMMFiler_cz.ts b/locale/ffDiaporamaMMFiler_cz.ts
deleted file mode 100755
index 39bf49b..0000000
--- a/locale/ffDiaporamaMMFiler_cz.ts
+++ /dev/null
@@ -1,2378 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.0" language="cs">
-<context>
- <name>DlgAbout</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="26"/>
- <source>About</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="93"/>
- <source>Licence</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="105"/>
- <source>Copyright (C) 2011-2012 Dominique Levray</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="112"/>
- <source>This software is licensed under the GPL version 2 :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="214"/>
- <source>Credits</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="258"/>
- <source>This application was developped using Open Source version of Qt 4.7 SDK</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="268"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="318"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="349"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="387"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="418"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="588"/>
- <source>WEB site & licence :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="305"/>
- <source>Video decoding and encoding engines are based on ffmpeg</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="336"/>
- <source>Image exif decoding is based on Exiv2 - Image metadata library and tools</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="367"/>
- <source>Other images and graphical material are using Creative Common Licence 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="380"/>
- <source>C.C. WEB site :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="405"/>
- <source>Many icons are from the Crystal Project</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="551"/>
- <source>Image effects are based on fmt_filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="575"/>
- <source>TAG managment based on TAGLib</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="672"/>
- <source>&Ok</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgApplicationSettings</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="32"/>
- <source>Application settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="54"/>
- <source>Application Options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="96"/>
- <source>If this box is checked, the sizes and the positions of all the windows and dialogue box of ffDiaporama will be saved to be reused the next time which you will use ffDiaporama.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="99"/>
- <source>Remember Windows size and positions</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="112"/>
- <source>If this box is checked, the directories that you use for the images, the videos, the projects, the musics and the generations of movie will be saved to be reused the next time which you will use ffDiaporama.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="115"/>
- <source>Remember last used folders</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="129"/>
- <source>Application options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="155"/>
- <source>Video options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="171"/>
- <source>Enable "raster" Graphics System (Need application restart)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="380"/>
- <source>Display options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="184"/>
- <source>Automatically crop 1920x1088 video to 1920x1080</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="197"/>
- <source>Show hidden folders and files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="210"/>
- <source>Display folders first</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="223"/>
- <source>Display only drives mounted in /media/</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="261"/>
- <source>Image :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="293"/>
- <source>Music :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="300"/>
- <source>Video :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="341"/>
- <source>Display filename in icon views</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="348"/>
- <source>Thumbnails size for big icons mode :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="415"/>
- <source>Thumbnail rules options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="446"/>
- <source>Minimum height for EXIF "Preview Image" :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="453"/>
- <source>Define minimum height Preview Image must have to use it</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="457"/>
- <source>No minimum height</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="462"/>
- <source>Not less than 100</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="467"/>
- <source>Not less than 200</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="510"/>
- <source>Check Configuration</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="521"/>
- <source>Manage Devices</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="545"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="548"/>
- <source>&Ok</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="559"/>
- <source>Cancel modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="562"/>
- <source>&Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="573"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="576"/>
- <source>&Help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="583"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgCheckConfig</name>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="22"/>
- <source>Check configuration</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="49"/>
- <source>Check configuration at startup</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="69"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="72"/>
- <source>&Ok</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="83"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="86"/>
- <source>&Help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="93"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="63"/>
- <source>ffmpeg not found - critical - application will stop !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="165"/>
- <source>ffmpeg Audio Codecs</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <source>available</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="60"/>
- <source>Unable to determine ffmpeg version</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="103"/>
- <source>LibExiv2 version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="105"/>
- <source>LibExiv2/Exiv2 binary version</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <source>not available</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <source>LibExiv2 support for preview image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="119"/>
- <source>TAGLib version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <source>TAGLib support for FLAC</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <source>TAGLib support for ASF/WMA</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <source>TAGLib support for M4A/MP4</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="149"/>
- <source>ffmpeg version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="150"/>
- <source>LIBAVCODEC version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="151"/>
- <source>LIBAVFORMAT version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="152"/>
- <source>LIBSWSCALE version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <source>ffmpeg support for TAG and CHAPTERS</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="169"/>
- <source>ffmpeg Video Codecs</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
- <source>ffmpeg Container Formats</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgInfoFile</name>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="25"/>
- <source>File information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="93"/>
- <source>File name :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="100"/>
- <source>File type :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="133"/>
- <source>File size :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="153"/>
- <source>File created :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="167"/>
- <source>File modify :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="219"/>
- <source>Video track information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="323"/>
- <source>Chapter information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="288"/>
- <source>Audio track information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="379"/>
- <source>Additional information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="418"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="421"/>
- <source>&Ok</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="432"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="435"/>
- <source>&Help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="442"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgJobSettings</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="20"/>
- <source>Job settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="67"/>
- <source>What to do to sources files ?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="147"/>
- <source>Rename sources files by adding this suffix:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="293"/>
- <source>How to name destinations files ?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="117"/>
- <source>Delete sources files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="98"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="120"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="150"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="516"/>
- <source>buttonGroup</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="95"/>
- <source>Do nothing</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="323"/>
- <source>Add this suffix to file name :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="513"/>
- <source>Move sources files to this folder:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="535"/>
- <source>Place destination files In another folder than sources files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="554"/>
- <source>Overwrite existing destination files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="581"/>
- <source>Add size suffix to file name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="641"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="644"/>
- <source>&Ok</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="655"/>
- <source>Cancel modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="658"/>
- <source>&Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="669"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="672"/>
- <source>&Help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="679"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgManageDevices</name>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="20"/>
- <source>Manage Devices</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="34"/>
- <source>Device type :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="44"/>
- <source>Select the type of equipment to be shown in the list.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="107"/>
- <source>Subtype</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="118"/>
- <source>Model</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="140"/>
- <source>Create a new equipment which comes to be added in the database.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="143"/>
- <source>Add Device</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="154"/>
- <source>Delete current equipment.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="157"/>
- <source>Remove Device</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="168"/>
- <source>Cancel the modifications that you made on an equipment defined in the default ffDiaporama database</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="171"/>
- <source>Reset Device to Default</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="184"/>
- <source>Device subtype :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="194"/>
- <source>Select the category in which is classified the equipment.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="201"/>
- <source>Device model :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="211"/>
- <source>File format :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="221"/>
- <source>Enter here the name of the equipment (free text field).</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="234"/>
- <source>Select the file type to use for the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="241"/>
- <source>Video standard :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="256"/>
- <source>Select the video standard to use, PAL or NTSC.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="260"/>
- <source>PAL</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="265"/>
- <source>NTSC</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="288"/>
- <source>Image format :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="298"/>
- <source>Select the image resolution to use for the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="308"/>
- <source>Video codec :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="335"/>
- <source>Select the video codec to use for the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="348"/>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="413"/>
- <source>Bit rate :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="370"/>
- <source>Select the bit rate to use for video during the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="379"/>
- <source>Audio codec :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="406"/>
- <source>Select the audio codec to use for the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="435"/>
- <source>Select the bit rate to use for audio during the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="484"/>
- <source>Apply</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="495"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="498"/>
- <source>&Ok</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="509"/>
- <source>Cancel modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="512"/>
- <source>&Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="523"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="526"/>
- <source>&Help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="533"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="112"/>
- <source>Apply modification</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="113"/>
- <source>Do you whant to apply modification for this device?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="535"/>
- <source><new device></source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgRenderVideo</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="658"/>
- <source>Error starting ffmpeg</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>MainWindow</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="95"/>
- <source>File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="119"/>
- <source>Refresh tree and folder table</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="122"/>
- <source>Refresh</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="135"/>
- <source>F5</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="164"/>
- <source>Open file with default application defined on computer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="167"/>
- <source>Open
-File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="181"/>
- <source>Return</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="203"/>
- <source>Display detailled information on file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="206"/>
- <source>Display
-Information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="239"/>
- <source>Remove file from the disk</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="242"/>
- <source>Remove
-File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="256"/>
- <source>Del</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="278"/>
- <source>Open contextual action menu</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="281"/>
- <source>Action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="326"/>
- <source>Change application and project settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="329"/>
- <source>Settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="367"/>
- <source>Exit application (Ctrl+W)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="370"/>
- <source>Exit</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="383"/>
- <source>Ctrl+W</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="418"/>
- <source>Select display mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="421"/>
- <source>Mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="453"/>
- <source>Select file filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="456"/>
- <source>Filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="477"/>
- <source>Help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="513"/>
- <source>Display informations about ffDiaporama</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="516"/>
- <source>About</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="560"/>
- <source>Call ffDiaporama WIKI</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="563"/>
- <source>Support
-and help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="577"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="611"/>
- <source>Display blog/news page from internet WEB site</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="614"/>
- <source>What's new</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1021"/>
- <source>Stop current job</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1062"/>
- <source>Up job in the list</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1103"/>
- <source>Down job in the list</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="382"/>
- <source>files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="383"/>
- <source>folders</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="384"/>
- <source>Total size:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="385"/>
- <source>Total duration:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="451"/>
- <source>Configuration not correct!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="521"/>
- <source>Details view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="522"/>
- <source>Short summary view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="523"/>
- <source>Long summary view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="524"/>
- <source>Small icon view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="525"/>
- <source>Medium icon view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="526"/>
- <source>Images wall view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="553"/>
- <source>All files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="554"/>
- <source>Managed files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="555"/>
- <source>Image files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="556"/>
- <source>Video files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="557"/>
- <source>Music files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="558"/>
- <source>ffDiaporama project files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="623"/>
- <source>Are you sure to remove theses files ?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="626"/>
- <source>Successfuly remove file (%1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="628"/>
- <source>Failed to remove file (%1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="647"/>
- <source>Are you sure to remove this folder ?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="670"/>
- <source>Impossible to remove file %1 - error %2:%3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="675"/>
- <source>Impossible to remove folder %1 - error %2:%3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="679"/>
- <source>Successfully remove folder (and all is content) %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="60"/>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="74"/>
- <source>Search Raster mode in configuration file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="274"/>
- <source>All suported file (</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="281"/>
- <source>Image file (</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="287"/>
- <source>Video file (</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="293"/>
- <source>Music file (</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="460"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="387"/>
- <source>Read configuration file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="462"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="397"/>
- <source>Error reading configuration file</source>
- <comment>Error message</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="467"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="402"/>
- <source>Error reading content of configuration file</source>
- <comment>Error message</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="474"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="409"/>
- <source>The file is not a valid configuration file</source>
- <comment>Error message</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="641"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="456"/>
- <source>Error creating configuration file</source>
- <comment>Error message</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="98"/>
- <source>Loading cached filtered file :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="109"/>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="137"/>
- <source>Rescal image to 8MPix</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="117"/>
- <source>Error allocating memory for cached filtered file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="119"/>
- <source>Error loading cached filtered file :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="126"/>
- <source>Loading file :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="145"/>
- <source>Error allocating memory for render image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="147"/>
- <source>Error loading file :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="73"/>
- <source>Applying Despeckle filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="77"/>
- <source>Applying Equalize filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="81"/>
- <source>Applying Gray filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="85"/>
- <source>Applying blur filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="89"/>
- <source>Applying sharpen filter</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QCustomFolderTable</name>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="364"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="384"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="428"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="615"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="643"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="654"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="662"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="689"/>
- <source>File</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="367"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="385"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="429"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="616"/>
- <source>File Type</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="386"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="430"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="617"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="644"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="655"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="663"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="690"/>
- <source>File Size</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="387"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="431"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="618"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="645"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="656"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="664"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="691"/>
- <source>File Date</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="388"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="432"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="619"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="646"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="665"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="692"/>
- <source>Duration</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="409"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="435"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="620"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="666"/>
- <source>Chapters</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="389"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="433"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="621"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="657"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="667"/>
- <source>Image Size</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="390"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="434"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="622"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="658"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="668"/>
- <source>Image Format</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="391"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="436"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="623"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="659"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="669"/>
- <source>Image Geometry</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="392"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="437"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="624"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="670"/>
- <source>Video Codec</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="393"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="438"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="625"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="671"/>
- <source>Frame Rate</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="394"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="439"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="626"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="672"/>
- <source>Video Bitrate</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="395"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="440"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="627"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="673"/>
- <source>Audio Language</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="396"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="441"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="628"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="674"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="693"/>
- <source>Audio Codec</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="397"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="442"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="629"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="675"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="694"/>
- <source>Audio Channels</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="398"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="443"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="630"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="676"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="695"/>
- <source>Audio Bitrate</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="399"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="444"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="631"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="677"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="696"/>
- <source>Audio Frequency</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="400"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="445"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="632"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="647"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="678"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="697"/>
- <source>Title</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="401"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="446"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="633"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="679"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="698"/>
- <source>Artist</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="402"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="447"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="634"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="649"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="680"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="699"/>
- <source>Album</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="403"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="448"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="635"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="650"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="681"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="700"/>
- <source>Year</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="404"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="449"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="636"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="682"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="701"/>
- <source>Track</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="405"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="450"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="637"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="683"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="702"/>
- <source>Genre</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="406"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="451"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="638"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="684"/>
- <source>Comment</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="407"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="452"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="639"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="651"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="685"/>
- <source>Composer</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="408"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="453"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="640"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="686"/>
- <source>Encoder</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="648"/>
- <source>Author</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QCustomFolderTree</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="159"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="202"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="334"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="336"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="337"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="443"/>
- <location filename="../src/sharedfiles/QCustomGetFolder.cpp" line="70"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="58"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="93"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="347"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="352"/>
- <source>Personal folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="86"/>
- <source>Refresh all</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="87"/>
- <source>Refresh from here</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="88"/>
- <source>Create new subfolder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="89"/>
- <source>Remove folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="107"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="115"/>
- <source>Create folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="107"/>
- <source>Folder:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="114"/>
- <source>Error %1:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="116"/>
- <source>Impossible to create folder !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="348"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="353"/>
- <source>System files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="99"/>
- <source>Kb</source>
- <comment>Unit Kb</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
- <source>Mb</source>
- <comment>Unit Mb</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
- <source>Gb</source>
- <comment>Unit Gb</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
- <source>Tb</source>
- <comment>Unit Tb</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="94"/>
- <source>Empty drive...</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QCustomGetFolder</name>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="20"/>
- <source>Select a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="98"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="101"/>
- <source>&Ok</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="112"/>
- <source>Cancel modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="115"/>
- <source>&Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="126"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="129"/>
- <source>&Help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="136"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QCustomJobTable</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="59"/>
- <source>Date/Time</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="60"/>
- <source>Status</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="61"/>
- <source>Progress</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="62"/>
- <source>Job Type</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="63"/>
- <source>Current action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="248"/>
- <source>Waiting</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="249"/>
- <source>Started</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="250"/>
- <source>Paused</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="251"/>
- <source>Canceled</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="252"/>
- <source>Succeeded</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="253"/>
- <source>Ended with error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="255"/>
- <source>Not defined</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="256"/>
- <source>Open</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="257"/>
- <source>Display information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="258"/>
- <source>Remove</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="259"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="260"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="261"/>
- <source>Convert</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="298"/>
- <source>overwrite destination file as needed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="299"/>
- <source>and remove %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="300"/>
- <source>and rename %1 to %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="301"/>
- <source>and move %1 to %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="151"/>
- <source>and rescal image to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="132"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="153"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="157"/>
- <source>and rotate image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="133"/>
- <source>but don't rotate image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="159"/>
- <source>new image size will become %1x%2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="164"/>
- <source>and set codec to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="131"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="165"/>
- <source>and set audio compression to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="132"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="166"/>
- <source>and force audio frequency to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="133"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="167"/>
- <source>and force to mono</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="133"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="167"/>
- <source>and force to stereo</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="106"/>
- <source>and resize to %1x%2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="113"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="117"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="121"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="124"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="129"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="139"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="149"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="152"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="155"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="158"/>
- <source>and set video codec to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="114"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="140"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="153"/>
- <source>and set video compression to %1 with + and - 10%</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="118"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="122"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="125"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="156"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="159"/>
- <source>and set video compression to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="131"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="141"/>
- <source>and set video preset %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="150"/>
- <source>and set video quality to 2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>cBaseMediaFile</name>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="84"/>
- <source>Error overwritting %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="390"/>
- <source>Open file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="391"/>
- <source>Impossible to open file </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="391"/>
- <source>Do you want to select another file ?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="395"/>
- <source>Select another file for </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="407"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="559"/>
- <source>Impossible to open file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="494"/>
- <source>MPix</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="578"/>
- <source>Unmanaged</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="706"/>
- <source>Folder</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="867"/>
- <source>Slide number</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="902"/>
- <source>Slides</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="903"/>
- <source>Chapters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="932"/>
- <source>ffDiaporama</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="959"/>
- <source>Image</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="960"/>
- <source>Thumbnail</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="986"/>
- <source>Image don't have EXIF metadata %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1080"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1124"/>
- <source>Impossible to start exiv2 - no exif informations will be decode for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1085"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1129"/>
- <source>Error during exiv2 process - no exif informations will be decode for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1089"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1133"/>
- <source>exiv2 return error %1 - no exif informations will be decode for %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1472"/>
- <source>Mono</source>
- <comment>Audio channels mode</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1473"/>
- <source>Stereo</source>
- <comment>Audio channels mode</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1628"/>
- <source>Video</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1627"/>
- <source>Music</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="582"/>
- <source>Impossible to start exiv2 - no exif informations will be set for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="587"/>
- <source>Error during exiv2 process - no exif informations will be set for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="591"/>
- <source>exiv2 return error %1 - no exif informations will be set for %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="597"/>
- <source>Successfully add minimal exif values to %1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>cDeviceModelList</name>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="504"/>
- <source>Advanced</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
- <source>Smartphone</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
- <source>Multimedia system</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
- <source>For the WEB</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
- <source>Lossless</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
- <source>Portable Player</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
- <source>Netbook/NetPC</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
- <source>Handheld game console</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
- <source>Tablet computer</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
- <source>Multimedia hard drive and gateway</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
- <source>Player</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
- <source>ADSL Box</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
- <source>Game console</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
- <source>SWF Flash Player</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
- <source>Video-sharing and social WebSite</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
- <source>HTML 5</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>cJobQueue</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="400"/>
- <source>Applying source transformation : Sorry no yet developped !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="416"/>
- <source>Failed to remove existing destination file (%1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="418"/>
- <source>Successfully remove existing destination file (%1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="430"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="624"/>
- <source>Jobtype error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="451"/>
- <source>Start image conversion of %1 to %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="454"/>
- <source>Open file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="457"/>
- <source>Successfully open file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="460"/>
- <source>Rescal image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="482"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="510"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="551"/>
- <source>Failed to rotate image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="483"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="511"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="552"/>
- <source>Succesfully rotate image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="536"/>
- <source>Failed to rescal image %1 to %2x%3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="537"/>
- <source>Succesfully rescal image %1 to %2x%3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="557"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="642"/>
- <source>Apply destination overwriting strategy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="561"/>
- <source>Save image file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="572"/>
- <source>Add minimal exif value to image file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="599"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="695"/>
- <source>Apply source file strategy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="612"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="706"/>
- <source>Job finished</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="639"/>
- <source>Start audio conversion of %1 to %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="644"/>
- <source>Error : for sound conversion, source and destination must be different !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="653"/>
- <source>Process ffmpeg job</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="688"/>
- <source>Error : ffmpeg job can't start : %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="689"/>
- <source>Error : ffmpeg return error %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="691"/>
- <source>Succesfully process ffmpeg job</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="456"/>
- <source>Failed to open file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="563"/>
- <source>Failed to write destination file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="565"/>
- <source>Successfully writing destination file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="411"/>
- <source>Destination file (%1) already exist</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertAudio</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="39"/>
- <source>Convert audio</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="46"/>
- <source>Format :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="68"/>
- <source>Select the audio codec to use for the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="75"/>
- <source>Bit rate :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="97"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="158"/>
- <source>Select the bit rate to use for audio during the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="104"/>
- <source>Force to mono</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="111"/>
- <source>Force to stereo</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="139"/>
- <source>Change frequency to :</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertImage</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="48"/>
- <source>Convert image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="79"/>
- <source>Quality :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="93"/>
- <source>QVGA (240 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="98"/>
- <source>HVGA (320 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="103"/>
- <source>VGA/WVGA (480 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="108"/>
- <source>SD/DVD (576 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="113"/>
- <source>720p (720 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="118"/>
- <source>XGA (768 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="123"/>
- <source>1080p (1080 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="156"/>
- <source>Resize :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="169"/>
- <source>But not upscale image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="250"/>
- <source>Format :</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertVideo</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="33"/>
- <source>Convert video</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="40"/>
- <source>Device type :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="50"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="91"/>
- <source>Select the type of equipment.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="57"/>
- <source>Device model :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="67"/>
- <source>Select the model of equipment</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="74"/>
- <source>Include sound in the video</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="81"/>
- <source>Device :</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-</TS>
diff --git a/locale/ffDiaporamaMMFiler_de.qm b/locale/ffDiaporamaMMFiler_de.qm
deleted file mode 100755
index 8e472e3..0000000
Binary files a/locale/ffDiaporamaMMFiler_de.qm and /dev/null differ
diff --git a/locale/ffDiaporamaMMFiler_de.ts b/locale/ffDiaporamaMMFiler_de.ts
deleted file mode 100755
index 67b051d..0000000
--- a/locale/ffDiaporamaMMFiler_de.ts
+++ /dev/null
@@ -1,2386 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.0" language="de_DE">
-<context>
- <name>DlgAbout</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="26"/>
- <source>About</source>
- <translation>Info</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="93"/>
- <source>Licence</source>
- <translation>Lizenz</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="105"/>
- <source>Copyright (C) 2011-2012 Dominique Levray</source>
- <translation>Copyright (C) 2011-2012 Dominique Levray</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="112"/>
- <source>This software is licensed under the GPL version 2 :</source>
- <translation>Diese Software unterliegt unter der GPL version 2 Lizenz :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="214"/>
- <source>Credits</source>
- <translatorcomment>In this dialog are actually the used program packages and the links to there Homepages</translatorcomment>
- <translation>Quellnachweise</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="258"/>
- <source>This application was developped using Open Source version of Qt 4.7 SDK</source>
- <translation>Dieses Programm wurde mit der Open Source Variante von Qt 4.7 SDK entwickelt </translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="268"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="318"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="349"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="387"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="418"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="588"/>
- <source>WEB site & licence :</source>
- <translatorcomment>is "licence" in this case the right used ? there are only links to the sites ....</translatorcomment>
- <translation>Homepage & Lizenz :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="305"/>
- <source>Video decoding and encoding engines are based on ffmpeg</source>
- <translation>Die Videoverarbeitung basiert auf ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="336"/>
- <source>Image exif decoding is based on Exiv2 - Image metadata library and tools</source>
- <translation>Die EXIF-Bildinformationen werden mittels Exiv2 (Image metadata library and tools) ausgewertet </translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="367"/>
- <source>Other images and graphical material are using Creative Common Licence 2</source>
- <translatorcomment>is "other images" mean, that "all other Images" are under CC ?</translatorcomment>
- <translation>alle anderen Bilder und Graphische Elemente verwenden die Creative Common License 2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="380"/>
- <source>C.C. WEB site :</source>
- <translation>C.C. Homepage :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="405"/>
- <source>Many icons are from the Crystal Project</source>
- <translation>Viele der verwendeten Icons sind vom Crytal Project</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="551"/>
- <source>Image effects are based on fmt_filters</source>
- <translation>Bildeffekte basieren auf fmt_filters </translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="575"/>
- <source>TAG managment based on TAGLib</source>
- <translation>TAG-verwaltung basierend auf TAGLib</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="672"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
-</context>
-<context>
- <name>DlgApplicationSettings</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="32"/>
- <source>Application settings</source>
- <translation>Anwendungseinstellungen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="54"/>
- <source>Application Options</source>
- <translation>Anwendungsoptionen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="96"/>
- <source>If this box is checked, the sizes and the positions of all the windows and dialogue box of ffDiaporama will be saved to be reused the next time which you will use ffDiaporama.</source>
- <translation>Wenn diese Option aktiviert ist, werden die Größen und Positonen der Fenster/Dialoge von ffDiaporama
-gespeichert und beim nächsten Programmeinstieg wiederverwendet.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="99"/>
- <source>Remember Windows size and positions</source>
- <translation>merken der Fenstergröße/-position</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="112"/>
- <source>If this box is checked, the directories that you use for the images, the videos, the projects, the musics and the generations of movie will be saved to be reused the next time which you will use ffDiaporama.</source>
- <translation>Ist diese Option aktiviert, merkt sich ffDiaporama die Ordner für Bilder; Video; Projekte; Musik sowie den Ordner für die generierten
-Filme. Die letzten verwendeten Ordner werden gespeichert und beim nächsten mal wiederverwendet. </translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="115"/>
- <source>Remember last used folders</source>
- <translation>speichern des zuletzt verwendeten Ordners</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="129"/>
- <source>Application options</source>
- <translation>Anwendungseinstellungen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="171"/>
- <source>Enable "raster" Graphics System (Need application restart)</source>
- <translation>aktiviere das "Raster Grafik System" von Qt (braucht einen Neustart der Anwendung) </translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="155"/>
- <source>Video options</source>
- <translation>Videoeinstellungen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="184"/>
- <source>Automatically crop 1920x1088 video to 1920x1080</source>
- <translation>Automatisches Beschneiden eines Videos von 1920x1088 auf 1920x1080</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="521"/>
- <source>Manage Devices</source>
- <translation>Geräte verwalten</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="197"/>
- <source>Show hidden folders and files</source>
- <translation>Verstecke Dateien und Ordner anzeigen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="380"/>
- <source>Display options</source>
- <translation>Anzeigeoptionen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="210"/>
- <source>Display folders first</source>
- <translation>Ordner zuerst anzeigen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="223"/>
- <source>Display only drives mounted in /media/</source>
- <translation>Nur eingebundene Laufwerke in /media anzeigen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="261"/>
- <source>Image :</source>
- <translation>Bild:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="293"/>
- <source>Music :</source>
- <translation>Musik :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="300"/>
- <source>Video :</source>
- <translation>Video :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="341"/>
- <source>Display filename in icon views</source>
- <translation>Anzeige des Dateinamen in Symboldarstellung</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="348"/>
- <source>Thumbnails size for big icons mode :</source>
- <translation>Größe der Vorschaubilder (im Modus große Symbole) :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="415"/>
- <source>Thumbnail rules options</source>
- <translation>Optionen für Vorschaubilder</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="446"/>
- <source>Minimum height for EXIF "Preview Image" :</source>
- <translation>Minimale Höhe für EXIF "Vorschaubild" :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="453"/>
- <source>Define minimum height Preview Image must have to use it</source>
- <translation>Vorschaubild muss die minimale Höhe verwenden</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="457"/>
- <source>No minimum height</source>
- <translation>Keine minimale Höhe</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="462"/>
- <source>Not less than 100</source>
- <translation>Nicht weniger als 100 Bildpunkte</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="467"/>
- <source>Not less than 200</source>
- <translation>Nicht weniger als 200 Bildpunkte</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="510"/>
- <source>Check Configuration</source>
- <translation>Überprüfe Konfiguration</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="545"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Änderungen speichern und Fenster schliessen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="548"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="559"/>
- <source>Cancel modification and exit dialog box</source>
- <translation>Änderungen verwerfen und Fenster schliessen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="562"/>
- <source>&Cancel</source>
- <translation>&Abbrechen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="573"/>
- <source>Open help page describing this dialog box</source>
- <translation>Hilfe zum aktuellen Fenster anzeigen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="576"/>
- <source>&Help</source>
- <translation>&Hilfe</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="583"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
-</context>
-<context>
- <name>DlgCheckConfig</name>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="22"/>
- <source>Check configuration</source>
- <translation>Konfiguration überprüfen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="49"/>
- <source>Check configuration at startup</source>
- <translation>Konfiguration beim Programmstart überprüfen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="69"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Änderungen speichern und Fenster schliessen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="72"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="83"/>
- <source>Open help page describing this dialog box</source>
- <translation>Hilfe für aktuelles Fenster öffnen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="86"/>
- <source>&Help</source>
- <translation>&Hilfe</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="93"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="63"/>
- <source>ffmpeg not found - critical - application will stop !</source>
- <translation>Kritischer Fehler: Das Programm ffmpeg wurde nicht gefunden. Anwendung kann nicht fortgesetzt werden !</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="165"/>
- <source>ffmpeg Audio Codecs</source>
- <translation>ffmpeg Audio Codecs</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <source>available</source>
- <translation>verfügbar</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="60"/>
- <source>Unable to determine ffmpeg version</source>
- <translation></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="103"/>
- <source>LibExiv2 version:</source>
- <translation></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="105"/>
- <source>LibExiv2/Exiv2 binary version</source>
- <translation>LibExiv2/Exiv2 Binäre Version</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <source>not available</source>
- <translation>nicht verfügbar</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <source>LibExiv2 support for preview image</source>
- <translation></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="119"/>
- <source>TAGLib version:</source>
- <translation></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <source>TAGLib support for FLAC</source>
- <translation></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <source>TAGLib support for ASF/WMA</source>
- <translation></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <source>TAGLib support for M4A/MP4</source>
- <translation></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="149"/>
- <source>ffmpeg version:</source>
- <translation></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="150"/>
- <source>LIBAVCODEC version:</source>
- <translation></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="151"/>
- <source>LIBAVFORMAT version:</source>
- <translation></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="152"/>
- <source>LIBSWSCALE version:</source>
- <translation></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <source>ffmpeg support for TAG and CHAPTERS</source>
- <translation></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="169"/>
- <source>ffmpeg Video Codecs</source>
- <translation>ffmpeg Video Codecs</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
- <source>ffmpeg Container Formats</source>
- <translation>ffmpeg Containerformate</translation>
- </message>
-</context>
-<context>
- <name>DlgInfoFile</name>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="25"/>
- <source>File information</source>
- <translation>Dateiinformationen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="93"/>
- <source>File name :</source>
- <translation>Dateiname :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="100"/>
- <source>File type :</source>
- <translation>Dateitype:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="133"/>
- <source>File size :</source>
- <translation>Dateigröße:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="153"/>
- <source>File created :</source>
- <translation>Datei erstellt am:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="167"/>
- <source>File modify :</source>
- <translation>Datei geändert am:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="219"/>
- <source>Video track information</source>
- <translation>Informationen Videospur</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="323"/>
- <source>Chapter information</source>
- <translation>Informationen Kapitel</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="288"/>
- <source>Audio track information</source>
- <translation>Informationen Audiospur</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="379"/>
- <source>Additional information</source>
- <translation>zusätzliche Informationen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="418"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Änderungen speichern und Fenster schliessen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="421"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="432"/>
- <source>Open help page describing this dialog box</source>
- <translation>Hilfe zum aktuellen Fenster anzeigen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="435"/>
- <source>&Help</source>
- <translation>&Hilfe</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="442"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
-</context>
-<context>
- <name>DlgJobSettings</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="20"/>
- <source>Job settings</source>
- <translation>Auftragseinstellungen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="67"/>
- <source>What to do to sources files ?</source>
- <translation>Was soll mit der Quelldatei gemacht werden ?</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="147"/>
- <source>Rename sources files by adding this suffix:</source>
- <translation>Umbenennen der Quelldatei durch hinzufügen der Endung :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="293"/>
- <source>How to name destinations files ?</source>
- <translation>Wie sollen die Zieldateien benannt werden ?</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="117"/>
- <source>Delete sources files</source>
- <translation>Löschen der Quelldatei</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="98"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="120"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="150"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="516"/>
- <source>buttonGroup</source>
- <translation></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="95"/>
- <source>Do nothing</source>
- <translation>Nichts unternehmen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="323"/>
- <source>Add this suffix to file name :</source>
- <translation>Folgende Endung zum Dateinamen anhängen :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="513"/>
- <source>Move sources files to this folder:</source>
- <translation>Verschieben der Quelldatei in Ordner :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="535"/>
- <source>Place destination files In another folder than sources files</source>
- <translation>Plazieren der Zieldateien in einen anderen Ordner als die Quelldateien</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="554"/>
- <source>Overwrite existing destination files</source>
- <translation>Überschreiben der vorhandenen Zieldateien</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="581"/>
- <source>Add size suffix to file name</source>
- <translation>Füge eine Größenendung an den Dateinamen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="641"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Änderungen speichern und Fenster schliessen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="644"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="655"/>
- <source>Cancel modification and exit dialog box</source>
- <translation>Änderungen verwerfen und Fenster schliessen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="658"/>
- <source>&Cancel</source>
- <translation>&Abbrechen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="669"/>
- <source>Open help page describing this dialog box</source>
- <translation>Hilfe zum aktuellen Fenster anzeigen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="672"/>
- <source>&Help</source>
- <translation>&Hilfe</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="679"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
-</context>
-<context>
- <name>DlgManageDevices</name>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="20"/>
- <source>Manage Devices</source>
- <translation>Geräte verwalten</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="34"/>
- <source>Device type :</source>
- <translation>Gerätetyp :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="44"/>
- <source>Select the type of equipment to be shown in the list.</source>
- <translation>Wählen Sie welche Gerätetypen angezeigt werden sollen.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="107"/>
- <source>Subtype</source>
- <translation>Untergruppe</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="118"/>
- <source>Model</source>
- <translation>Modell</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="140"/>
- <source>Create a new equipment which comes to be added in the database.</source>
- <translation>Neues Gerät in die Datenbank eintragen. </translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="143"/>
- <source>Add Device</source>
- <translation>Neues Gerät</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="154"/>
- <source>Delete current equipment.</source>
- <translation>Lösche aktuelles Gerät.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="157"/>
- <source>Remove Device</source>
- <translation>Lösche Gerät</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="168"/>
- <source>Cancel the modifications that you made on an equipment defined in the default ffDiaporama database</source>
- <translation>Verwerfen der Änderungen die am Gerät in der Datenbank von ffDiaporama vorgenommen wurden </translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="171"/>
- <source>Reset Device to Default</source>
- <translation>Zurücksetzen zu den Vorgabewerten des Gerätes</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="184"/>
- <source>Device subtype :</source>
- <translation>Gerätekategorie :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="194"/>
- <source>Select the category in which is classified the equipment.</source>
- <translation>wählen Sie die Kategorie in die das Gerät passt.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="201"/>
- <source>Device model :</source>
- <translation>Gerät :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="211"/>
- <source>File format :</source>
- <translation>Dateiformat :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="221"/>
- <source>Enter here the name of the equipment (free text field).</source>
- <translation>Bezeichnung des Gerätes (freie Texteingabe).</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="234"/>
- <source>Select the file type to use for the rendering.</source>
- <translation>Wählen des Dateitypes für die Umwandlung.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="241"/>
- <source>Video standard :</source>
- <translation>Videostandard :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="256"/>
- <source>Select the video standard to use, PAL or NTSC.</source>
- <translation>Wählen Sie den Videostandard der zu verwenden ist, PAL oder NTSC.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="260"/>
- <source>PAL</source>
- <translation>PAL</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="265"/>
- <source>NTSC</source>
- <translation>NTSC</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="288"/>
- <source>Image format :</source>
- <translation>Bildformat :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="298"/>
- <source>Select the image resolution to use for the rendering.</source>
- <translation>Wählen Sie die Bildauflösung für die Videoerstellung.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="308"/>
- <source>Video codec :</source>
- <translation>Videocodec :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="335"/>
- <source>Select the video codec to use for the rendering.</source>
- <translation>Wählen Sie den Videocodec für die Erstellung.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="348"/>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="413"/>
- <source>Bit rate :</source>
- <translation>Bitrate :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="370"/>
- <source>Select the bit rate to use for video during the rendering.</source>
- <translation>Wählen Sie die Bitrate für die Videoerstellung.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="379"/>
- <source>Audio codec :</source>
- <translation>Audiocodec :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="406"/>
- <source>Select the audio codec to use for the rendering.</source>
- <translation>Wählen Sie den Audiocodec für die Videoerstellung.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="435"/>
- <source>Select the bit rate to use for audio during the rendering.</source>
- <translation>Wählen Sie die Audio-Bitrate für die Videoerstellung. </translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="484"/>
- <source>Apply</source>
- <translation>Speichern</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="495"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Änderungen speichern und Fenster schliessen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="498"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="509"/>
- <source>Cancel modification and exit dialog box</source>
- <translation>Änderungen verwerfen und Fenster schliessen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="512"/>
- <source>&Cancel</source>
- <translation>&Abbrechen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="523"/>
- <source>Open help page describing this dialog box</source>
- <translation>Hilfe zum aktuellen Fenster anzeigen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="526"/>
- <source>&Help</source>
- <translation>&Hilfe</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="533"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="112"/>
- <source>Apply modification</source>
- <translation>Änderungen speichern</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="113"/>
- <source>Do you whant to apply modification for this device?</source>
- <translation>Wollen Sie die Änderungen für das Gerät speichern ?</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="535"/>
- <source><new device></source>
- <translation><neues Gerät></translation>
- </message>
-</context>
-<context>
- <name>DlgRenderVideo</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="658"/>
- <source>Error starting ffmpeg</source>
- <translation>Fehler beim Starten von ffmpeg</translation>
- </message>
-</context>
-<context>
- <name>MainWindow</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="95"/>
- <source>File</source>
- <translation>Datei</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="326"/>
- <source>Change application and project settings</source>
- <translation>Einstellungen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="329"/>
- <source>Settings</source>
- <translation>Einstellungen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="367"/>
- <source>Exit application (Ctrl+W)</source>
- <translation>Programm beenden (Strg+W)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="370"/>
- <source>Exit</source>
- <translation>Beenden</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="383"/>
- <source>Ctrl+W</source>
- <translation>Strg+W</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="122"/>
- <source>Refresh</source>
- <translation>Aktualisieren</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="119"/>
- <source>Refresh tree and folder table</source>
- <translation>Verzeichnis aktualisieren</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="135"/>
- <source>F5</source>
- <translation>F5</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="164"/>
- <source>Open file with default application defined on computer</source>
- <translation>Öffne Datei mit festgelegter Standardanwendung des Computers</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="167"/>
- <source>Open
-File</source>
- <translation>Öffne
-Datei</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="181"/>
- <source>Return</source>
- <translation>Enter</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="203"/>
- <source>Display detailled information on file</source>
- <translation>Details der Datei anzeigen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="206"/>
- <source>Display
-Information</source>
- <translation>Bildschirm
-Informationen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="239"/>
- <source>Remove file from the disk</source>
- <translation>Löschen der Datei von der Festplatte</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="242"/>
- <source>Remove
-File</source>
- <translation>Löschen der Datei</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="256"/>
- <source>Del</source>
- <translation>Entf</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="278"/>
- <source>Open contextual action menu</source>
- <translation>Kontextmenü öffnen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="281"/>
- <source>Action</source>
- <translation>Ablauf</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="418"/>
- <source>Select display mode</source>
- <translation>Anzeigemodus wählen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="421"/>
- <source>Mode</source>
- <translation>Modus</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="453"/>
- <source>Select file filter</source>
- <translation>Dateifilter wählen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="456"/>
- <source>Filter</source>
- <translation>Filter</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="477"/>
- <source>Help</source>
- <translation>Hilfe</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="513"/>
- <source>Display informations about ffDiaporama</source>
- <translation>Programmhinweise über ffDiaporama</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="516"/>
- <source>About</source>
- <translation>Info</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="560"/>
- <source>Call ffDiaporama WIKI</source>
- <translation>Aufruf der ffDiaporama WIKI</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="563"/>
- <source>Support
-and help</source>
- <translation>Support
-und Hilfe</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="577"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="611"/>
- <source>Display blog/news page from internet WEB site</source>
- <translation>Anzeige des Blogs/der News von der Homepage</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="614"/>
- <source>What's new</source>
- <translation>Neuigkeiten</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1021"/>
- <source>Stop current job</source>
- <translation>Aktuellen Auftrag stoppen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1062"/>
- <source>Up job in the list</source>
- <translation>Aufgabe in der Liste hochstufen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1103"/>
- <source>Down job in the list</source>
- <translation>Aufgabe in der Liste runterstufen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="60"/>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="74"/>
- <source>Search Raster mode in configuration file</source>
- <translation>Suche Rastermodus in Konfigurationsdatei</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="274"/>
- <source>All suported file (</source>
- <translation>Unterstützte Dateien (</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="281"/>
- <source>Image file (</source>
- <translation>Bilddateien (</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="287"/>
- <source>Video file (</source>
- <translation>Videodateien (</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="293"/>
- <source>Music file (</source>
- <translation>Musikdateien (</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="460"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="387"/>
- <source>Read configuration file</source>
- <translation>lesen Konfigurationsdatei</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="462"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="397"/>
- <source>Error reading configuration file</source>
- <comment>Error message</comment>
- <translation>Fehler beim lesen der Konfigurationsdatei</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="467"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="402"/>
- <source>Error reading content of configuration file</source>
- <comment>Error message</comment>
- <translation>Fehler beim lesen des Inhaltes der Konfigurationsdatei</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="474"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="409"/>
- <source>The file is not a valid configuration file</source>
- <comment>Error message</comment>
- <translation>Diese Datei ist keine gültige Konfigurationsdatei </translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="641"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="456"/>
- <source>Error creating configuration file</source>
- <comment>Error message</comment>
- <translation>Fehler beim erstellen der Konfigurationsdatei</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="98"/>
- <source>Loading cached filtered file :</source>
- <translation>Laden der gepufferten Filterdatei :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="109"/>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="137"/>
- <source>Rescal image to 8MPix</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="117"/>
- <source>Error allocating memory for cached filtered file</source>
- <translation>Speicher konnte für gepufferte Filterdatei nicht angefordert werden</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="119"/>
- <source>Error loading cached filtered file :</source>
- <translation>Fehler beim Laden der gepufferten Filterdatei :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="126"/>
- <source>Loading file :</source>
- <translation>Laden der Datei :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="145"/>
- <source>Error allocating memory for render image</source>
- <translation>Speicher für umgewandelte Bilder konnte nicht angefordert werden</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="147"/>
- <source>Error loading file :</source>
- <translation>Fehler beim Laden der Datei :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="382"/>
- <source>files</source>
- <translation>Dateien</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="383"/>
- <source>folders</source>
- <translation>Ordner</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="384"/>
- <source>Total size:</source>
- <translation>Summe Größe:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="385"/>
- <source>Total duration:</source>
- <translation>Summe Spielzeit:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="451"/>
- <source>Configuration not correct!</source>
- <translation>Konfiguration ist nicht korrekt!</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="521"/>
- <source>Details view</source>
- <translation>Detailansicht</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="522"/>
- <source>Short summary view</source>
- <translation>Kurze Gesamtansicht</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="523"/>
- <source>Long summary view</source>
- <translation>Lange Gesamtansicht</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="524"/>
- <source>Small icon view</source>
- <translation>kleines Symbol</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="525"/>
- <source>Medium icon view</source>
- <translation>mittleres Symbol</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="526"/>
- <source>Images wall view</source>
- <translation>Wandanzeige Bilder</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="553"/>
- <source>All files</source>
- <translation>Alle Dateien</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="554"/>
- <source>Managed files</source>
- <translation>unterstützte Dateien</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="555"/>
- <source>Image files</source>
- <translation>Bilddateien</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="556"/>
- <source>Video files</source>
- <translation>Videodateien</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="557"/>
- <source>Music files</source>
- <translation>Musikdateien</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="558"/>
- <source>ffDiaporama project files</source>
- <translation>ffDiaporama Projektdateien</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="623"/>
- <source>Are you sure to remove theses files ?</source>
- <translation>Sind Sie sicher die Datei(en) löschen zu wohlen ?</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="626"/>
- <source>Successfuly remove file (%1)</source>
- <translation>Datei %1 erfolgreich gelöscht</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="628"/>
- <source>Failed to remove file (%1)</source>
- <translation>Fehler beim Löschen der Datei %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="647"/>
- <source>Are you sure to remove this folder ?</source>
- <translation>Sind Sie sicher den Ordner löschen zu wollen ?</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="670"/>
- <source>Impossible to remove file %1 - error %2:%3</source>
- <translation>Fehler beim Lösche nder Datei %1 - Fehler %2:%3</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="675"/>
- <source>Impossible to remove folder %1 - error %2:%3</source>
- <translation>Fehler beim Löschen des Ordners %1 - Fehler %2:%3</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="679"/>
- <source>Successfully remove folder (and all is content) %1</source>
- <translation>Löschen von Ordner %1 (inkl. aller Dateien) erforlgreich</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="73"/>
- <source>Applying Despeckle filter</source>
- <translation>Anwenden Despeckle Filter</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="77"/>
- <source>Applying Equalize filter</source>
- <translation>Anwenden Equalize Filter</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="81"/>
- <source>Applying Gray filter</source>
- <translation>Anwenden Gray Filter</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="85"/>
- <source>Applying blur filter</source>
- <translation>Anwenden Unschärfe Filter</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="89"/>
- <source>Applying sharpen filter</source>
- <translation>Anwenden Schärfefilter</translation>
- </message>
-</context>
-<context>
- <name>QCustomFolderTable</name>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="364"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="384"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="428"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="615"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="643"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="654"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="662"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="689"/>
- <source>File</source>
- <comment>Column header</comment>
- <translation>Datei</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="367"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="385"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="429"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="616"/>
- <source>File Type</source>
- <comment>Column header</comment>
- <translation>Dateitype</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="386"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="430"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="617"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="644"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="655"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="663"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="690"/>
- <source>File Size</source>
- <comment>Column header</comment>
- <translation>Dateigröße</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="387"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="431"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="618"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="645"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="656"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="664"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="691"/>
- <source>File Date</source>
- <comment>Column header</comment>
- <translation>Dateidatum</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="388"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="432"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="619"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="646"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="665"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="692"/>
- <source>Duration</source>
- <comment>Column header</comment>
- <translation>Spieldauer</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="409"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="435"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="620"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="666"/>
- <source>Chapters</source>
- <comment>Column header</comment>
- <translation>Kapitel</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="389"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="433"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="621"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="657"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="667"/>
- <source>Image Size</source>
- <comment>Column header</comment>
- <translation>Bildgröße</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="390"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="434"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="622"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="658"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="668"/>
- <source>Image Format</source>
- <comment>Column header</comment>
- <translation>Bildformat </translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="391"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="436"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="623"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="659"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="669"/>
- <source>Image Geometry</source>
- <comment>Column header</comment>
- <translation>Bildgeometrie</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="392"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="437"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="624"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="670"/>
- <source>Video Codec</source>
- <comment>Column header</comment>
- <translation>Videocodec</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="393"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="438"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="625"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="671"/>
- <source>Frame Rate</source>
- <comment>Column header</comment>
- <translation>Bildrate</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="394"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="439"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="626"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="672"/>
- <source>Video Bitrate</source>
- <comment>Column header</comment>
- <translation>Video Bitrate</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="395"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="440"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="627"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="673"/>
- <source>Audio Language</source>
- <comment>Column header</comment>
- <translation>Audio Sprache</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="396"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="441"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="628"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="674"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="693"/>
- <source>Audio Codec</source>
- <comment>Column header</comment>
- <translation>Audiocodec</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="397"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="442"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="629"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="675"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="694"/>
- <source>Audio Channels</source>
- <comment>Column header</comment>
- <translation>Audio Kanäle</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="398"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="443"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="630"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="676"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="695"/>
- <source>Audio Bitrate</source>
- <comment>Column header</comment>
- <translation>Audio Bitrate</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="399"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="444"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="631"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="677"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="696"/>
- <source>Audio Frequency</source>
- <comment>Column header</comment>
- <translation>Audio Frequenz</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="400"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="445"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="632"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="647"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="678"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="697"/>
- <source>Title</source>
- <comment>Column header</comment>
- <translation>Titel</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="401"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="446"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="633"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="679"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="698"/>
- <source>Artist</source>
- <comment>Column header</comment>
- <translation>Künstler</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="402"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="447"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="634"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="649"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="680"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="699"/>
- <source>Album</source>
- <comment>Column header</comment>
- <translation>Album</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="403"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="448"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="635"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="650"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="681"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="700"/>
- <source>Year</source>
- <comment>Column header</comment>
- <translation>Jahr</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="404"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="449"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="636"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="682"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="701"/>
- <source>Track</source>
- <comment>Column header</comment>
- <translation>Spur</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="405"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="450"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="637"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="683"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="702"/>
- <source>Genre</source>
- <comment>Column header</comment>
- <translation>Genre</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="406"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="451"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="638"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="684"/>
- <source>Comment</source>
- <comment>Column header</comment>
- <translation>Kommentar</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="407"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="452"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="639"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="651"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="685"/>
- <source>Composer</source>
- <comment>Column header</comment>
- <translation>Verfasser</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="408"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="453"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="640"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="686"/>
- <source>Encoder</source>
- <comment>Column header</comment>
- <translation>Encoder</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="648"/>
- <source>Author</source>
- <comment>Column header</comment>
- <translation>Autor</translation>
- </message>
-</context>
-<context>
- <name>QCustomFolderTree</name>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="99"/>
- <source>Kb</source>
- <comment>Unit Kb</comment>
- <translation>Kb</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
- <source>Mb</source>
- <comment>Unit Mb</comment>
- <translation>Mb</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
- <source>Gb</source>
- <comment>Unit Gb</comment>
- <translation>Gb</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
- <source>Tb</source>
- <comment>Unit Tb</comment>
- <translation>Tb</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="159"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="202"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="334"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="336"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="337"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="443"/>
- <location filename="../src/sharedfiles/QCustomGetFolder.cpp" line="70"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="58"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="93"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="347"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="352"/>
- <source>Personal folder</source>
- <translation>Persönlicher Ordner</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="86"/>
- <source>Refresh all</source>
- <translation>Alles Aktualisieren</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="87"/>
- <source>Refresh from here</source>
- <translation>Ab hier Aktualisieren</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="88"/>
- <source>Create new subfolder</source>
- <translation>Neuen Unterordner erzeugen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="89"/>
- <source>Remove folder</source>
- <translation>Ordner löschen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="107"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="115"/>
- <source>Create folder</source>
- <translation>Ordner erzeugen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="107"/>
- <source>Folder:</source>
- <translation>Ordner :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="114"/>
- <source>Error %1:</source>
- <translation>Fehler %1 :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="116"/>
- <source>Impossible to create folder !</source>
- <translation>Ordner kann nicht erzeugt werden !</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="348"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="353"/>
- <source>System files</source>
- <translation>Systemdateien</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="94"/>
- <source>Empty drive...</source>
- <translation>Leeres Laufwerk...</translation>
- </message>
-</context>
-<context>
- <name>QCustomGetFolder</name>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="20"/>
- <source>Select a folder</source>
- <translation>Ordner auswählen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="98"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Änderungen speichern und Fenster schliessen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="101"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="112"/>
- <source>Cancel modification and exit dialog box</source>
- <translation>Änderungen verwerfen und Fenster schliessen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="115"/>
- <source>&Cancel</source>
- <translation>&Abbrechen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="126"/>
- <source>Open help page describing this dialog box</source>
- <translation>Hilfe zum aktuellen Fenster anzeigen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="129"/>
- <source>&Help</source>
- <translation>&Hilfe</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="136"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
-</context>
-<context>
- <name>QCustomJobTable</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="59"/>
- <source>Date/Time</source>
- <translation>Datum/Zeit</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="60"/>
- <source>Status</source>
- <translation>Status</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="61"/>
- <source>Progress</source>
- <translation>Fortschritt</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="62"/>
- <source>Job Type</source>
- <translation>Auftragstype</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="63"/>
- <source>Current action</source>
- <translation>aktuelle Vorgang</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="248"/>
- <source>Waiting</source>
- <translation>wartend</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="249"/>
- <source>Started</source>
- <translation>gestartet</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="250"/>
- <source>Paused</source>
- <translation>pausiert</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="251"/>
- <source>Canceled</source>
- <translation>abgebrochen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="252"/>
- <source>Succeeded</source>
- <translation>erfolgreich</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="253"/>
- <source>Ended with error</source>
- <translation>mit Fehler beendet</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="255"/>
- <source>Not defined</source>
- <translation>nicht definiert</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="256"/>
- <source>Open</source>
- <translation>Öffnen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="257"/>
- <source>Display information</source>
- <translation>Bildschirm Informationen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="258"/>
- <source>Remove</source>
- <translation>Entfernen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="259"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="260"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="261"/>
- <source>Convert</source>
- <translation>Umwandeln</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="298"/>
- <source>overwrite destination file as needed</source>
- <translation>Überschreiben Zieldatei wenn notwendig</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="299"/>
- <source>and remove %1</source>
- <translation>und %1 entfernen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="300"/>
- <source>and rename %1 to %2</source>
- <translation>und %1 auf %2 umbenennen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="301"/>
- <source>and move %1 to %2</source>
- <translation>und %1 nach %2 verschieben</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="151"/>
- <source>and rescal image to %1</source>
- <translation>und Bildanpassung zu %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="132"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="153"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="157"/>
- <source>and rotate image</source>
- <translation>und drehe Bild</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="133"/>
- <source>but don't rotate image</source>
- <translation>aber drehe nicht das Bild</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="159"/>
- <source>new image size will become %1x%2</source>
- <translation>neue Auflösung der Bilddatei ist %1x%2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="164"/>
- <source>and set codec to %1</source>
- <translation>und setze den Codec auf %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="131"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="165"/>
- <source>and set audio compression to %1</source>
- <translation>und setze die Audiokompression auf %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="132"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="166"/>
- <source>and force audio frequency to %1</source>
- <translation>und erzwinge die Audiofrequenz auf %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="133"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="167"/>
- <source>and force to mono</source>
- <translation>und erzwinge Mono</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="133"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="167"/>
- <source>and force to stereo</source>
- <translation>und erzwinge Stereo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="106"/>
- <source>and resize to %1x%2</source>
- <translation>und Vergrössere auf %1x%2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="113"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="117"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="121"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="124"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="129"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="139"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="149"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="152"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="155"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="158"/>
- <source>and set video codec to %1</source>
- <translation>und setze den Videocodec auf %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="114"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="140"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="153"/>
- <source>and set video compression to %1 with + and - 10%</source>
- <translation>und setze die Videokompression auf %1 (+/- 10%)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="118"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="122"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="125"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="156"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="159"/>
- <source>and set video compression to %1</source>
- <translation>und setze die Videokompression auf %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="131"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="141"/>
- <source>and set video preset %1</source>
- <translation>und setze den Videopreset %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="150"/>
- <source>and set video quality to 2</source>
- <translation>und setze die Videoqualität auf 2</translation>
- </message>
-</context>
-<context>
- <name>cBaseMediaFile</name>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="391"/>
- <source>Impossible to open file </source>
- <translation>Öffnen der Datei nicht möglich </translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="391"/>
- <source>Do you want to select another file ?</source>
- <translation>Möchten Sie eine andere Datei auswählen ?</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="395"/>
- <source>Select another file for </source>
- <translation>Andere Datei wählen für</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="407"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="559"/>
- <source>Impossible to open file %1</source>
- <translation>Öffnen der Datei %1 nicht möglich</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="494"/>
- <source>MPix</source>
- <translation>MPix</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="578"/>
- <source>Unmanaged</source>
- <comment>File type</comment>
- <translation>Unverwaltet</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="902"/>
- <source>Slides</source>
- <translation>Dias</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="903"/>
- <source>Chapters</source>
- <translation>Kapitel</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="959"/>
- <source>Image</source>
- <comment>File type</comment>
- <translation>Bild</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="960"/>
- <source>Thumbnail</source>
- <comment>File type</comment>
- <translation>Voransicht</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="986"/>
- <source>Image don't have EXIF metadata %1</source>
- <translation>Bild hat keine EXIF Metadaten %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1080"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1124"/>
- <source>Impossible to start exiv2 - no exif informations will be decode for %1</source>
- <translation>Exiv2 kann nicht gestartet werden - es werden keine Exif Informationen für %1 dekodiert</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1085"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1129"/>
- <source>Error during exiv2 process - no exif informations will be decode for %1</source>
- <translation>Fehler während Exiv2 Ausführung - es werden keine Exif Informationen für %1 dekodiert</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1089"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1133"/>
- <source>exiv2 return error %1 - no exif informations will be decode for %2</source>
- <translation>Exiv2 meldet Fehler %1 - es werden keine Exif Informationen für %2 dekodiert</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1628"/>
- <source>Video</source>
- <comment>File type</comment>
- <translation>Video</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1627"/>
- <source>Music</source>
- <comment>File type</comment>
- <translation>Musik</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1472"/>
- <source>Mono</source>
- <comment>Audio channels mode</comment>
- <translation>Mono</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="390"/>
- <source>Open file</source>
- <translation>Datei Öffnen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="84"/>
- <source>Error overwritting %1</source>
- <translation>Fehler beim überschreiben von %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="867"/>
- <source>Slide number</source>
- <translation>Dianummer</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="932"/>
- <source>ffDiaporama</source>
- <comment>File type</comment>
- <translation>ffDiaporama</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1473"/>
- <source>Stereo</source>
- <comment>Audio channels mode</comment>
- <translation>Stereo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="706"/>
- <source>Folder</source>
- <comment>File type</comment>
- <translation>Ordner</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="582"/>
- <source>Impossible to start exiv2 - no exif informations will be set for %1</source>
- <translation>Fehler beim Start von exiv2 - Es werden keine exif-Informationen gesetzt für %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="587"/>
- <source>Error during exiv2 process - no exif informations will be set for %1</source>
- <translation>Fehler im exiv2-Vorgang - Es werden keine exif-Informationen für %1 gesetzt</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="591"/>
- <source>exiv2 return error %1 - no exif informations will be set for %2</source>
- <translation>exiv2 meldet den Fehler %1 - es werden keine exif-Informationen gesetzt für %2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="597"/>
- <source>Successfully add minimal exif values to %1</source>
- <translation>Erfolgreich die minimalen exif-Werte gesetzt für %1</translation>
- </message>
-</context>
-<context>
- <name>cDeviceModelList</name>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="504"/>
- <source>Advanced</source>
- <comment>Device database type</comment>
- <translation>Erweitert</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
- <source>Smartphone</source>
- <comment>Device database type</comment>
- <translation>Smartphone</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
- <source>Multimedia system</source>
- <comment>Device database type</comment>
- <translation>Multimediasystem</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
- <source>For the WEB</source>
- <comment>Device database type</comment>
- <translation>Für das Web</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
- <source>Lossless</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
- <source>Portable Player</source>
- <comment>Device database type</comment>
- <translation>Portable Player</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
- <source>Netbook/NetPC</source>
- <comment>Device database type</comment>
- <translation>Netbook/NetPC</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
- <source>Handheld game console</source>
- <comment>Device database type</comment>
- <translation>Handheld Spielkonsole</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
- <source>Tablet computer</source>
- <comment>Device database type</comment>
- <translation>Tablet Computer</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
- <source>Multimedia hard drive and gateway</source>
- <comment>Device database type</comment>
- <translation>Multimediaharddisk</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
- <source>Player</source>
- <comment>Device database type</comment>
- <translation>Player</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
- <source>ADSL Box</source>
- <comment>Device database type</comment>
- <translation>ADSL Box</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
- <source>Game console</source>
- <comment>Device database type</comment>
- <translation>Spielkonsole</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
- <source>SWF Flash Player</source>
- <comment>Device database type</comment>
- <translation>SWF Flash Player</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
- <source>Video-sharing and social WebSite</source>
- <comment>Device database type</comment>
- <translation>Videosharing und soziale Plattformen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
- <source>HTML 5</source>
- <comment>Device database type</comment>
- <translation>HTML 5</translation>
- </message>
-</context>
-<context>
- <name>cJobQueue</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="400"/>
- <source>Applying source transformation : Sorry no yet developped !</source>
- <translation>Anwenden Quellumwandlung : Verzeihen Sie bitte - die Funktion ist noch nicht fertig entwickelt !</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="416"/>
- <source>Failed to remove existing destination file (%1)</source>
- <translation>Fehler beim Löschen der vorhandenen Zieldatei (%1)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="418"/>
- <source>Successfully remove existing destination file (%1)</source>
- <translation>Erfolgreich die vorhandene Zieldatei (%1) gelöscht</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="430"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="624"/>
- <source>Jobtype error</source>
- <translation>Fehler bei Aufgabentyp</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="451"/>
- <source>Start image conversion of %1 to %2</source>
- <translation>Starte Bildberechnung von %1 zu %2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="454"/>
- <source>Open file</source>
- <translation>Datei öffnen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="457"/>
- <source>Successfully open file %1</source>
- <translation>Datei %1 erfolgreich geöffnet</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="460"/>
- <source>Rescal image</source>
- <translation>Skaliere Bild</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="482"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="510"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="551"/>
- <source>Failed to rotate image</source>
- <translation>Fehler beim drehen des Bildes</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="483"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="511"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="552"/>
- <source>Succesfully rotate image</source>
- <translation>Bild erfolgreich gedreht</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="536"/>
- <source>Failed to rescal image %1 to %2x%3</source>
- <translation>Fehler beim Skalieren von Bild %1 auf %2x%3</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="537"/>
- <source>Succesfully rescal image %1 to %2x%3</source>
- <translation>Erfolgreich das Bild %1 auf %2x%3 skaliert</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="557"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="642"/>
- <source>Apply destination overwriting strategy</source>
- <translation>Zieldateien werden überschrieben</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="561"/>
- <source>Save image file</source>
- <translation>Speichere Bilddatei</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="572"/>
- <source>Add minimal exif value to image file</source>
- <translation>Füge minimale exif-Werte zum Bild hinzu</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="599"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="695"/>
- <source>Apply source file strategy</source>
- <translation>Quelldateien werden verwendet</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="612"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="706"/>
- <source>Job finished</source>
- <translation>Auftrag abgeschlossen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="639"/>
- <source>Start audio conversion of %1 to %2</source>
- <translation>Starte Audioumwandlung von %1 nach %2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="644"/>
- <source>Error : for sound conversion, source and destination must be different !</source>
- <translation>Fehler: Für die Audioumwandlung muss Quell- und Zieldatei unterschiedlich sein !</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="653"/>
- <source>Process ffmpeg job</source>
- <translation>Verarbeite ffmpeg Auftrag</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="688"/>
- <source>Error : ffmpeg job can't start : %1</source>
- <translation>Fehler: ffmpeg Auftrag kann nicht starten : %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="689"/>
- <source>Error : ffmpeg return error %1</source>
- <translation>Fehler: ffmpeg meldet den Fehler %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="691"/>
- <source>Succesfully process ffmpeg job</source>
- <translation>Verarbeitung des ffmpeg Auftrages erfolgreich</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="456"/>
- <source>Failed to open file %1</source>
- <translation>Fehler beim öffnen der Datei %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="563"/>
- <source>Failed to write destination file %1</source>
- <translation>Fehler beim schrieben der Zieldatei %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="565"/>
- <source>Successfully writing destination file %1</source>
- <translation>Schreiben der Zieldatei %1 erfolgreich</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="411"/>
- <source>Destination file (%1) already exist</source>
- <translation>Zieldatei (%1) existiert schon</translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertAudio</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="39"/>
- <source>Convert audio</source>
- <translation>Umwandlung Audio</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="46"/>
- <source>Format :</source>
- <translation>Format :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="68"/>
- <source>Select the audio codec to use for the rendering.</source>
- <translation>Wählen Sie den Audiocodec für die Videoerstellung.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="75"/>
- <source>Bit rate :</source>
- <translation>Bitrate :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="97"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="158"/>
- <source>Select the bit rate to use for audio during the rendering.</source>
- <translation>Wählen Sie die Audio-Bitrate für die Videoerstellung. </translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="104"/>
- <source>Force to mono</source>
- <translation>Erzwinge Mono</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="111"/>
- <source>Force to stereo</source>
- <translation>Erzwinge Stereo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="139"/>
- <source>Change frequency to :</source>
- <translation>ändere Frequenz auf :</translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertImage</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="48"/>
- <source>Convert image</source>
- <translation>Bild umwandeln</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="79"/>
- <source>Quality :</source>
- <translation>Qualität :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="93"/>
- <source>QVGA (240 rows)</source>
- <translation>QVGA (240 Zeilen)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="98"/>
- <source>HVGA (320 rows)</source>
- <translation>HVGA (320 Zeilen)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="103"/>
- <source>VGA/WVGA (480 rows)</source>
- <translation>VGA/WVGA (480 Zeilen)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="108"/>
- <source>SD/DVD (576 rows)</source>
- <translation>SD/DVD (576 Zeilen)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="113"/>
- <source>720p (720 rows)</source>
- <translation>720p (720 Zeilen)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="118"/>
- <source>XGA (768 rows)</source>
- <translation>XGA (768 Zeilen)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="123"/>
- <source>1080p (1080 rows)</source>
- <translation>1080p (1080 Zeilen)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="156"/>
- <source>Resize :</source>
- <translation>Größenänderung :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="169"/>
- <source>But not upscale image</source>
- <translation>nicht bei vergrößerten Bildern</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="250"/>
- <source>Format :</source>
- <translation>Format :</translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertVideo</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="33"/>
- <source>Convert video</source>
- <translation>Umwandeln Video</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="40"/>
- <source>Device type :</source>
- <translation>Gerätetyp :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="50"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="91"/>
- <source>Select the type of equipment.</source>
- <translation>Wählen sie den Gerätetype.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="57"/>
- <source>Device model :</source>
- <translation>Gerät :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="67"/>
- <source>Select the model of equipment</source>
- <translation>wählen Sie das Model</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="74"/>
- <source>Include sound in the video</source>
- <translation>inkludiere Sound in das erzeugte Video</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="81"/>
- <source>Device :</source>
- <translation>Gerät :</translation>
- </message>
-</context>
-</TS>
diff --git a/locale/ffDiaporamaMMFiler_el.qm b/locale/ffDiaporamaMMFiler_el.qm
deleted file mode 100755
index 154879d..0000000
Binary files a/locale/ffDiaporamaMMFiler_el.qm and /dev/null differ
diff --git a/locale/ffDiaporamaMMFiler_el.ts b/locale/ffDiaporamaMMFiler_el.ts
deleted file mode 100755
index 3f9868b..0000000
--- a/locale/ffDiaporamaMMFiler_el.ts
+++ /dev/null
@@ -1,2382 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.0" language="el">
-<context>
- <name>DlgAbout</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="26"/>
- <source>About</source>
- <translation>Σχετικά</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="93"/>
- <source>Licence</source>
- <translation>Άδεια χρήσης</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="105"/>
- <source>Copyright (C) 2011-2012 Dominique Levray</source>
- <translation>Πνευματικά δικαιώματα (C) 2011-2012 Dominique Levray</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="112"/>
- <source>This software is licensed under the GPL version 2 :</source>
- <translation>Αυτό το πρόγραμμα υπόκειται στην άδεια GPL έκδοση 2:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="214"/>
- <source>Credits</source>
- <translation>Ευχαριστίες</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="258"/>
- <source>This application was developped using Open Source version of Qt 4.7 SDK</source>
- <translation>Αυτό το πρόγραμμα αναπτύχθηκε χρησιμοποιώντας την έκδοση ανοιχτού λογισμικού της Qt 4.7 SDK</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="268"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="318"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="349"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="387"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="418"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="588"/>
- <source>WEB site & licence :</source>
- <translation>Ιστοσελίδα & άδεια χρήσης:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="305"/>
- <source>Video decoding and encoding engines are based on ffmpeg</source>
- <translation>Οι μηχανές κωδικοποίησης και αποκωδικοποίησης είναι βασισμένες στο ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="336"/>
- <source>Image exif decoding is based on Exiv2 - Image metadata library and tools</source>
- <translation>Η αποκωδικοποίηση exif των εικόνων είναι βασισμένη στο Exiv2 - Εργαλεία και βιβλιοθήκη μεταδεδομένων εικόνων</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="367"/>
- <source>Other images and graphical material are using Creative Common Licence 2</source>
- <translation>Άλλες εικόνες και γραφικό υλικό χρησιμοποιούν την άδεια χρήσης Creative Common Licence 2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="380"/>
- <source>C.C. WEB site :</source>
- <translation>Ιστοσελίδα C.C.:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="405"/>
- <source>Many icons are from the Crystal Project</source>
- <translation>Πολλά εικονίδια προέρχονται από το Crystal Project</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="551"/>
- <source>Image effects are based on fmt_filters</source>
- <translation>Τα εφέ των εικόνων είναι βασισμένα στο fmt_filters</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="575"/>
- <source>TAG managment based on TAGLib</source>
- <translation>Διαχείριση TAG βασισμένη στο TAGlib</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="672"/>
- <source>&Ok</source>
- <translation>&Εντάξει</translation>
- </message>
-</context>
-<context>
- <name>DlgApplicationSettings</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="32"/>
- <source>Application settings</source>
- <translation>Ρυθμίσεις εφαρμογής</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="54"/>
- <source>Application Options</source>
- <translation>Επιλογές εφαρμογής</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="96"/>
- <source>If this box is checked, the sizes and the positions of all the windows and dialogue box of ffDiaporama will be saved to be reused the next time which you will use ffDiaporama.</source>
- <translation>Αν επιλέξετε αυτό το πλαίσιο, τα μεγέθη και οι θέσεις όλων των παραθύρων και διαλόγων του ffDiaporama θα αποθηκεύονται και θα χρησιμοποιούνται την επόμενη φορά που θα χρησιμοποιήσετε το ffDiaporama.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="99"/>
- <source>Remember Windows size and positions</source>
- <translation>Απομνημόνευση της θέσης και του μεγέθους των παραθύρων</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="112"/>
- <source>If this box is checked, the directories that you use for the images, the videos, the projects, the musics and the generations of movie will be saved to be reused the next time which you will use ffDiaporama.</source>
- <translation>Αν επιλέξετε αυτό το πλαίσιο, οι κατάλογοι που χρησιμοποιείτε για τις εικόνες, τα βίντεο, τα έργα, την μουσική, και τις δημιουργίες των έργων θα αποθηκεύονται για να επαναχρησιμοποιηθούν την επόμενη φορά που θα χρησιμοποιήσετε το ffDiaporama.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="115"/>
- <source>Remember last used folders</source>
- <translation>Απομνημόνευση των τελευταία χρησιμοποιημένων φακέλων</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="129"/>
- <source>Application options</source>
- <translation>Επιλογές εφαρμογής</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="171"/>
- <source>Enable "raster" Graphics System (Need application restart)</source>
- <translation>Ενεργοποίηση του γραφικού συστήματος «raster» (Απαιτείται επανεκκίνηση της εφαρμογής)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="155"/>
- <source>Video options</source>
- <translation>Επιλογές βίντεο</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="184"/>
- <source>Automatically crop 1920x1088 video to 1920x1080</source>
- <translation>Αυτόματη περικοπή βίντεο 1920x1088 σε 1920x1080</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="521"/>
- <source>Manage Devices</source>
- <translation>Διαχείριση συσκευών</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="197"/>
- <source>Show hidden folders and files</source>
- <translation>Εμφάνιση των κρυφών φακέλων και αρχείων</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="380"/>
- <source>Display options</source>
- <translation>Επιλογές προβολής</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="210"/>
- <source>Display folders first</source>
- <translation>Προβολή λίστας φακέλων</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="223"/>
- <source>Display only drives mounted in /media/</source>
- <translation>Προβολή των δίσκων προσαρτημένων στο /media/</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="261"/>
- <source>Image :</source>
- <translation>Εικόνα:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="293"/>
- <source>Music :</source>
- <translation>Μουσική:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="300"/>
- <source>Video :</source>
- <translation>Βίντεο:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="341"/>
- <source>Display filename in icon views</source>
- <translation>Εμφάνιση του ονόματος αρχείου στην προβολή εικονιδίων</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="348"/>
- <source>Thumbnails size for big icons mode :</source>
- <translation>Μέγεθος εικόνων επισκόπησης στη λειτουργία μεγάλων εικονιδίων:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="415"/>
- <source>Thumbnail rules options</source>
- <translation>Επιλογές κανόνων εικόνας επισκόπησης</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="446"/>
- <source>Minimum height for EXIF "Preview Image" :</source>
- <translation>Ελάχιστο ύψος για EXIF «Προεπισκόπηση εικόνας»:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="453"/>
- <source>Define minimum height Preview Image must have to use it</source>
- <translation>Καθορισμός του ελάχιστου ύψους της εικόνας προεπισκόπησης που πρέπει να έχει για να χρησιμοποιηθεί</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="457"/>
- <source>No minimum height</source>
- <translation></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="462"/>
- <source>Not less than 100</source>
- <translation>Όχι λιγότερο από 100</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="467"/>
- <source>Not less than 200</source>
- <translation>Όχι λιγότερο από 200</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="510"/>
- <source>Check Configuration</source>
- <translation>Έλεγχος της διαμόρφωσης</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="545"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Αποδοχή των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="548"/>
- <source>&Ok</source>
- <translation>&Εντάξει</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="559"/>
- <source>Cancel modification and exit dialog box</source>
- <translation>Ακύρωση των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="562"/>
- <source>&Cancel</source>
- <translation>&Ακύρωση</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="573"/>
- <source>Open help page describing this dialog box</source>
- <translation>Άνοιγμα της σελίδας βοήθειας σχετικά με αυτό το πλαίσιο διαλόγου</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="576"/>
- <source>&Help</source>
- <translation>&Βοήθεια</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="583"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
-</context>
-<context>
- <name>DlgCheckConfig</name>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="22"/>
- <source>Check configuration</source>
- <translation>Έλεγχος της διαμόρφωσης</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="49"/>
- <source>Check configuration at startup</source>
- <translation>Έλεγχος της διαμόρφωσης στην εκκίνηση</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="69"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Αποδοχή των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="72"/>
- <source>&Ok</source>
- <translation>&Εντάξει</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="83"/>
- <source>Open help page describing this dialog box</source>
- <translation>Άνοιγμα της σελίδας βοήθειας σχετικά με αυτό το πλαίσιο διαλόγου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="86"/>
- <source>&Help</source>
- <translation>&Βοήθεια</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="93"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="63"/>
- <source>ffmpeg not found - critical - application will stop !</source>
- <translation>Το ffmpeg δεν βρέθηκε - κρίσιμο - η εφαρμογή θα τερμαστιστεί!</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="165"/>
- <source>ffmpeg Audio Codecs</source>
- <translation>Κωδικοποιητές ήχου ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <source>available</source>
- <translation>διαθέσιμο</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="60"/>
- <source>Unable to determine ffmpeg version</source>
- <translation>Αδύνατος ο εντοπισμός της έκδοσης ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="103"/>
- <source>LibExiv2 version:</source>
- <translation>Έκδοση LibExiv2:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="105"/>
- <source>LibExiv2/Exiv2 binary version</source>
- <translation>LibExiv2/Exiv2 εκτελέσιμη έκδοση</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <source>not available</source>
- <translation>δεν είναι διαθέσιμο</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <source>LibExiv2 support for preview image</source>
- <translation>Υποστήριξη LibExiv2 για εικόνες προεπισκόπησης</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="119"/>
- <source>TAGLib version:</source>
- <translation>Έκδοση TAGLib:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <source>TAGLib support for FLAC</source>
- <translation>Υποστήριξη TAGLib για FLAC</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <source>TAGLib support for ASF/WMA</source>
- <translation>Υποστήριξη TAGLib για ASF/WMA</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <source>TAGLib support for M4A/MP4</source>
- <translation>Υποστήριξη TAGLib για M4A/MP4</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="149"/>
- <source>ffmpeg version:</source>
- <translation>Έκδοση ffmpeg:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="150"/>
- <source>LIBAVCODEC version:</source>
- <translation>Έκδοση LIBAVCODEC:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="151"/>
- <source>LIBAVFORMAT version:</source>
- <translation>Έκδοση LIBAVFORMAT:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="152"/>
- <source>LIBSWSCALE version:</source>
- <translation>Έκδοση LIBSWSCALE:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <source>ffmpeg support for TAG and CHAPTERS</source>
- <translation>Υποστήριξη ffmpeg για TAG και CHAPTERS</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="169"/>
- <source>ffmpeg Video Codecs</source>
- <translation>Κωδικοποιητές βίντεο ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
- <source>ffmpeg Container Formats</source>
- <translation>Μορφές του αρχείου ffmpeg</translation>
- </message>
-</context>
-<context>
- <name>DlgInfoFile</name>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="25"/>
- <source>File information</source>
- <translation>Πληροφορίες αρχείου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="93"/>
- <source>File name :</source>
- <translation>Όνομα αρχείου:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="100"/>
- <source>File type :</source>
- <translation>Τύπος αρχείου:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="133"/>
- <source>File size :</source>
- <translation>Μέγεθος αρχείου:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="153"/>
- <source>File created :</source>
- <translation>Δημιουργία αρχείου:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="167"/>
- <source>File modify :</source>
- <translation>Τροποποίηση αρχείου:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="219"/>
- <source>Video track information</source>
- <translation>Πληροφορίες κομματιού βίντεο</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="323"/>
- <source>Chapter information</source>
- <translation>Πληροφορίες κεφαλαίου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="288"/>
- <source>Audio track information</source>
- <translation>Πληροφορίες κομματιού ήχου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="379"/>
- <source>Additional information</source>
- <translation>Πρόσθετες πληροφορίες</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="418"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Αποδοχή των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="421"/>
- <source>&Ok</source>
- <translation>&Εντάξει</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="432"/>
- <source>Open help page describing this dialog box</source>
- <translation>Άνοιγμα της σελίδας βοήθειας σχετικά με αυτό το πλαίσιο διαλόγου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="435"/>
- <source>&Help</source>
- <translation>&Βοήθεια</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="442"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
-</context>
-<context>
- <name>DlgJobSettings</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="20"/>
- <source>Job settings</source>
- <translation>Ρυθμίσεις εργασιών</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="67"/>
- <source>What to do to sources files ?</source>
- <translation>Τι να γίνει με τα πηγαία αρχεία;</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="147"/>
- <source>Rename sources files by adding this suffix:</source>
- <translation>Μετονομασία των πηγαίων αρχείων προσθέτοντας αυτήν την κατάληξη:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="293"/>
- <source>How to name destinations files ?</source>
- <translation>Πως να ονομαστούν τα αρχεία προορισμού;</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="117"/>
- <source>Delete sources files</source>
- <translation>Διαγραφή πηγαίων αρχείων</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="98"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="120"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="150"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="516"/>
- <source>buttonGroup</source>
- <translation>κουμπί ομάδας</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="95"/>
- <source>Do nothing</source>
- <translation>Να μην γίνει τίποτα</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="323"/>
- <source>Add this suffix to file name :</source>
- <translation>Προσθήκη αυτής της κατάληξης στο όνομα αρχείου:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="513"/>
- <source>Move sources files to this folder:</source>
- <translation>Μετακίνηση των πηγαίων αρχείων σε αυτόν τον φάκελο:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="535"/>
- <source>Place destination files In another folder than sources files</source>
- <translation>Τοποθέτηση των αρχείων προορισμού σε έναν άλλο φάκελο από αυτόν των πηγαίων αρχείων</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="554"/>
- <source>Overwrite existing destination files</source>
- <translation>Αντικατάσταση των υπαρχόντων αρχείων προορισμού</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="581"/>
- <source>Add size suffix to file name</source>
- <translation>Προσθήκη κατάληξης με το μέγεθος στο όνομα αρχείου</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="641"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Αποδοχή των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="644"/>
- <source>&Ok</source>
- <translation>&Εντάξει</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="655"/>
- <source>Cancel modification and exit dialog box</source>
- <translation>Ακύρωση των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="658"/>
- <source>&Cancel</source>
- <translation>&Ακύρωση</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="669"/>
- <source>Open help page describing this dialog box</source>
- <translation>Άνοιγμα της σελίδας βοήθειας σχετικά με αυτό το πλαίσιο διαλόγου</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="672"/>
- <source>&Help</source>
- <translation>&Βοήθεια</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="679"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
-</context>
-<context>
- <name>DlgManageDevices</name>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="20"/>
- <source>Manage Devices</source>
- <translation>Διαχείριση συσκευών</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="34"/>
- <source>Device type :</source>
- <translation>Τύπος συσκευής:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="44"/>
- <source>Select the type of equipment to be shown in the list.</source>
- <translation>Επιλέξτε τον τύπο της συσκευής που θα εμφανίζεται στην λίστα.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="107"/>
- <source>Subtype</source>
- <translation>Δευτερεύων τύπος</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="118"/>
- <source>Model</source>
- <translation>Μοντέλο</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="140"/>
- <source>Create a new equipment which comes to be added in the database.</source>
- <translation>Δημιουργία μιας νέας συσκευής η οποία θα προστεθεί στη βάση δεδομένων.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="143"/>
- <source>Add Device</source>
- <translation>Προσθήκη συσκευής</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="154"/>
- <source>Delete current equipment.</source>
- <translation>Διαγραφή της τρέχουσας συσκευής.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="157"/>
- <source>Remove Device</source>
- <translation>Αφαίρεση συσκευής</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="168"/>
- <source>Cancel the modifications that you made on an equipment defined in the default ffDiaporama database</source>
- <translation>Ακυρώνει τις τροποποιήσεις που έχετε πραγματοποιήσει σε μια συσκευή που έχει καθοριστεί στην προκαθορισμένη βάση δεδομένων του ffDiaporama</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="171"/>
- <source>Reset Device to Default</source>
- <translation>Επαναφορά προκαθ. συσκευής</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="184"/>
- <source>Device subtype :</source>
- <translation>Δευτερεύων τύπος συσκευής:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="194"/>
- <source>Select the category in which is classified the equipment.</source>
- <translation>Επιλέξτε την κατηγορία στην οποία κατατάσσεται η συσκευή.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="201"/>
- <source>Device model :</source>
- <translation>Μοντέλο συσκευής:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="211"/>
- <source>File format :</source>
- <translation>Μορφή αρχείου:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="221"/>
- <source>Enter here the name of the equipment (free text field).</source>
- <translation>Εισάγετε εδώ το όνομα της συσκευής (πεδίο ελεύθερου κειμένου).</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="234"/>
- <source>Select the file type to use for the rendering.</source>
- <translation>Επιλέξτε την μορφή του αρχείου που θα χρησιμοποιείται για την αποτύπωση.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="241"/>
- <source>Video standard :</source>
- <translation>Πρότυπο βίντεο:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="256"/>
- <source>Select the video standard to use, PAL or NTSC.</source>
- <translation>Επιλέξτε το πρότυπο βίντεο προς χρήση, PAL ή NTSC.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="260"/>
- <source>PAL</source>
- <translation>PAL</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="265"/>
- <source>NTSC</source>
- <translation>NTSC</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="288"/>
- <source>Image format :</source>
- <translation>Μορφή εικόνας:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="298"/>
- <source>Select the image resolution to use for the rendering.</source>
- <translation>Επιλέξτε τη ανάλυση της εικόνας για την αποτύπωση.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="308"/>
- <source>Video codec :</source>
- <translation>Κωδικοποιητής βίντεο:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="335"/>
- <source>Select the video codec to use for the rendering.</source>
- <translation>Επιλέξτε τον κωδικοποιητή βίντεο για την αποτύπωση.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="348"/>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="413"/>
- <source>Bit rate :</source>
- <translation>Ρυθμός bit:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="370"/>
- <source>Select the bit rate to use for video during the rendering.</source>
- <translation>Επιλέξτε τον ρυθμό bit του βίντεο κατά την αποτύπωση.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="379"/>
- <source>Audio codec :</source>
- <translation>Κωδικοποιητής ήχου:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="406"/>
- <source>Select the audio codec to use for the rendering.</source>
- <translation>Επιλέξτε τον κωδικοποιητή ήχου για την αποτύπωση.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="435"/>
- <source>Select the bit rate to use for audio during the rendering.</source>
- <translation>Επιλέξτε τον ρυθμό bit του ήχου κατά την αποτύπωση.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="484"/>
- <source>Apply</source>
- <translation>Εφαρμογή</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="495"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Αποδοχή των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="498"/>
- <source>&Ok</source>
- <translation>&Εντάξει</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="509"/>
- <source>Cancel modification and exit dialog box</source>
- <translation>Ακύρωση των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="512"/>
- <source>&Cancel</source>
- <translation>&Ακύρωση</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="523"/>
- <source>Open help page describing this dialog box</source>
- <translation>Άνοιγμα της σελίδας βοήθειας σχετικά με αυτό το πλαίσιο διαλόγου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="526"/>
- <source>&Help</source>
- <translation>&Βοήθεια</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="533"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="112"/>
- <source>Apply modification</source>
- <translation>Εφαρμογή των τροποποιήσεων</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="113"/>
- <source>Do you whant to apply modification for this device?</source>
- <translation>Επιθυμείτε την εφαρμογή των τροποποιήσεων για τη συσκευή αυτή;</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="535"/>
- <source><new device></source>
- <translation><νέα συσκευή></translation>
- </message>
-</context>
-<context>
- <name>DlgRenderVideo</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="658"/>
- <source>Error starting ffmpeg</source>
- <translation>Σφάλμα κατά την εκκίνηση του ffmpeg</translation>
- </message>
-</context>
-<context>
- <name>MainWindow</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="95"/>
- <source>File</source>
- <translation>Αρχείο</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="326"/>
- <source>Change application and project settings</source>
- <translation>Αλλαγή των ρυθμίσεων του έργου και της εφαρμογής</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="329"/>
- <source>Settings</source>
- <translation>Ρυθμίσεις</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="367"/>
- <source>Exit application (Ctrl+W)</source>
- <translation>Έξοδος από την εφαρμογή (Ctrl+W)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="370"/>
- <source>Exit</source>
- <translation>Έξοδος</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="383"/>
- <source>Ctrl+W</source>
- <translation>Ctrl+W</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="122"/>
- <source>Refresh</source>
- <translation>Ανανέωση</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="119"/>
- <source>Refresh tree and folder table</source>
- <translation>Ανανέωση πίνακα δέντρου και φακέλου</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="135"/>
- <source>F5</source>
- <translation>F5</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="164"/>
- <source>Open file with default application defined on computer</source>
- <translation>Άνοιγμα του αρχείου με την προκαθορισμένη εφαρμογή του συστήματος</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="167"/>
- <source>Open
-File</source>
- <translation>Άνοιγμα
-Αρχείου</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="181"/>
- <source>Return</source>
- <translation>Εισαγωγή</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="203"/>
- <source>Display detailled information on file</source>
- <translation>Προβολή πληροφοριών του αρχείου</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="206"/>
- <source>Display
-Information</source>
- <translation>Προβολή
-πληροφοριών</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="239"/>
- <source>Remove file from the disk</source>
- <translation>Αφαίρεση του αρχείου από το δίσκο</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="242"/>
- <source>Remove
-File</source>
- <translation>Αφαίρεση
-Αρχείου</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="256"/>
- <source>Del</source>
- <translation>Del</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="278"/>
- <source>Open contextual action menu</source>
- <translation>Άνοιγμα του σχετικού μενού ενεργειών</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="281"/>
- <source>Action</source>
- <translation>Ενέργεια</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="418"/>
- <source>Select display mode</source>
- <translation>Επιλογή λειτουργίας προβολής</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="421"/>
- <source>Mode</source>
- <translation>Λειτουργία</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="453"/>
- <source>Select file filter</source>
- <translation>Επιλογή φίλτρου αρχείου</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="456"/>
- <source>Filter</source>
- <translation>Φίλτρο</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="477"/>
- <source>Help</source>
- <translation>Βοήθεια</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="513"/>
- <source>Display informations about ffDiaporama</source>
- <translation>Εμφάνιση πληροφοριών σχετικά με το ffDiaporama</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="516"/>
- <source>About</source>
- <translation>Σχετικά</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="560"/>
- <source>Call ffDiaporama WIKI</source>
- <translation>Άνοιγμα της τεκμηρίωσης του ffDiaporama</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="563"/>
- <source>Support
-and help</source>
- <translation>Υποστήριξη
-και βοήθεια</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="577"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="611"/>
- <source>Display blog/news page from internet WEB site</source>
- <translation>Εμφάνιση του ιστολογίου και της σελίδας ειδήσεων από την ιστοσελίδα στο διαδίκτυο</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="614"/>
- <source>What's new</source>
- <translation>Τι νέο υπάρχει</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1021"/>
- <source>Stop current job</source>
- <translation>Διακοπή της τρέχουσας εργασίας</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1062"/>
- <source>Up job in the list</source>
- <translation>Μετακίνηση πάνω της εργασίας στη λίστα</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1103"/>
- <source>Down job in the list</source>
- <translation>Μετακίνηση κάτω της εργασίας στη λίστα</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="60"/>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="74"/>
- <source>Search Raster mode in configuration file</source>
- <translation>Αναζήτηση λειτουργίας Raster στο αρχείο διαμόρφωσης</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="274"/>
- <source>All suported file (</source>
- <translation>Όλα τα υποστηριζόμενα αρχεία (</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="281"/>
- <source>Image file (</source>
- <translation>Αρχείο εικόνας (</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="287"/>
- <source>Video file (</source>
- <translation>Αρχείο βίντεο (</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="293"/>
- <source>Music file (</source>
- <translation>Αρχείο μουσικής (</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="460"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="387"/>
- <source>Read configuration file</source>
- <translation>Ανάγνωση αρχείου διαμόρφωσης</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="462"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="397"/>
- <source>Error reading configuration file</source>
- <comment>Error message</comment>
- <translation>Σφάλμα κατά την ανάγνωση του αρχείου ρυθμίσεων</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="467"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="402"/>
- <source>Error reading content of configuration file</source>
- <comment>Error message</comment>
- <translation>Σφάλμα στην ανάγνωση του περιεχομένου του αρχείου ρυθμίσεων</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="474"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="409"/>
- <source>The file is not a valid configuration file</source>
- <comment>Error message</comment>
- <translation>Το αρχείο δεν είναι ένα έγκυρο αρχείο ρυθμίσεων</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="641"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="456"/>
- <source>Error creating configuration file</source>
- <comment>Error message</comment>
- <translation>Σφάλμα κατά την δημιουργία του αρχείου ρυθμίσεων</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="98"/>
- <source>Loading cached filtered file :</source>
- <translation>Φόρτωση φιλτραρισμένου προσωρινού αρχείου:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="109"/>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="137"/>
- <source>Rescal image to 8MPix</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="117"/>
- <source>Error allocating memory for cached filtered file</source>
- <translation>Σφάλμα κατανομής μνήμης προσωρινού φιλτραρισμένου αρχείου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="119"/>
- <source>Error loading cached filtered file :</source>
- <translation>Σφάλμα φόρτωσης φιλτραρισμένου προσωρινού αρχείου:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="126"/>
- <source>Loading file :</source>
- <translation>Φόρτωση του αρχείου:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="145"/>
- <source>Error allocating memory for render image</source>
- <translation>Σφάλμα κατανομής μνήμης για την αποτύπωση εικόνας</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="147"/>
- <source>Error loading file :</source>
- <translation>Σφάλμα φόρτωσης του αρχείου:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="382"/>
- <source>files</source>
- <translation>αρχεία</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="383"/>
- <source>folders</source>
- <translation>φάκελοι</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="384"/>
- <source>Total size:</source>
- <translation>Συνολικό μέγεθος:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="385"/>
- <source>Total duration:</source>
- <translation>Συνολική διάρκεια:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="451"/>
- <source>Configuration not correct!</source>
- <translation>Η διαμόρφωση δεν είναι σωστή!</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="521"/>
- <source>Details view</source>
- <translation>Προβολή λεπτομερειών</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="522"/>
- <source>Short summary view</source>
- <translation>Προβολή σύντομης σύνοψης</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="523"/>
- <source>Long summary view</source>
- <translation>Προβολή εκτεταμένης σύνοψης</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="524"/>
- <source>Small icon view</source>
- <translation>Προβολή μικρών εικονιδίων</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="525"/>
- <source>Medium icon view</source>
- <translation>Προβολή μεσαίων εικονιδίων</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="526"/>
- <source>Images wall view</source>
- <translation>Προβολή εικόνων σε διάταξη τοίχου</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="553"/>
- <source>All files</source>
- <translation>Όλα τα αρχεία</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="554"/>
- <source>Managed files</source>
- <translation>Υποστηριζόμενα αρχεία</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="555"/>
- <source>Image files</source>
- <translation>Αρχεία εικόνων</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="556"/>
- <source>Video files</source>
- <translation>Αρχεία βίντεο</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="557"/>
- <source>Music files</source>
- <translation>Αρχεία μουσικής</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="558"/>
- <source>ffDiaporama project files</source>
- <translation>Αρχεία έργων ffDiaporama</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="623"/>
- <source>Are you sure to remove theses files ?</source>
- <translation>Θέλετε σίγουρα την αφαίρεση αυτών των αρχείων;</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="626"/>
- <source>Successfuly remove file (%1)</source>
- <translation>Επιτυχής αφαίρεση του αρχείου (%1)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="628"/>
- <source>Failed to remove file (%1)</source>
- <translation>Αποτυχία αφαίρεσης του αρχείου (%1)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="647"/>
- <source>Are you sure to remove this folder ?</source>
- <translation>Θέλετε σίγουρα την αφαίρεση αυτού του φακέλου;</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="670"/>
- <source>Impossible to remove file %1 - error %2:%3</source>
- <translation>Αδύνατη η αφαίρεση του αρχείου %1 - σφάλμα %2:%3</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="675"/>
- <source>Impossible to remove folder %1 - error %2:%3</source>
- <translation>Αδύνατη η αφαίρεση του φακέλου %1 - σφάλμα %2:%3</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="679"/>
- <source>Successfully remove folder (and all is content) %1</source>
- <translation>Επιτυχής αφαίρεση του φακέλου (και όλων των περιεχομένων του) %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="73"/>
- <source>Applying Despeckle filter</source>
- <translation>Εφαρμογή φίλτρου κηλίδωσης</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="77"/>
- <source>Applying Equalize filter</source>
- <translation>Εφαρμογή φίλτρου ισοστάθμισης</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="81"/>
- <source>Applying Gray filter</source>
- <translation>Εφαρμογή φίλτρου απόχρωσης του γκρι</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="85"/>
- <source>Applying blur filter</source>
- <translation>Εφαρμογή φίλτρου θόλωσης</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="89"/>
- <source>Applying sharpen filter</source>
- <translation>Εφαρμογή φίλτρου όξυνσης</translation>
- </message>
-</context>
-<context>
- <name>QCustomFolderTable</name>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="364"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="384"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="428"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="615"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="643"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="654"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="662"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="689"/>
- <source>File</source>
- <comment>Column header</comment>
- <translation>Αρχείο</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="367"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="385"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="429"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="616"/>
- <source>File Type</source>
- <comment>Column header</comment>
- <translation>Τύπος αρχείου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="386"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="430"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="617"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="644"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="655"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="663"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="690"/>
- <source>File Size</source>
- <comment>Column header</comment>
- <translation>Μέγεθος αρχείου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="387"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="431"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="618"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="645"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="656"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="664"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="691"/>
- <source>File Date</source>
- <comment>Column header</comment>
- <translation>Ημερομηνία αρχείου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="388"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="432"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="619"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="646"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="665"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="692"/>
- <source>Duration</source>
- <comment>Column header</comment>
- <translation>Διάρκεια</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="409"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="435"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="620"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="666"/>
- <source>Chapters</source>
- <comment>Column header</comment>
- <translation>Κεφάλαια</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="389"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="433"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="621"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="657"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="667"/>
- <source>Image Size</source>
- <comment>Column header</comment>
- <translation>Μέγεθος εικόνας</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="390"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="434"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="622"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="658"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="668"/>
- <source>Image Format</source>
- <comment>Column header</comment>
- <translation>Μορφή εικόνας</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="391"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="436"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="623"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="659"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="669"/>
- <source>Image Geometry</source>
- <comment>Column header</comment>
- <translation>Γεωμετρία εικόνας</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="392"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="437"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="624"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="670"/>
- <source>Video Codec</source>
- <comment>Column header</comment>
- <translation>Κωδικοποιητής βίντεο</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="393"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="438"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="625"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="671"/>
- <source>Frame Rate</source>
- <comment>Column header</comment>
- <translation>Ρυθμός πλαισίου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="394"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="439"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="626"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="672"/>
- <source>Video Bitrate</source>
- <comment>Column header</comment>
- <translation>Ρυθμός bit βίντεο</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="395"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="440"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="627"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="673"/>
- <source>Audio Language</source>
- <comment>Column header</comment>
- <translation>Γλώσσα ήχου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="396"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="441"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="628"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="674"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="693"/>
- <source>Audio Codec</source>
- <comment>Column header</comment>
- <translation>Κωδικοποιητής ήχου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="397"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="442"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="629"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="675"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="694"/>
- <source>Audio Channels</source>
- <comment>Column header</comment>
- <translation>Κανάλια ήχου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="398"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="443"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="630"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="676"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="695"/>
- <source>Audio Bitrate</source>
- <comment>Column header</comment>
- <translation>Ρυθμός bit ήχου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="399"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="444"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="631"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="677"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="696"/>
- <source>Audio Frequency</source>
- <comment>Column header</comment>
- <translation>Συχνότητα ήχου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="400"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="445"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="632"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="647"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="678"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="697"/>
- <source>Title</source>
- <comment>Column header</comment>
- <translation>Τίτλος</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="401"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="446"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="633"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="679"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="698"/>
- <source>Artist</source>
- <comment>Column header</comment>
- <translation>Καλλιτέχνης</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="402"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="447"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="634"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="649"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="680"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="699"/>
- <source>Album</source>
- <comment>Column header</comment>
- <translation>Άλμπουμ</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="403"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="448"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="635"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="650"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="681"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="700"/>
- <source>Year</source>
- <comment>Column header</comment>
- <translation>Έτος</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="404"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="449"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="636"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="682"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="701"/>
- <source>Track</source>
- <comment>Column header</comment>
- <translation>Κομμάτι</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="405"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="450"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="637"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="683"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="702"/>
- <source>Genre</source>
- <comment>Column header</comment>
- <translation>Είδος</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="406"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="451"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="638"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="684"/>
- <source>Comment</source>
- <comment>Column header</comment>
- <translation>Σχόλιο</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="407"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="452"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="639"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="651"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="685"/>
- <source>Composer</source>
- <comment>Column header</comment>
- <translation>Συνθέτης</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="408"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="453"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="640"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="686"/>
- <source>Encoder</source>
- <comment>Column header</comment>
- <translation>Κωδικοποιητής</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="648"/>
- <source>Author</source>
- <comment>Column header</comment>
- <translation>Συγγραφέας</translation>
- </message>
-</context>
-<context>
- <name>QCustomFolderTree</name>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="99"/>
- <source>Kb</source>
- <comment>Unit Kb</comment>
- <translation>Kb</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
- <source>Mb</source>
- <comment>Unit Mb</comment>
- <translation>Mb</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
- <source>Gb</source>
- <comment>Unit Gb</comment>
- <translation>Gb</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
- <source>Tb</source>
- <comment>Unit Tb</comment>
- <translation>Tb</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="159"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="202"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="334"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="336"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="337"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="443"/>
- <location filename="../src/sharedfiles/QCustomGetFolder.cpp" line="70"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="58"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="93"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="347"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="352"/>
- <source>Personal folder</source>
- <translation>Προσωπικός φάκελος</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="86"/>
- <source>Refresh all</source>
- <translation>Ανανέωση όλων</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="87"/>
- <source>Refresh from here</source>
- <translation>Ανανέωση από εδώ</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="88"/>
- <source>Create new subfolder</source>
- <translation>Δημιουργία νέου υποφακέλου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="89"/>
- <source>Remove folder</source>
- <translation>Αφαίρεση φακέλου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="107"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="115"/>
- <source>Create folder</source>
- <translation>Δημιουργία φακέλου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="107"/>
- <source>Folder:</source>
- <translation>Φάκελος:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="114"/>
- <source>Error %1:</source>
- <translation>Σφάλμα %1:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="116"/>
- <source>Impossible to create folder !</source>
- <translation>Αδύνατη η δημιουργία του φακέλου!</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="348"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="353"/>
- <source>System files</source>
- <translation>Αρχεία συστήματος</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="94"/>
- <source>Empty drive...</source>
- <translation>Κενός δίσκος...</translation>
- </message>
-</context>
-<context>
- <name>QCustomGetFolder</name>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="20"/>
- <source>Select a folder</source>
- <translation>Επιλέξτε ένα φάκελο</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="98"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Αποδοχή των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="101"/>
- <source>&Ok</source>
- <translation>&Εντάξει</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="112"/>
- <source>Cancel modification and exit dialog box</source>
- <translation>Ακύρωση των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="115"/>
- <source>&Cancel</source>
- <translation>&Ακύρωση</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="126"/>
- <source>Open help page describing this dialog box</source>
- <translation>Άνοιγμα της σελίδας βοήθειας σχετικά με αυτό το πλαίσιο διαλόγου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="129"/>
- <source>&Help</source>
- <translation>&Βοήθεια</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="136"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
-</context>
-<context>
- <name>QCustomJobTable</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="59"/>
- <source>Date/Time</source>
- <translation>Ημερομηνία/Ώρα</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="60"/>
- <source>Status</source>
- <translation>Κατάσταση</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="61"/>
- <source>Progress</source>
- <translation>Πρόοδος</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="62"/>
- <source>Job Type</source>
- <translation>Τύπος εργασίας</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="63"/>
- <source>Current action</source>
- <translation>Τρέχουσα ενέργεια</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="248"/>
- <source>Waiting</source>
- <translation>Αναμονή</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="249"/>
- <source>Started</source>
- <translation>Ξεκίνησε</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="250"/>
- <source>Paused</source>
- <translation>Σε παύση</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="251"/>
- <source>Canceled</source>
- <translation>Ακυρώθηκε</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="252"/>
- <source>Succeeded</source>
- <translation>Επιτεύχθηκε</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="253"/>
- <source>Ended with error</source>
- <translation>Τερματίστηκε με σφάλμα</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="255"/>
- <source>Not defined</source>
- <translation>Δεν έχει καθοριστεί</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="256"/>
- <source>Open</source>
- <translation>Άνοιγμα</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="257"/>
- <source>Display information</source>
- <translation>Εμφάνιση πληροφοριών</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="258"/>
- <source>Remove</source>
- <translation>Αφαίρεση</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="259"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="260"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="261"/>
- <source>Convert</source>
- <translation>Μετατροπή</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="298"/>
- <source>overwrite destination file as needed</source>
- <translation>αντικατάσταση του αρχείου προορισμού όπως απαιτείται</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="299"/>
- <source>and remove %1</source>
- <translation>και αφαίρεση του %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="300"/>
- <source>and rename %1 to %2</source>
- <translation>και μετονομασία του %1 σε %2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="301"/>
- <source>and move %1 to %2</source>
- <translation>και μετακίνηση του %1 σε %2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="151"/>
- <source>and rescal image to %1</source>
- <translation>και αλλαγή μεγέθους εικόνας σε %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="132"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="153"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="157"/>
- <source>and rotate image</source>
- <translation>και περιστροφή της εικόνας</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="133"/>
- <source>but don't rotate image</source>
- <translation>αλλά να μην γίνει περιστροφή της εικόνας</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="159"/>
- <source>new image size will become %1x%2</source>
- <translation>το νέο μέγεθος της εικόνας θα είναι %1x%2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="164"/>
- <source>and set codec to %1</source>
- <translation>και ορισμός του κωδικοποιητή σε %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="131"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="165"/>
- <source>and set audio compression to %1</source>
- <translation>και ορισμός της συμπίεσης ήχου σε %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="132"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="166"/>
- <source>and force audio frequency to %1</source>
- <translation>και εξαναγκασμός της συχνότητας του ήχου σε %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="133"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="167"/>
- <source>and force to mono</source>
- <translation>και εξαναγκασμός σε mono</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="133"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="167"/>
- <source>and force to stereo</source>
- <translation>και εξαναγκασμός σε stereo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="106"/>
- <source>and resize to %1x%2</source>
- <translation>και αλλαγή μεγέθους σε %1x%2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="113"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="117"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="121"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="124"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="129"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="139"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="149"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="152"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="155"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="158"/>
- <source>and set video codec to %1</source>
- <translation>και ορισμός του κωδικοποιητή βίντεο σε %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="114"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="140"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="153"/>
- <source>and set video compression to %1 with + and - 10%</source>
- <translation>και ορισμός της συμπίεσης βίντεο σε %1 με + και - 10%</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="118"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="122"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="125"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="156"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="159"/>
- <source>and set video compression to %1</source>
- <translation>και ορισμός της συμπίεσης βίντεο σε %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="131"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="141"/>
- <source>and set video preset %1</source>
- <translation>και ορισμός προεπιλογής βίντεο %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="150"/>
- <source>and set video quality to 2</source>
- <translation>και ορισμός ποιότητας βίντεο σε 2</translation>
- </message>
-</context>
-<context>
- <name>cBaseMediaFile</name>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="391"/>
- <source>Impossible to open file </source>
- <translation>Αδύνατο το άνοιγμα του αρχείου </translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="391"/>
- <source>Do you want to select another file ?</source>
- <translation>Θέλετε να επιλέξετε ένα άλλο αρχείο;</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="395"/>
- <source>Select another file for </source>
- <translation>Επιλογή ενός αρχείου αντικατάστασης για </translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="407"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="559"/>
- <source>Impossible to open file %1</source>
- <translation>Αδύνατο το άνοιγμα του αρχείου %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="494"/>
- <source>MPix</source>
- <translation>MPix</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="578"/>
- <source>Unmanaged</source>
- <comment>File type</comment>
- <translation>Δεν υποστηρίζεται</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="902"/>
- <source>Slides</source>
- <translation>Διαφάνειες</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="903"/>
- <source>Chapters</source>
- <translation>Κεφάλαια</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="959"/>
- <source>Image</source>
- <comment>File type</comment>
- <translation>Εικόνα</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="960"/>
- <source>Thumbnail</source>
- <comment>File type</comment>
- <translation>Εικόνα επισκόπησης</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="986"/>
- <source>Image don't have EXIF metadata %1</source>
- <translation>Η εικόνα δεν περιέχει μεταδεδομένα EXIF %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1080"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1124"/>
- <source>Impossible to start exiv2 - no exif informations will be decode for %1</source>
- <translation>Αδύνατη η εκκίνηση του exiv2 - δεν θα αποκωδικοποιηθούν πληροφορίες exif για το %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1085"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1129"/>
- <source>Error during exiv2 process - no exif informations will be decode for %1</source>
- <translation>Σφάλμα κατά την εκκίνηση του exiv2 - δεν θα αποκωδικοποιηθούν πληροφορίες exif για το %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1089"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1133"/>
- <source>exiv2 return error %1 - no exif informations will be decode for %2</source>
- <translation>Επιστροφή σφάλματος του exiv2 %1 - δεν θα αποκωδικοποιηθούν πληροφορίες exif για το %2</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1628"/>
- <source>Video</source>
- <comment>File type</comment>
- <translation>Βίντεο</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1627"/>
- <source>Music</source>
- <comment>File type</comment>
- <translation>Μουσική</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1472"/>
- <source>Mono</source>
- <comment>Audio channels mode</comment>
- <translation>Mono</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="390"/>
- <source>Open file</source>
- <translation>Άνοιγμα αρχείου</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="84"/>
- <source>Error overwritting %1</source>
- <translation>Σφάλμα κατά την αντικατάσταση του %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="867"/>
- <source>Slide number</source>
- <translation>Αριθμός διαφάνειας</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="932"/>
- <source>ffDiaporama</source>
- <comment>File type</comment>
- <translation>ffDiaporama</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1473"/>
- <source>Stereo</source>
- <comment>Audio channels mode</comment>
- <translation>Stereo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="706"/>
- <source>Folder</source>
- <comment>File type</comment>
- <translation>Φάκελος</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="582"/>
- <source>Impossible to start exiv2 - no exif informations will be set for %1</source>
- <translation>Αδύνατη η εκκίνηση του exiv2 - δεν θα διατεθούν πληροφορίες exif για το %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="587"/>
- <source>Error during exiv2 process - no exif informations will be set for %1</source>
- <translation>Σφάλμα κατά τη διεργασία του exiv2 - δεν θα διατεθούν πληροφορίες exif για το %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="591"/>
- <source>exiv2 return error %1 - no exif informations will be set for %2</source>
- <translation>Επιστροφή σφάλματος του exiv2 %1 - δεν θα διατεθούν πληροφορίες exif για το %2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="597"/>
- <source>Successfully add minimal exif values to %1</source>
- <translation>Επιτυχής προσθήκη των ελάχιστων τιμών exif για το %1</translation>
- </message>
-</context>
-<context>
- <name>cDeviceModelList</name>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="504"/>
- <source>Advanced</source>
- <comment>Device database type</comment>
- <translation>Για προχωρημένους</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
- <source>Smartphone</source>
- <comment>Device database type</comment>
- <translation>Smartphone</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
- <source>Multimedia system</source>
- <comment>Device database type</comment>
- <translation>Σύστημα πολυμέσων</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
- <source>For the WEB</source>
- <comment>Device database type</comment>
- <translation>Για το διαδίκτυο</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
- <source>Lossless</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
- <source>Portable Player</source>
- <comment>Device database type</comment>
- <translation>Φορητός αναπαραγωγέας</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
- <source>Netbook/NetPC</source>
- <comment>Device database type</comment>
- <translation>Netbook/NetPC</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
- <source>Handheld game console</source>
- <comment>Device database type</comment>
- <translation>Φορητή κονσόλα παιχνιδιών</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
- <source>Tablet computer</source>
- <comment>Device database type</comment>
- <translation>Ταμπλέτα επαφής</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
- <source>Multimedia hard drive and gateway</source>
- <comment>Device database type</comment>
- <translation>Πύλη και σκληρός δίσκος πολυμέσων</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
- <source>Player</source>
- <comment>Device database type</comment>
- <translation>Αναπαραγωγέας</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
- <source>ADSL Box</source>
- <comment>Device database type</comment>
- <translation>ADSL δρομολογητής</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
- <source>Game console</source>
- <comment>Device database type</comment>
- <translation>Κονσόλα παιχνιδιών</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
- <source>SWF Flash Player</source>
- <comment>Device database type</comment>
- <translation>SWF Αναπαραγωγέας Flash</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
- <source>Video-sharing and social WebSite</source>
- <comment>Device database type</comment>
- <translation>Ιστοσελίδες κοινόχρηστων βίντεο και κοινωνικών δικτύων</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
- <source>HTML 5</source>
- <comment>Device database type</comment>
- <translation>HTML 5</translation>
- </message>
-</context>
-<context>
- <name>cJobQueue</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="400"/>
- <source>Applying source transformation : Sorry no yet developped !</source>
- <translation>Εφαρμογή μετασχηματισμού πηγής: Δυστυχώς δεν υποστηρίζεται ακόμα!</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="416"/>
- <source>Failed to remove existing destination file (%1)</source>
- <translation>Αποτυχία αφαίρεσης του υπάρχοντος αρχείου προορισμού (%1)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="418"/>
- <source>Successfully remove existing destination file (%1)</source>
- <translation>Επιτυχής αφαίρεση του υπάρχοντος αρχείου προορισμού (%1)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="430"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="624"/>
- <source>Jobtype error</source>
- <translation>Σφάλμα τύπου εργασίας</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="451"/>
- <source>Start image conversion of %1 to %2</source>
- <translation>Εκκίνηση μετατροπής εικόνας από %1 σε %2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="454"/>
- <source>Open file</source>
- <translation>Άνοιγμα αρχείου</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="457"/>
- <source>Successfully open file %1</source>
- <translation>Επιτυχές άνοιγμα του αρχείου (%1)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="460"/>
- <source>Rescal image</source>
- <translation>Ανακλιμάκωση της εικόνας</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="482"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="510"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="551"/>
- <source>Failed to rotate image</source>
- <translation>Αποτυχία περιστροφής της εικόνας</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="483"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="511"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="552"/>
- <source>Succesfully rotate image</source>
- <translation>Επιτυχής περιστροφή εικόνας</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="536"/>
- <source>Failed to rescal image %1 to %2x%3</source>
- <translation>Αποτυχία ανακλιμάκωσης της εικόνας %1 σε %2x%3</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="537"/>
- <source>Succesfully rescal image %1 to %2x%3</source>
- <translation>Επιτυχής ανακλιμάκωση της εικόνας %1 σε %2x%3</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="557"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="642"/>
- <source>Apply destination overwriting strategy</source>
- <translation>Εφαρμογή στρατηγικής αντικατάστασης προορισμού</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="561"/>
- <source>Save image file</source>
- <translation>Αποθήκευση αρχείου εικόνας</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="572"/>
- <source>Add minimal exif value to image file</source>
- <translation>Προσθήκη των ελαχίστων τιμών exif στο αρχείο εικόνας</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="599"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="695"/>
- <source>Apply source file strategy</source>
- <translation>Εφαρμογή στρατηγικής πηγαίου αρχείου</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="612"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="706"/>
- <source>Job finished</source>
- <translation>Η εργασία ολοκληρώθηκε</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="639"/>
- <source>Start audio conversion of %1 to %2</source>
- <translation>Εκκίνηση της μετατροπής ήχου από %1 σε %2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="644"/>
- <source>Error : for sound conversion, source and destination must be different !</source>
- <translation>Σφάλμα: για τη μετατροπή του ήχου, ή πηγή και ο προορισμός πρέπει να είναι διαφορετικοί!</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="653"/>
- <source>Process ffmpeg job</source>
- <translation>Διεργασία ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="688"/>
- <source>Error : ffmpeg job can't start : %1</source>
- <translation>Σφάλμα: αδύνατη η εκκίνηση της διεργασίας του ffmpeg: %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="689"/>
- <source>Error : ffmpeg return error %1</source>
- <translation>Σφάλμα: επσιτροφή σφάλματος ffmpeg %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="691"/>
- <source>Succesfully process ffmpeg job</source>
- <translation>Επιτυχής διεργασία ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="456"/>
- <source>Failed to open file %1</source>
- <translation>Αποτυχία ανοίγματος του αρχείου %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="563"/>
- <source>Failed to write destination file %1</source>
- <translation>Αποτυχία εγγραφής στο αρχείο προορισμού %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="565"/>
- <source>Successfully writing destination file %1</source>
- <translation>η εγγραφή στο αρχείο προορισμού %1 έγινε με επιτυχία</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="411"/>
- <source>Destination file (%1) already exist</source>
- <translation>Το αρχείο προορισμού (%1) υπάρχει ήδη</translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertAudio</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="39"/>
- <source>Convert audio</source>
- <translation>Μετατροπή του ήχου</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="46"/>
- <source>Format :</source>
- <translation>Μορφή:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="68"/>
- <source>Select the audio codec to use for the rendering.</source>
- <translation>Επιλέξτε τον κωδικοποιητή ήχου για την αποτύπωση.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="75"/>
- <source>Bit rate :</source>
- <translation>Ρυθμός bit:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="97"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="158"/>
- <source>Select the bit rate to use for audio during the rendering.</source>
- <translation>Επιλέξτε τον ρυθμό bit του ήχου κατά την αποτύπωση.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="104"/>
- <source>Force to mono</source>
- <translation>Εξαναγκασμός σε mono</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="111"/>
- <source>Force to stereo</source>
- <translation>Εξαναγκασμός σε stereo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="139"/>
- <source>Change frequency to :</source>
- <translation>Αλλαγή της συχνότητας του ήχου σε:</translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertImage</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="48"/>
- <source>Convert image</source>
- <translation>Μετατροπή εικόνας</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="79"/>
- <source>Quality :</source>
- <translation>Ποιότητα:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="93"/>
- <source>QVGA (240 rows)</source>
- <translation>QVGA (240 γραμμές)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="98"/>
- <source>HVGA (320 rows)</source>
- <translation>HVGA (320 γραμμές)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="103"/>
- <source>VGA/WVGA (480 rows)</source>
- <translation>VGA/WVGA (480 γραμμές)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="108"/>
- <source>SD/DVD (576 rows)</source>
- <translation>SD/DVD (576 γραμμές)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="113"/>
- <source>720p (720 rows)</source>
- <translation>720p (720 γραμμές)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="118"/>
- <source>XGA (768 rows)</source>
- <translation>XGA (768 γραμμές)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="123"/>
- <source>1080p (1080 rows)</source>
- <translation>1080p (1080 γραμμές)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="156"/>
- <source>Resize :</source>
- <translation>Αλλαγή μεγέθους:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="169"/>
- <source>But not upscale image</source>
- <translation>Αλλά χωρίς ανακλιμάκωση της εικόνας</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="250"/>
- <source>Format :</source>
- <translation>Μορφή:</translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertVideo</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="33"/>
- <source>Convert video</source>
- <translation>Μετατροπή του βίντεο</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="40"/>
- <source>Device type :</source>
- <translation>Τύπος συσκευής:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="50"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="91"/>
- <source>Select the type of equipment.</source>
- <translation>Επιλέξτε τον τύπο της συσκευής.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="57"/>
- <source>Device model :</source>
- <translation>Μοντέλο συσκευής:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="67"/>
- <source>Select the model of equipment</source>
- <translation>Επιλέξτε το μοντέλο της συσκευής</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="74"/>
- <source>Include sound in the video</source>
- <translation>Συμπερίληψη του ήχου στο βίντεο</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="81"/>
- <source>Device :</source>
- <translation>Συσκευή:</translation>
- </message>
-</context>
-</TS>
diff --git a/locale/ffDiaporamaMMFiler_es.qm b/locale/ffDiaporamaMMFiler_es.qm
deleted file mode 100755
index 0c60a47..0000000
Binary files a/locale/ffDiaporamaMMFiler_es.qm and /dev/null differ
diff --git a/locale/ffDiaporamaMMFiler_es.ts b/locale/ffDiaporamaMMFiler_es.ts
deleted file mode 100755
index cc70d92..0000000
--- a/locale/ffDiaporamaMMFiler_es.ts
+++ /dev/null
@@ -1,2388 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.0" language="es_ES">
-<context>
- <name>DlgAbout</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="26"/>
- <source>About</source>
- <translation>Acerca de</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="93"/>
- <source>Licence</source>
- <translation>Licencia</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="105"/>
- <source>Copyright (C) 2011-2012 Dominique Levray</source>
- <translation>Copyright (C) 2011-2012 Dominique Levray</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="112"/>
- <source>This software is licensed under the GPL version 2 :</source>
- <translation>Este software está licenciado bajo GPL, versión 2 :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="214"/>
- <source>Credits</source>
- <translation>Créditos</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="258"/>
- <source>This application was developped using Open Source version of Qt 4.7 SDK</source>
- <translation>Esta aplicación fué desarrollada utilizando la versión Open Source de QT 4.7 SDK</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="268"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="318"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="349"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="387"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="418"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="588"/>
- <source>WEB site & licence :</source>
- <translation>Sitio-WEB & licencia :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="305"/>
- <source>Video decoding and encoding engines are based on ffmpeg</source>
- <translation>Decodificador y codificador de Vídeo basado en ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="336"/>
- <source>Image exif decoding is based on Exiv2 - Image metadata library and tools</source>
- <translation>EXIF Image decodificación: se basa en Exiv2 - biblioteca y herramientas de metadatos de imagen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="367"/>
- <source>Other images and graphical material are using Creative Common Licence 2</source>
- <translation>Otras imágenes y material gráfico está utilizando licencia de Creative Commons 2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="380"/>
- <source>C.C. WEB site :</source>
- <translation>C.C. sitio-WEB :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="405"/>
- <source>Many icons are from the Crystal Project</source>
- <translation>Muchos iconos son de Crystal Project</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="551"/>
- <source>Image effects are based on fmt_filters</source>
- <translation>Efectos de imágenes están basados en fmt_filters</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="575"/>
- <source>TAG managment based on TAGLib</source>
- <translation>Gestion de ETIQUETA basado en TAGLib</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="672"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
-</context>
-<context>
- <name>DlgApplicationSettings</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="32"/>
- <source>Application settings</source>
- <translation>Configuración de Aplicaciones</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="54"/>
- <source>Application Options</source>
- <translation>Opciones de Aplicación</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="96"/>
- <source>If this box is checked, the sizes and the positions of all the windows and dialogue box of ffDiaporama will be saved to be reused the next time which you will use ffDiaporama.</source>
- <translation>Si esta casilla está marcada, los tamaños y las posiciones de todas las ventanas y el cuadro de diálogo de ffDiaporama
-se guardará para ser reutilizado la próxima vez que vaya a trabajar con ffDiaporama.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="99"/>
- <source>Remember Windows size and positions</source>
- <translation>Recordar el tamaño y posición de ventanas</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="112"/>
- <source>If this box is checked, the directories that you use for the images, the videos, the projects, the musics and the generations of movie will be saved to be reused the next time which you will use ffDiaporama.</source>
- <translation>Si esta casilla está marcada, los directorios que se usarán para las imágenes, los videos, los proyectos, las músicas y las generaciones de la película
- se guardarán para ser reutilizados la próxima vez que vaya a trabajar con ffDiaporama.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="115"/>
- <source>Remember last used folders</source>
- <translation>Recordar las últimas carpetas utilizadas</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="129"/>
- <source>Application options</source>
- <translation>Opciones de Aplicación</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="171"/>
- <source>Enable "raster" Graphics System (Need application restart)</source>
- <translation>Activar "raster" Graphics System (Necesitas reiniciar la aplicación)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="155"/>
- <source>Video options</source>
- <translation>Opciones de video</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="184"/>
- <source>Automatically crop 1920x1088 video to 1920x1080</source>
- <translation>Corta automáticamente 1920x1088 a 1920x1080</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="521"/>
- <source>Manage Devices</source>
- <translation>Gestionar Dispositivos</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="197"/>
- <source>Show hidden folders and files</source>
- <translation>Mostrar-ocultar directorios y archivos</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="380"/>
- <source>Display options</source>
- <translation>Mostrar opciones</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="210"/>
- <source>Display folders first</source>
- <translation>Mostrar directorios primero</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="223"/>
- <source>Display only drives mounted in /media/</source>
- <translation>Motrar sólo dispositivos montados en /media/</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="261"/>
- <source>Image :</source>
- <translation>Imagen :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="293"/>
- <source>Music :</source>
- <translation>Música :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="300"/>
- <source>Video :</source>
- <translation>Video :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="341"/>
- <source>Display filename in icon views</source>
- <translation>Vista modo iconos</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="348"/>
- <source>Thumbnails size for big icons mode :</source>
- <translation>Miniaturas modo iconos grandes :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="415"/>
- <source>Thumbnail rules options</source>
- <translation>Ociones de miniaturas</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="446"/>
- <source>Minimum height for EXIF "Preview Image" :</source>
- <translation>Altura mínima para EXIF "Imagen previa" :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="453"/>
- <source>Define minimum height Preview Image must have to use it</source>
- <translation>Altura mínima en Imagen previa que vamos a usar</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="457"/>
- <source>No minimum height</source>
- <translation>Sin altura mínima</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="462"/>
- <source>Not less than 100</source>
- <translation>No menos de 100</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="467"/>
- <source>Not less than 200</source>
- <translation>No menos de 200</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="510"/>
- <source>Check Configuration</source>
- <translation>Comprobar Configuración</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="545"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Aceptar modificación y salir de este diálogo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="548"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="559"/>
- <source>Cancel modification and exit dialog box</source>
- <translation>Cancelar modificación y salir de este diálogo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="562"/>
- <source>&Cancel</source>
- <translation>&Cancelar</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="573"/>
- <source>Open help page describing this dialog box</source>
- <translation>Abrir página de Ayuda relacionada con éste diálogo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="576"/>
- <source>&Help</source>
- <translation>&Ayuda</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="583"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
-</context>
-<context>
- <name>DlgCheckConfig</name>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="22"/>
- <source>Check configuration</source>
- <translation>Comprobrar Configuración</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="49"/>
- <source>Check configuration at startup</source>
- <translation>Comprobrar Configuración al inicio</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="69"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Aceptar modificacione y salir</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="72"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="83"/>
- <source>Open help page describing this dialog box</source>
- <translation>Abrir página de ayuda que describe esta ventana</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="86"/>
- <source>&Help</source>
- <translation>&Ayuda</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="93"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="63"/>
- <source>ffmpeg not found - critical - application will stop !</source>
- <translation>ffmpeg no encontrado - critico - la aplicación se detiene !</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="165"/>
- <source>ffmpeg Audio Codecs</source>
- <translation>ffmpeg Codecs de Audio</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <source>available</source>
- <translation>disponible</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="60"/>
- <source>Unable to determine ffmpeg version</source>
- <translation>No se puede conocer versión de ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="103"/>
- <source>LibExiv2 version:</source>
- <translation>versión de LibExiv2:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="105"/>
- <source>LibExiv2/Exiv2 binary version</source>
- <translation>Versión de LibExiv2/Exiv2</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <source>not available</source>
- <translation>no disponible</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <source>LibExiv2 support for preview image</source>
- <translation>Soporte de LibExiv2 para previsualizar imagen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="119"/>
- <source>TAGLib version:</source>
- <translation>Versión de TAGLib:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <source>TAGLib support for FLAC</source>
- <translation>Soporte de TAGLib para FLAC</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <source>TAGLib support for ASF/WMA</source>
- <translation>Soporte de TAGLib para ASF/WMA</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <source>TAGLib support for M4A/MP4</source>
- <translation>Soporte de TAGLib para M4A/MP4</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="149"/>
- <source>ffmpeg version:</source>
- <translation>Versión de ffmpeg:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="150"/>
- <source>LIBAVCODEC version:</source>
- <translation>Versión de LIBAVCODEC:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="151"/>
- <source>LIBAVFORMAT version:</source>
- <translation>Versión de LIBAVFORMAT:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="152"/>
- <source>LIBSWSCALE version:</source>
- <translation>Versión de LIBSWSCALE:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <source>ffmpeg support for TAG and CHAPTERS</source>
- <translation>Soporte de ffmpeg para TAG y CAPÍTULOS</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="169"/>
- <source>ffmpeg Video Codecs</source>
- <translation>ffmpeg Codecs de Video</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
- <source>ffmpeg Container Formats</source>
- <translation>ffmpeg Formatos</translation>
- </message>
-</context>
-<context>
- <name>DlgInfoFile</name>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="25"/>
- <source>File information</source>
- <translation>Información de archivo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="93"/>
- <source>File name :</source>
- <translation>Nombre de archivo :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="100"/>
- <source>File type :</source>
- <translation>Tipo de archivo :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="133"/>
- <source>File size :</source>
- <translation>Tamaño de archivo :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="153"/>
- <source>File created :</source>
- <translation>Archivo creado :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="167"/>
- <source>File modify :</source>
- <translation>Archivo modificado :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="219"/>
- <source>Video track information</source>
- <translation>Información de pista de video</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="323"/>
- <source>Chapter information</source>
- <translation>Información de capítulo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="288"/>
- <source>Audio track information</source>
- <translation>Información de audio</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="379"/>
- <source>Additional information</source>
- <translation>Información adicional</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="418"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Aceptar modificación y salir</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="421"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="432"/>
- <source>Open help page describing this dialog box</source>
- <translation>Abrir página de ayuda que trata de este tema</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="435"/>
- <source>&Help</source>
- <translation>&Ayuda</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="442"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
-</context>
-<context>
- <name>DlgJobSettings</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="20"/>
- <source>Job settings</source>
- <translation>Opciones de trabajo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="67"/>
- <source>What to do to sources files ?</source>
- <translation>¿Qué hacer con archivos?</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="147"/>
- <source>Rename sources files by adding this suffix:</source>
- <translation>Renombrar archivos de origen añadiendo este sufijo:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="293"/>
- <source>How to name destinations files ?</source>
- <translation>¿Nombre de archivos de destino ?</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="117"/>
- <source>Delete sources files</source>
- <translation>Eliminar archivos de origen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="98"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="120"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="150"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="516"/>
- <source>buttonGroup</source>
- <translation>botón Grupo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="95"/>
- <source>Do nothing</source>
- <translation>No hacer nada</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="323"/>
- <source>Add this suffix to file name :</source>
- <translation>Añadir este sufijo al nombre de archivo:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="513"/>
- <source>Move sources files to this folder:</source>
- <translation>Mover archivos de origen a este directorio:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="535"/>
- <source>Place destination files In another folder than sources files</source>
- <translation>Situar destino de archivos en otro directorio distinto al origen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="554"/>
- <source>Overwrite existing destination files</source>
- <translation>Sobreescribir archivos de destino existentes</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="581"/>
- <source>Add size suffix to file name</source>
- <translation>Añadir sufijo de tamaño al nombre</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="641"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Aceptar modificación y salir de ventana</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="644"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="655"/>
- <source>Cancel modification and exit dialog box</source>
- <translation>Cancelar modificación y salir de ventana</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="658"/>
- <source>&Cancel</source>
- <translation>&Cancelar</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="669"/>
- <source>Open help page describing this dialog box</source>
- <translation>Abrir ayuda que describe esta ventana</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="672"/>
- <source>&Help</source>
- <translation>&Ayuda</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="679"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
-</context>
-<context>
- <name>DlgManageDevices</name>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="20"/>
- <source>Manage Devices</source>
- <translation>Gestionar Dispositivos</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="34"/>
- <source>Device type :</source>
- <translation>Tipo de Dispositivo :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="44"/>
- <source>Select the type of equipment to be shown in the list.</source>
- <translation>Seleccionar el tipo de equipo que se mostrará en la lista.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="107"/>
- <source>Subtype</source>
- <translation>Subtipo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="118"/>
- <source>Model</source>
- <translation>Modelo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="140"/>
- <source>Create a new equipment which comes to be added in the database.</source>
- <translation>Crear un nuevo equipo que será añadido a la base de datos.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="143"/>
- <source>Add Device</source>
- <translation>Añadir Dispositivo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="154"/>
- <source>Delete current equipment.</source>
- <translation>Eliminar equipo actual.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="157"/>
- <source>Remove Device</source>
- <translation>Eliminar Dispositivo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="168"/>
- <source>Cancel the modifications that you made on an equipment defined in the default ffDiaporama database</source>
- <translation>Cancelar modificaciones realizadas en un equipo definido en la base de datos predeterminada de ffDiaporama</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="171"/>
- <source>Reset Device to Default</source>
- <translation>Restablecer dispositivo a los valores predeterminados</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="184"/>
- <source>Device subtype :</source>
- <translation>Subtipo de Dispositivo :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="194"/>
- <source>Select the category in which is classified the equipment.</source>
- <translation>Seleccionar la categoría donde estará clasificado el equipo.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="201"/>
- <source>Device model :</source>
- <translation>Modelo de Dispositivo :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="211"/>
- <source>File format :</source>
- <translation>Formato de archivo :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="221"/>
- <source>Enter here the name of the equipment (free text field).</source>
- <translation>Escribir nombre del equipo (texto libre).</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="234"/>
- <source>Select the file type to use for the rendering.</source>
- <translation>Seleccionar tipo de archivo que se va a usar en la generación del video.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="241"/>
- <source>Video standard :</source>
- <translation>Norma de video :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="256"/>
- <source>Select the video standard to use, PAL or NTSC.</source>
- <translation>Seleccionar la norma de vídeo que vamos a utilizar : PAL o NTSC.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="260"/>
- <source>PAL</source>
- <translation>PAL</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="265"/>
- <source>NTSC</source>
- <translation>NTSC</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="288"/>
- <source>Image format :</source>
- <translation>Formato de Imágen :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="298"/>
- <source>Select the image resolution to use for the rendering.</source>
- <translation>Seleccionar la resolución de la imagen que se utilizará en la generación del video.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="308"/>
- <source>Video codec :</source>
- <translation>Codec de video :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="335"/>
- <source>Select the video codec to use for the rendering.</source>
- <translation>Seleccionar codec de vídeo para generarlo.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="348"/>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="413"/>
- <source>Bit rate :</source>
- <translation>Tasa de bits :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="370"/>
- <source>Select the bit rate to use for video during the rendering.</source>
- <translation>Seleccionar la velocidad de bits a utilizar para el vídeo durante la generación.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="379"/>
- <source>Audio codec :</source>
- <translation>Codec de audio :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="406"/>
- <source>Select the audio codec to use for the rendering.</source>
- <translation>Seleccionar codec de audio que se va a usar para la generación del video.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="435"/>
- <source>Select the bit rate to use for audio during the rendering.</source>
- <translation>Selecciona tasa de bits para el audio que se va a usar para la generación del video.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="484"/>
- <source>Apply</source>
- <translation>Aplicar</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="495"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Aceptar modificación y salir</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="498"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="509"/>
- <source>Cancel modification and exit dialog box</source>
- <translation>Cancelar modificación y salir</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="512"/>
- <source>&Cancel</source>
- <translation>&Cancelar</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="523"/>
- <source>Open help page describing this dialog box</source>
- <translation>Abrir página de ayuda que trata de este tema</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="526"/>
- <source>&Help</source>
- <translation>&Ayuda</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="533"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="112"/>
- <source>Apply modification</source>
- <translation>Aplicar modificación</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="113"/>
- <source>Do you whant to apply modification for this device?</source>
- <translation>¿Quiere aplicar la modificación para este dispositivo?</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="535"/>
- <source><new device></source>
- <translation><nuevo dispositivo></translation>
- </message>
-</context>
-<context>
- <name>DlgRenderVideo</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="658"/>
- <source>Error starting ffmpeg</source>
- <translation>Error al lanzar ffmpeg</translation>
- </message>
-</context>
-<context>
- <name>MainWindow</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="95"/>
- <source>File</source>
- <translation>Archivo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="326"/>
- <source>Change application and project settings</source>
- <translation>Cambiar configuración del proyecto y de la aplicación</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="329"/>
- <source>Settings</source>
- <translation>Configuración</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="367"/>
- <source>Exit application (Ctrl+W)</source>
- <translation>Salir de la Aplicación (Ctrl+W)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="370"/>
- <source>Exit</source>
- <translation>Salir</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="383"/>
- <source>Ctrl+W</source>
- <translation>Ctrl+W</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="122"/>
- <source>Refresh</source>
- <translation>Refrescar</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="119"/>
- <source>Refresh tree and folder table</source>
- <translation>Refrescar árbol y tabla de directorio</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="135"/>
- <source>F5</source>
- <translation>F5</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="164"/>
- <source>Open file with default application defined on computer</source>
- <translation>Abrir archivo con aplicación predeterminada definida en el ordenador</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="167"/>
- <source>Open
-File</source>
- <translation>Abrir
-Archivo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="181"/>
- <source>Return</source>
- <translation>Regresar</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="203"/>
- <source>Display detailled information on file</source>
- <translation>Muestra información detallada del archivo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="206"/>
- <source>Display
-Information</source>
- <translation>Mostrar
-Información</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="239"/>
- <source>Remove file from the disk</source>
- <translation>Eliminar archivo desde disco</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="242"/>
- <source>Remove
-File</source>
- <translation>Eliminar
-Archivo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="256"/>
- <source>Del</source>
- <translation>Eliminar</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="278"/>
- <source>Open contextual action menu</source>
- <translation>Abrir menu de acción contextual</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="281"/>
- <source>Action</source>
- <translation>Acción</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="418"/>
- <source>Select display mode</source>
- <translation>Seleccionar modo de vista</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="421"/>
- <source>Mode</source>
- <translation>Modo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="453"/>
- <source>Select file filter</source>
- <translation>Seleccionar filtro</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="456"/>
- <source>Filter</source>
- <translation>Filtro</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="477"/>
- <source>Help</source>
- <translation>Ayuda</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="513"/>
- <source>Display informations about ffDiaporama</source>
- <translation>Muestra información acerca de ffDiaporama</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="516"/>
- <source>About</source>
- <translation>Acerca de</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="560"/>
- <source>Call ffDiaporama WIKI</source>
- <translation>Abrir WIKI de ffDiaporama</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="563"/>
- <source>Support
-and help</source>
- <translation>Soporte
-y Ayuda</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="577"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="611"/>
- <source>Display blog/news page from internet WEB site</source>
- <translation>Muestra blog/página de noticias desde el sitio WEB</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="614"/>
- <source>What's new</source>
- <translation>Actualidad</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1021"/>
- <source>Stop current job</source>
- <translation>Parar trabajo actual</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1062"/>
- <source>Up job in the list</source>
- <translation>Subir trabajo en lista</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1103"/>
- <source>Down job in the list</source>
- <translation>Bajar trabajo en lista</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="60"/>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="74"/>
- <source>Search Raster mode in configuration file</source>
- <translation>Buscar modo Raster en archivo de configuración</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="274"/>
- <source>All suported file (</source>
- <translation>Todos los archivos soportados (</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="281"/>
- <source>Image file (</source>
- <translation>Imagen de archivo (</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="287"/>
- <source>Video file (</source>
- <translation>Archivo de vídeo (</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="293"/>
- <source>Music file (</source>
- <translation>Archivo de música (</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="460"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="387"/>
- <source>Read configuration file</source>
- <translation>Lee archivo de configuración</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="462"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="397"/>
- <source>Error reading configuration file</source>
- <comment>Error message</comment>
- <translatorcomment>Mensaje de error</translatorcomment>
- <translation>Error al leer el archivo de configuración</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="467"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="402"/>
- <source>Error reading content of configuration file</source>
- <comment>Error message</comment>
- <translatorcomment>Mensaje de error</translatorcomment>
- <translation>Error de lectura de contenido del archivo de configuración</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="474"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="409"/>
- <source>The file is not a valid configuration file</source>
- <comment>Error message</comment>
- <translatorcomment>Mensaje de error</translatorcomment>
- <translation>El archivo no es un archivo de configuración válido</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="641"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="456"/>
- <source>Error creating configuration file</source>
- <comment>Error message</comment>
- <translatorcomment>Mensaje de error</translatorcomment>
- <translation>Error al crear el archivo de configuración</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="98"/>
- <source>Loading cached filtered file :</source>
- <translation>Carga de archivos en caché :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="109"/>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="137"/>
- <source>Rescal image to 8MPix</source>
- <translation>Reescalar imagen a 8MPix</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="117"/>
- <source>Error allocating memory for cached filtered file</source>
- <translation>Error al asignar memoria para el archivo de caché</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="119"/>
- <source>Error loading cached filtered file :</source>
- <translation>Error al cargar el archivo de caché :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="126"/>
- <source>Loading file :</source>
- <translation>Cargando archivo :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="145"/>
- <source>Error allocating memory for render image</source>
- <translation>Error al asignar memoria para procesar imagen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="147"/>
- <source>Error loading file :</source>
- <translation>Error cargando archivo :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="382"/>
- <source>files</source>
- <translation>archivos</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="383"/>
- <source>folders</source>
- <translation>directorios</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="384"/>
- <source>Total size:</source>
- <translation>Tamaño total:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="385"/>
- <source>Total duration:</source>
- <translation>Duración total:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="451"/>
- <source>Configuration not correct!</source>
- <translation>¡Configuración no correcta!</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="521"/>
- <source>Details view</source>
- <translation>Vista detalles</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="522"/>
- <source>Short summary view</source>
- <translation>Vista resumen corto</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="523"/>
- <source>Long summary view</source>
- <translation>Vista resumen largo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="524"/>
- <source>Small icon view</source>
- <translation>Vista icono pequeño</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="525"/>
- <source>Medium icon view</source>
- <translation>Vista icono mediano</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="526"/>
- <source>Images wall view</source>
- <translation>Imágenes vista muro</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="553"/>
- <source>All files</source>
- <translation>Todos los archivos</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="554"/>
- <source>Managed files</source>
- <translation>Gestionar archivos</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="555"/>
- <source>Image files</source>
- <translation>Archivos de imagen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="556"/>
- <source>Video files</source>
- <translation>Archivos de video</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="557"/>
- <source>Music files</source>
- <translation>Archivos de música</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="558"/>
- <source>ffDiaporama project files</source>
- <translation>Archivos de proyecto ffDiaporama</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="623"/>
- <source>Are you sure to remove theses files ?</source>
- <translation>¿Estás seguro que quieres eliminar estos archivos?</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="626"/>
- <source>Successfuly remove file (%1)</source>
- <translation>Archivos eliminados (%1)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="628"/>
- <source>Failed to remove file (%1)</source>
- <translation>Error al eliminar archivo (%1)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="647"/>
- <source>Are you sure to remove this folder ?</source>
- <translation>¿Estás seguro que quieres eliminar esta carpeta?</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="670"/>
- <source>Impossible to remove file %1 - error %2:%3</source>
- <translation>Imposible eliminar archivo %1 - error %2:%3</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="675"/>
- <source>Impossible to remove folder %1 - error %2:%3</source>
- <translation>Imposible eliminar carpeta %1 - error %2:%3</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="679"/>
- <source>Successfully remove folder (and all is content) %1</source>
- <translation>Carpeta eliminada (y todo su contenido) %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="73"/>
- <source>Applying Despeckle filter</source>
- <translation>Aplicar filtro Despleckle</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="77"/>
- <source>Applying Equalize filter</source>
- <translation>Aplicar filtro Ecualizar</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="81"/>
- <source>Applying Gray filter</source>
- <translation>Aplicar filtro Gris</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="85"/>
- <source>Applying blur filter</source>
- <translation>Aplicar filtro blur</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="89"/>
- <source>Applying sharpen filter</source>
- <translation>Aplicar el filtro de enfoque</translation>
- </message>
-</context>
-<context>
- <name>QCustomFolderTable</name>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="364"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="384"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="428"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="615"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="643"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="654"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="662"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="689"/>
- <source>File</source>
- <comment>Column header</comment>
- <translation>Archivo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="367"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="385"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="429"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="616"/>
- <source>File Type</source>
- <comment>Column header</comment>
- <translation>Tipo de Archivo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="386"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="430"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="617"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="644"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="655"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="663"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="690"/>
- <source>File Size</source>
- <comment>Column header</comment>
- <translation>Tamaño de Archivo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="387"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="431"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="618"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="645"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="656"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="664"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="691"/>
- <source>File Date</source>
- <comment>Column header</comment>
- <translation>Fecha del archivo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="388"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="432"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="619"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="646"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="665"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="692"/>
- <source>Duration</source>
- <comment>Column header</comment>
- <translation>Duración</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="409"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="435"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="620"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="666"/>
- <source>Chapters</source>
- <comment>Column header</comment>
- <translation>Capítulos</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="389"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="433"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="621"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="657"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="667"/>
- <source>Image Size</source>
- <comment>Column header</comment>
- <translation>Tamaño de Imagen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="390"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="434"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="622"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="658"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="668"/>
- <source>Image Format</source>
- <comment>Column header</comment>
- <translation>Formato de Imagen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="391"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="436"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="623"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="659"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="669"/>
- <source>Image Geometry</source>
- <comment>Column header</comment>
- <translation>Geometría de Imagen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="392"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="437"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="624"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="670"/>
- <source>Video Codec</source>
- <comment>Column header</comment>
- <translation>Codec de Video</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="393"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="438"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="625"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="671"/>
- <source>Frame Rate</source>
- <comment>Column header</comment>
- <translation>Velocidad-cuadros</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="394"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="439"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="626"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="672"/>
- <source>Video Bitrate</source>
- <comment>Column header</comment>
- <translation>Video Bitrate</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="395"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="440"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="627"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="673"/>
- <source>Audio Language</source>
- <comment>Column header</comment>
- <translation>Idioma del Audio</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="396"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="441"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="628"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="674"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="693"/>
- <source>Audio Codec</source>
- <comment>Column header</comment>
- <translation>Codec de Audio</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="397"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="442"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="629"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="675"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="694"/>
- <source>Audio Channels</source>
- <comment>Column header</comment>
- <translation>CAnales de Audio</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="398"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="443"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="630"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="676"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="695"/>
- <source>Audio Bitrate</source>
- <comment>Column header</comment>
- <translation>Audio Bitrate</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="399"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="444"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="631"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="677"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="696"/>
- <source>Audio Frequency</source>
- <comment>Column header</comment>
- <translation>Frecuencia de Audio</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="400"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="445"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="632"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="647"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="678"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="697"/>
- <source>Title</source>
- <comment>Column header</comment>
- <translation>Título</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="401"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="446"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="633"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="679"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="698"/>
- <source>Artist</source>
- <comment>Column header</comment>
- <translation>Artista</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="402"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="447"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="634"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="649"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="680"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="699"/>
- <source>Album</source>
- <comment>Column header</comment>
- <translation>Album</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="403"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="448"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="635"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="650"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="681"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="700"/>
- <source>Year</source>
- <comment>Column header</comment>
- <translation>Año</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="404"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="449"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="636"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="682"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="701"/>
- <source>Track</source>
- <comment>Column header</comment>
- <translation>Pista</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="405"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="450"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="637"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="683"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="702"/>
- <source>Genre</source>
- <comment>Column header</comment>
- <translation>Género</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="406"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="451"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="638"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="684"/>
- <source>Comment</source>
- <comment>Column header</comment>
- <translation>Comentario</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="407"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="452"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="639"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="651"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="685"/>
- <source>Composer</source>
- <comment>Column header</comment>
- <translation>Compositor</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="408"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="453"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="640"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="686"/>
- <source>Encoder</source>
- <comment>Column header</comment>
- <translation>Codificador</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="648"/>
- <source>Author</source>
- <comment>Column header</comment>
- <translation>Autor</translation>
- </message>
-</context>
-<context>
- <name>QCustomFolderTree</name>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="99"/>
- <source>Kb</source>
- <comment>Unit Kb</comment>
- <translation>Kb</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
- <source>Mb</source>
- <comment>Unit Mb</comment>
- <translation>Mb</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
- <source>Gb</source>
- <comment>Unit Gb</comment>
- <translation>Gb</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
- <source>Tb</source>
- <comment>Unit Tb</comment>
- <translation>Tb</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="159"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="202"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="334"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="336"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="337"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="443"/>
- <location filename="../src/sharedfiles/QCustomGetFolder.cpp" line="70"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="58"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="93"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="347"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="352"/>
- <source>Personal folder</source>
- <translation>Directorio personal</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="86"/>
- <source>Refresh all</source>
- <translation>Refrescar todo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="87"/>
- <source>Refresh from here</source>
- <translation>Refrescar aquí</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="88"/>
- <source>Create new subfolder</source>
- <translation>Crear nueva subcarpeta</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="89"/>
- <source>Remove folder</source>
- <translation>Eliminar carpeta</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="107"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="115"/>
- <source>Create folder</source>
- <translation>Cear carpeta</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="107"/>
- <source>Folder:</source>
- <translation>Carpeta:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="114"/>
- <source>Error %1:</source>
- <translation>Error %1:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="116"/>
- <source>Impossible to create folder !</source>
- <translation>¡Imposible crear carpeta !</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="348"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="353"/>
- <source>System files</source>
- <translation>Archivos del Sistema</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="94"/>
- <source>Empty drive...</source>
- <translation>Dispositivo vacío...</translation>
- </message>
-</context>
-<context>
- <name>QCustomGetFolder</name>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="20"/>
- <source>Select a folder</source>
- <translation>Seleccionar una carpeta</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="98"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Aceptar modificación y alir de la ventana</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="101"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="112"/>
- <source>Cancel modification and exit dialog box</source>
- <translation>Cancelar modificación y salir de la ventana</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="115"/>
- <source>&Cancel</source>
- <translation>&Cancelar</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="126"/>
- <source>Open help page describing this dialog box</source>
- <translation>Abrir ayuda que describe contenido de esta ventana</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="129"/>
- <source>&Help</source>
- <translation>&Ayuda</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="136"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
-</context>
-<context>
- <name>QCustomJobTable</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="59"/>
- <source>Date/Time</source>
- <translation>Fecha/Hora</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="60"/>
- <source>Status</source>
- <translation>Estado</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="61"/>
- <source>Progress</source>
- <translation>Progreso</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="62"/>
- <source>Job Type</source>
- <translation>Tipo de trabajo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="63"/>
- <source>Current action</source>
- <translation>Acción actual</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="248"/>
- <source>Waiting</source>
- <translation>Esperando</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="249"/>
- <source>Started</source>
- <translation>Iniciado</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="250"/>
- <source>Paused</source>
- <translation>Pausa</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="251"/>
- <source>Canceled</source>
- <translation>Cancelado</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="252"/>
- <source>Succeeded</source>
- <translation>Realizado</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="253"/>
- <source>Ended with error</source>
- <translation>Finalizado con error</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="255"/>
- <source>Not defined</source>
- <translation>Sin definir</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="256"/>
- <source>Open</source>
- <translation>Abrir</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="257"/>
- <source>Display information</source>
- <translation>Mostrar información</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="258"/>
- <source>Remove</source>
- <translation>Eliminar</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="259"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="260"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="261"/>
- <source>Convert</source>
- <translation>Convertir</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="298"/>
- <source>overwrite destination file as needed</source>
- <translation>abrir archivo de destino si es necesario</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="299"/>
- <source>and remove %1</source>
- <translation>y eliminar %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="300"/>
- <source>and rename %1 to %2</source>
- <translation>y renombrar %1 to %2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="301"/>
- <source>and move %1 to %2</source>
- <translation>y mover %1 to %2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="151"/>
- <source>and rescal image to %1</source>
- <translation>y escalar imagen a %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="132"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="153"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="157"/>
- <source>and rotate image</source>
- <translation>y rotar imagen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="133"/>
- <source>but don't rotate image</source>
- <translation>pero no rotar imagen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="159"/>
- <source>new image size will become %1x%2</source>
- <translation>el nuevo tamaño de imagen será %1x%2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="164"/>
- <source>and set codec to %1</source>
- <translation>y fijar codec a %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="131"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="165"/>
- <source>and set audio compression to %1</source>
- <translation>y fijar compresión de audio a %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="132"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="166"/>
- <source>and force audio frequency to %1</source>
- <translation>y forzar frecuencia de audio a %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="133"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="167"/>
- <source>and force to mono</source>
- <translation>y forzar a mono</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="133"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="167"/>
- <source>and force to stereo</source>
- <translation>y forzar a estereo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="106"/>
- <source>and resize to %1x%2</source>
- <translation>y reescalar a %1x%2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="113"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="117"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="121"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="124"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="129"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="139"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="149"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="152"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="155"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="158"/>
- <source>and set video codec to %1</source>
- <translation>y fijar codec de video a %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="114"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="140"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="153"/>
- <source>and set video compression to %1 with + and - 10%</source>
- <translation>y fijar compresión de video a %1 con + y - 10%</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="118"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="122"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="125"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="156"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="159"/>
- <source>and set video compression to %1</source>
- <translation>y fijar compresión de video a %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="131"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="141"/>
- <source>and set video preset %1</source>
- <translation>y fijar perfil de video %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="150"/>
- <source>and set video quality to 2</source>
- <translation>y fijar calidad de video a 2</translation>
- </message>
-</context>
-<context>
- <name>cBaseMediaFile</name>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="391"/>
- <source>Impossible to open file </source>
- <translation>Imposible abrir archivo </translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="391"/>
- <source>Do you want to select another file ?</source>
- <translation>¿ Quiere seleccionar otro achivo ?</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="395"/>
- <source>Select another file for </source>
- <translation>Selecciona otro archivo de</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="407"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="559"/>
- <source>Impossible to open file %1</source>
- <translation>Imposible abrir archivo %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="494"/>
- <source>MPix</source>
- <translation>MPix</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="578"/>
- <source>Unmanaged</source>
- <comment>File type</comment>
- <translation>Sin gestionar</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="902"/>
- <source>Slides</source>
- <translation>Diapositivas</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="903"/>
- <source>Chapters</source>
- <translation>Capítulos</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="959"/>
- <source>Image</source>
- <comment>File type</comment>
- <translation>Imagen</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="960"/>
- <source>Thumbnail</source>
- <comment>File type</comment>
- <translation>Miniatura</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="986"/>
- <source>Image don't have EXIF metadata %1</source>
- <translation>La imagen no tiene metadata EXIF %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1080"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1124"/>
- <source>Impossible to start exiv2 - no exif informations will be decode for %1</source>
- <translation>Imposible lanzar exiv2 - no se mostrará información exif %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1085"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1129"/>
- <source>Error during exiv2 process - no exif informations will be decode for %1</source>
- <translation>Error durante el proceso de exiv2 - no se mostrará información exif %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1089"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1133"/>
- <source>exiv2 return error %1 - no exif informations will be decode for %2</source>
- <translation>exiv2 devuelve error %1 - no se mostrará información exif %2</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1628"/>
- <source>Video</source>
- <comment>File type</comment>
- <translation>Video</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1627"/>
- <source>Music</source>
- <comment>File type</comment>
- <translation>Musica</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1472"/>
- <source>Mono</source>
- <comment>Audio channels mode</comment>
- <translation>Mono</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="390"/>
- <source>Open file</source>
- <translation>Abrir archivo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="84"/>
- <source>Error overwritting %1</source>
- <translation>Error sobreescribiendo %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="867"/>
- <source>Slide number</source>
- <translation>Número de diapositiva</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="932"/>
- <source>ffDiaporama</source>
- <comment>File type</comment>
- <translation>ffDiaporama</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1473"/>
- <source>Stereo</source>
- <comment>Audio channels mode</comment>
- <translation>Estéreo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="706"/>
- <source>Folder</source>
- <comment>File type</comment>
- <translation>Directorio</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="582"/>
- <source>Impossible to start exiv2 - no exif informations will be set for %1</source>
- <translation>Imposible ejecutar exiv2 no habrá información exif para %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="587"/>
- <source>Error during exiv2 process - no exif informations will be set for %1</source>
- <translation>Error duarnte el proceso de exiv2 - no habrá información exif para %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="591"/>
- <source>exiv2 return error %1 - no exif informations will be set for %2</source>
- <translation>exiv2 devuelve el error %1 - no habrá información exif para %2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="597"/>
- <source>Successfully add minimal exif values to %1</source>
- <translation>Añadidos valores exif mínimos a %1</translation>
- </message>
-</context>
-<context>
- <name>cDeviceModelList</name>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="504"/>
- <source>Advanced</source>
- <comment>Device database type</comment>
- <translation>Avanzado</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
- <source>Smartphone</source>
- <comment>Device database type</comment>
- <translation>Smartphone</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
- <source>Multimedia system</source>
- <comment>Device database type</comment>
- <translation>Sistema Multimedia</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
- <source>For the WEB</source>
- <comment>Device database type</comment>
- <translation>Para la WEB</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
- <source>Lossless</source>
- <comment>Device database type</comment>
- <translation>Sin pérdidas</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
- <source>Portable Player</source>
- <comment>Device database type</comment>
- <translation>Reproductor portátil</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
- <source>Netbook/NetPC</source>
- <comment>Device database type</comment>
- <translation>Netbook/NetPC</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
- <source>Handheld game console</source>
- <comment>Device database type</comment>
- <translation>Consola de juegos portátil</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
- <source>Tablet computer</source>
- <comment>Device database type</comment>
- <translation>Tablet PC</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
- <source>Multimedia hard drive and gateway</source>
- <comment>Device database type</comment>
- <translation>Disco duro multimedia y pasarela</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
- <source>Player</source>
- <comment>Device database type</comment>
- <translation>Reproductor</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
- <source>ADSL Box</source>
- <comment>Device database type</comment>
- <translation>ADSL Box</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
- <source>Game console</source>
- <comment>Device database type</comment>
- <translation>Consola de Juegos</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
- <source>SWF Flash Player</source>
- <comment>Device database type</comment>
- <translation>Reproductor SWF Flash</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
- <source>Video-sharing and social WebSite</source>
- <comment>Device database type</comment>
- <translation>Intercambio de videos y Web Social</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
- <source>HTML 5</source>
- <comment>Device database type</comment>
- <translation>HTML 5</translation>
- </message>
-</context>
-<context>
- <name>cJobQueue</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="400"/>
- <source>Applying source transformation : Sorry no yet developped !</source>
- <translation>Aplicando transformación : ¡ Disculpas, aún no está desarrollado !</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="416"/>
- <source>Failed to remove existing destination file (%1)</source>
- <translation>Error al eliminar archivo de destino existente(%1)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="418"/>
- <source>Successfully remove existing destination file (%1)</source>
- <translation>Eliminado archivo de destino existente(%1)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="430"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="624"/>
- <source>Jobtype error</source>
- <translation>Error de tipo de trabajo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="451"/>
- <source>Start image conversion of %1 to %2</source>
- <translation>Iniciando conversión de imagen de %1 a %2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="454"/>
- <source>Open file</source>
- <translation>Abrir archivo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="457"/>
- <source>Successfully open file %1</source>
- <translation>Abriendo archivo %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="460"/>
- <source>Rescal image</source>
- <translation>Reescalar imagen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="482"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="510"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="551"/>
- <source>Failed to rotate image</source>
- <translation>Error al rotar imagen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="483"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="511"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="552"/>
- <source>Succesfully rotate image</source>
- <translation>Imagen rotada</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="536"/>
- <source>Failed to rescal image %1 to %2x%3</source>
- <translation>Error al reescalar imagen %1 a %2x%3</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="537"/>
- <source>Succesfully rescal image %1 to %2x%3</source>
- <translation>Imagen reescalada %1 a %2x%3</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="557"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="642"/>
- <source>Apply destination overwriting strategy</source>
- <translation>Aplicando estrategia para sobreescribir en destino</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="561"/>
- <source>Save image file</source>
- <translation>Guardar archivo de imagen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="572"/>
- <source>Add minimal exif value to image file</source>
- <translation>Añadir valor mínimo de exif a imagen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="599"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="695"/>
- <source>Apply source file strategy</source>
- <translation>Aplicar estrategia a archivo de origen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="612"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="706"/>
- <source>Job finished</source>
- <translation>Tabajo finalizado</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="639"/>
- <source>Start audio conversion of %1 to %2</source>
- <translation>Iniciando conversión de audio de %1 a %2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="644"/>
- <source>Error : for sound conversion, source and destination must be different !</source>
- <translation>Error : ¡para conversión de sonido, origen y destino deben ser diferentes !</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="653"/>
- <source>Process ffmpeg job</source>
- <translation>Procesando trabajo de ffmepg</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="688"/>
- <source>Error : ffmpeg job can't start : %1</source>
- <translation>Error : no se puede iniciar trabajo de ffmpeg : %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="689"/>
- <source>Error : ffmpeg return error %1</source>
- <translation>Error : ffmpeg devuelve error %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="691"/>
- <source>Succesfully process ffmpeg job</source>
- <translation>Procesado el trabajo de ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="456"/>
- <source>Failed to open file %1</source>
- <translation>Error al abrir archivo %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="563"/>
- <source>Failed to write destination file %1</source>
- <translation>Error al escribir el archivo de destino %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="565"/>
- <source>Successfully writing destination file %1</source>
- <translation>Archivo de destino creado %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="411"/>
- <source>Destination file (%1) already exist</source>
- <translation>Archivo de destino (%1) ya existe</translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertAudio</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="39"/>
- <source>Convert audio</source>
- <translation>Convertir audio</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="46"/>
- <source>Format :</source>
- <translation>Formato :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="68"/>
- <source>Select the audio codec to use for the rendering.</source>
- <translation>Seleccionar codec de audio que se va a usar para la generación del video.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="75"/>
- <source>Bit rate :</source>
- <translation>Tasa de bits :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="97"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="158"/>
- <source>Select the bit rate to use for audio during the rendering.</source>
- <translation>Selecciona tasa de bits para el audio que se va a usar para la generación del video.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="104"/>
- <source>Force to mono</source>
- <translation>Forzar a mono</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="111"/>
- <source>Force to stereo</source>
- <translation>Forzar a estereo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="139"/>
- <source>Change frequency to :</source>
- <translation>CAmbiar frecuencia a :</translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertImage</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="48"/>
- <source>Convert image</source>
- <translation>Convertir imagen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="79"/>
- <source>Quality :</source>
- <translation>Calidad:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="93"/>
- <source>QVGA (240 rows)</source>
- <translation>QVGA (240 líneas)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="98"/>
- <source>HVGA (320 rows)</source>
- <translation>HVGA (320 líneas)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="103"/>
- <source>VGA/WVGA (480 rows)</source>
- <translation>VGA/WVGA (480 líneas)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="108"/>
- <source>SD/DVD (576 rows)</source>
- <translation>SD/DVD (576 líneas)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="113"/>
- <source>720p (720 rows)</source>
- <translation>720p (720 líneas)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="118"/>
- <source>XGA (768 rows)</source>
- <translation>XGA (768 líneas)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="123"/>
- <source>1080p (1080 rows)</source>
- <translation>1080p (1080 líneas)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="156"/>
- <source>Resize :</source>
- <translation>Redimensionar :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="169"/>
- <source>But not upscale image</source>
- <translation>Sin escalar imagen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="250"/>
- <source>Format :</source>
- <translation>Formato :</translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertVideo</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="33"/>
- <source>Convert video</source>
- <translation>Convertir video</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="40"/>
- <source>Device type :</source>
- <translation>Tipo de Dispositivo :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="50"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="91"/>
- <source>Select the type of equipment.</source>
- <translation>Seleccionar tipo de equipo.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="57"/>
- <source>Device model :</source>
- <translation>Modelo de Dispositivo :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="67"/>
- <source>Select the model of equipment</source>
- <translation>Seleccionar modelo de equipo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="74"/>
- <source>Include sound in the video</source>
- <translation>Incluir sonido en el video</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="81"/>
- <source>Device :</source>
- <translation>Dispositivo :</translation>
- </message>
-</context>
-</TS>
diff --git a/locale/ffDiaporamaMMFiler_fr.qm b/locale/ffDiaporamaMMFiler_fr.qm
deleted file mode 100755
index b97e1b7..0000000
Binary files a/locale/ffDiaporamaMMFiler_fr.qm and /dev/null differ
diff --git a/locale/ffDiaporamaMMFiler_fr.ts b/locale/ffDiaporamaMMFiler_fr.ts
deleted file mode 100755
index 6147345..0000000
--- a/locale/ffDiaporamaMMFiler_fr.ts
+++ /dev/null
@@ -1,2380 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.0" language="fr_FR">
-<context>
- <name>DlgAbout</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="26"/>
- <source>About</source>
- <translation>A propos de</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="93"/>
- <source>Licence</source>
- <translation>Licence</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="112"/>
- <source>This software is licensed under the GPL version 2 :</source>
- <translation>Cette application est placée sous licence GPL version 2 :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="214"/>
- <source>Credits</source>
- <translation>Citations</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="258"/>
- <source>This application was developped using Open Source version of Qt 4.7 SDK</source>
- <translation>Cette application a été développé avec la version Open Source du SDK QT 4.7</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="268"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="318"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="349"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="387"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="418"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="588"/>
- <source>WEB site & licence :</source>
- <translation>Site WEB et licence :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="305"/>
- <source>Video decoding and encoding engines are based on ffmpeg</source>
- <translation>Les moteurs d'encodage et de décodage vidéo sont basés sur ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="405"/>
- <source>Many icons are from the Crystal Project</source>
- <translation>Un grand nombre d'icônes sont issus du projet Crystal</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="105"/>
- <source>Copyright (C) 2011-2012 Dominique Levray</source>
- <translation>Copyright (C) 2011-2012 Dominique Levray</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="336"/>
- <source>Image exif decoding is based on Exiv2 - Image metadata library and tools</source>
- <translation>Le décodage exif des images est basé sur Exiv2 - Image metadata library and tools</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="367"/>
- <source>Other images and graphical material are using Creative Common Licence 2</source>
- <translation>Les autres images et composant graphiques utilisent la licence Creative Common Licence 2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="380"/>
- <source>C.C. WEB site :</source>
- <translation>Site WEB de C.C. :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="551"/>
- <source>Image effects are based on fmt_filters</source>
- <translation>Les effets d'images sont basés sur fmt_filters</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="575"/>
- <source>TAG managment based on TAGLib</source>
- <translation>Gestion des TAG basé sur TAGLib</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="672"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
-</context>
-<context>
- <name>DlgApplicationSettings</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="32"/>
- <source>Application settings</source>
- <translation>Options</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="129"/>
- <source>Application options</source>
- <translation>Options de l'application</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="99"/>
- <source>Remember Windows size and positions</source>
- <translation>Mémoriser la taille et la position des fenêtres</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="115"/>
- <source>Remember last used folders</source>
- <translation>Mémoriser les derniers répertoires utilisés</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="54"/>
- <source>Application Options</source>
- <translation>Options de l'application</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="96"/>
- <source>If this box is checked, the sizes and the positions of all the windows and dialogue box of ffDiaporama will be saved to be reused the next time which you will use ffDiaporama.</source>
- <translation>Si cette case est cochée, les tailles et positions de toutes les fenêtres et boites de dialogue de ffDiaporama seront sauvegardées pour être réutilisées la prochaine fois que vous utiliserez ffDiaporama.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="112"/>
- <source>If this box is checked, the directories that you use for the images, the videos, the projects, the musics and the generations of movie will be saved to be reused the next time which you will use ffDiaporama.</source>
- <translation>Si cette case est cochée, les répertoires que vous utilisez pour les images, les vidéos, les projets, les musiques et les générations de film seront sauvegardés pour être réutilisés la prochaine fois que vous utiliserez ffDiaporama.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="171"/>
- <source>Enable "raster" Graphics System (Need application restart)</source>
- <translation>Activer le système graphique "raster" (Nécessite un redémarrage de l'application)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="155"/>
- <source>Video options</source>
- <translation>Options des vidéos</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="184"/>
- <source>Automatically crop 1920x1088 video to 1920x1080</source>
- <translation>Couper automatiquement les vidéos 1920x1088 en 1920x1080</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="197"/>
- <source>Show hidden folders and files</source>
- <translation>Afficher les fichiers et répertoires cachés</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="210"/>
- <source>Display folders first</source>
- <translation>Afficher d'abord les répertoires</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="223"/>
- <source>Display only drives mounted in /media/</source>
- <translation>N'afficher que les disques montés dans /media/</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="261"/>
- <source>Image :</source>
- <translation>Image :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="293"/>
- <source>Music :</source>
- <translation>Musique :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="300"/>
- <source>Video :</source>
- <translation>Vidéo :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="341"/>
- <source>Display filename in icon views</source>
- <translation>Afficher les noms de fichiers dans les vues icônes</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="348"/>
- <source>Thumbnails size for big icons mode :</source>
- <translation>Taille des vignettes en vue mur d'images :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="415"/>
- <source>Thumbnail rules options</source>
- <translation>Règles de génération des vignettes</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="446"/>
- <source>Minimum height for EXIF "Preview Image" :</source>
- <translation>Hauteur minimum pour prendre en compte les "Preview Image" EXIF :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="453"/>
- <source>Define minimum height Preview Image must have to use it</source>
- <translation>Définie la hauteur minimum pour utiliser comme vignette les "Preview Images" contenues dans les données EXIF</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="457"/>
- <source>No minimum height</source>
- <translation>Pas de hauteur minimum</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="462"/>
- <source>Not less than 100</source>
- <translation>Pas en dessous de 100</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="467"/>
- <source>Not less than 200</source>
- <translation>Pas en dessous de 200</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="510"/>
- <source>Check Configuration</source>
- <translation>Vérifier la configuration</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="545"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Valider les modifications et quitter la boite de dialogue</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="559"/>
- <source>Cancel modification and exit dialog box</source>
- <translation>Annuler les modifications et quitter la boite de dialogue</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="573"/>
- <source>Open help page describing this dialog box</source>
- <translation>Ouvrir la page de documentation correspondant à cette boite de dialogue</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="576"/>
- <source>&Help</source>
- <translation>&Aide</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="583"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="521"/>
- <source>Manage Devices</source>
- <translation>Gérer les profils</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="380"/>
- <source>Display options</source>
- <translation>Options d'affichage</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="548"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="562"/>
- <source>&Cancel</source>
- <translation>&Annuler</translation>
- </message>
-</context>
-<context>
- <name>DlgCheckConfig</name>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="22"/>
- <source>Check configuration</source>
- <translation>Vérification de la configuration</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="49"/>
- <source>Check configuration at startup</source>
- <translation>Vérifier la configuration au démarrage</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="69"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Valider les modifications et quitter la boite de dialogue</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="72"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="83"/>
- <source>Open help page describing this dialog box</source>
- <translation>Ouvrir la page de documentation correspondant à cette boite de dialogue</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="86"/>
- <source>&Help</source>
- <translation>&Aide</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="93"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="63"/>
- <source>ffmpeg not found - critical - application will stop !</source>
- <translation>ffmpeg non trouvé - critique - l'application va s'arréter !</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="165"/>
- <source>ffmpeg Audio Codecs</source>
- <translation>Codecs audio ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <source>available</source>
- <translation>disponible</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="60"/>
- <source>Unable to determine ffmpeg version</source>
- <translation>Impossible de déterminer la version de ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="103"/>
- <source>LibExiv2 version:</source>
- <translation>LibExiv2 version : </translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="105"/>
- <source>LibExiv2/Exiv2 binary version</source>
- <translation>LibExiv2/Exiv2 en version binaire</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <source>not available</source>
- <translation>non disponible</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <source>LibExiv2 support for preview image</source>
- <translation>LibExiv2 support de la prévisualisation</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="119"/>
- <source>TAGLib version:</source>
- <translation>TAGLib version : </translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <source>TAGLib support for FLAC</source>
- <translation>TAGLib support des fichiers FLAC</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <source>TAGLib support for ASF/WMA</source>
- <translation>TAGLib support des fichiers ASF/WMA</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <source>TAGLib support for M4A/MP4</source>
- <translation>TAGLib support des fichiers M4A/MP4</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="149"/>
- <source>ffmpeg version:</source>
- <translation>ffmpeg version : </translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="150"/>
- <source>LIBAVCODEC version:</source>
- <translation>LIBAVCODEC version : </translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="151"/>
- <source>LIBAVFORMAT version:</source>
- <translation>LIBAVFORMAT version : </translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="152"/>
- <source>LIBSWSCALE version:</source>
- <translation>LIBSWSCALE version : </translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <source>ffmpeg support for TAG and CHAPTERS</source>
- <translation>ffmpeg support des TAG et des chapitres</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="169"/>
- <source>ffmpeg Video Codecs</source>
- <translation>Codecs vidéo ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
- <source>ffmpeg Container Formats</source>
- <translation>Formats de fichier ffmpeg</translation>
- </message>
-</context>
-<context>
- <name>DlgInfoFile</name>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="25"/>
- <source>File information</source>
- <translation>Information sur le fichier</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="93"/>
- <source>File name :</source>
- <translation>Nom de fichier :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="100"/>
- <source>File type :</source>
- <translation>Type de fichier :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="133"/>
- <source>File size :</source>
- <translation>Taille du fichier :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="153"/>
- <source>File created :</source>
- <translation>Date de création :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="167"/>
- <source>File modify :</source>
- <translation>Date de modification :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="219"/>
- <source>Video track information</source>
- <translation>Information sur les pistes vidéo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="323"/>
- <source>Chapter information</source>
- <translation>Information sur les chapitres</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="288"/>
- <source>Audio track information</source>
- <translation>Information sur les pistes audio</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="379"/>
- <source>Additional information</source>
- <translation>Autres informations</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="418"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Valider les modifications et quitter la boite de dialogue</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="421"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="432"/>
- <source>Open help page describing this dialog box</source>
- <translation>Ouvrir la page de documentation correspondant à cette boite de dialogue</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="435"/>
- <source>&Help</source>
- <translation>&Aide</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="442"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
-</context>
-<context>
- <name>DlgJobSettings</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="20"/>
- <source>Job settings</source>
- <translation>Options du job</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="67"/>
- <source>What to do to sources files ?</source>
- <translation>Que faire des fichiers sources ?</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="147"/>
- <source>Rename sources files by adding this suffix:</source>
- <translation>Renommer le fichier source en ajoute ce suffixe :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="293"/>
- <source>How to name destinations files ?</source>
- <translation>Comment nommer les fichiers destinations ?</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="117"/>
- <source>Delete sources files</source>
- <translation>Supprimer les fichiers sources</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="98"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="120"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="150"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="516"/>
- <source>buttonGroup</source>
- <translation>buttonGroup</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="95"/>
- <source>Do nothing</source>
- <translation>Ne rien faire (laisser les fichiers sources tels qu'ils sont)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="323"/>
- <source>Add this suffix to file name :</source>
- <translation>Ajouter ce suffixe au nom de fichier :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="513"/>
- <source>Move sources files to this folder:</source>
- <translation>Déplacer les fichiers sources dans ce répertoire :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="535"/>
- <source>Place destination files In another folder than sources files</source>
- <translation>Placer les fichiers destinations dans un autre répertoire</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="554"/>
- <source>Overwrite existing destination files</source>
- <translation>Ecraser des fichiers existants</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="581"/>
- <source>Add size suffix to file name</source>
- <translation>Ajouter un suffixe correspondant à la taille</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="641"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Valider les modifications et quitter la boite de dialogue</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="644"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="655"/>
- <source>Cancel modification and exit dialog box</source>
- <translation>Annuler les modifications et quitter la boite de dialogue</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="658"/>
- <source>&Cancel</source>
- <translation>&Annuler</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="669"/>
- <source>Open help page describing this dialog box</source>
- <translation>Ouvrir la page de documentation correspondant à cette boite de dialogue</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="672"/>
- <source>&Help</source>
- <translation>&Aide</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="679"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
-</context>
-<context>
- <name>DlgManageDevices</name>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="20"/>
- <source>Manage Devices</source>
- <translation>Gérer les profils de génération</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="34"/>
- <source>Device type :</source>
- <translation>Type d'équipement :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="44"/>
- <source>Select the type of equipment to be shown in the list.</source>
- <translation>Sélectionner le type d'équipement à afficher dans la liste.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="107"/>
- <source>Subtype</source>
- <translation>Sous-type</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="118"/>
- <source>Model</source>
- <translation>Modèle</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="140"/>
- <source>Create a new equipment which comes to be added in the database.</source>
- <translation>Créer un nouvel équipement qui vient s'ajouter dans la base de données.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="143"/>
- <source>Add Device</source>
- <translation>Ajouter</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="154"/>
- <source>Delete current equipment.</source>
- <translation>Supprimer l'équipement actuellement sélectionner.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="157"/>
- <source>Remove Device</source>
- <translation>Supprimer</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="168"/>
- <source>Cancel the modifications that you made on an equipment defined in the default ffDiaporama database</source>
- <translation>Annuler les modifications que vous avez effectué sur un équipement défini dans la base de données par défaut de ffDiaporama</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="171"/>
- <source>Reset Device to Default</source>
- <translation>Valeur par défaut</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="184"/>
- <source>Device subtype :</source>
- <translation>Sous-type d'équipement :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="194"/>
- <source>Select the category in which is classified the equipment.</source>
- <translation>Sélectionner la catégorie dans laquelle est classé l'équipement.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="201"/>
- <source>Device model :</source>
- <translation>Modèle :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="211"/>
- <source>File format :</source>
- <translation>Format de fichier :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="221"/>
- <source>Enter here the name of the equipment (free text field).</source>
- <translation>Définir le nom de l'équipement (zone de texte libre).</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="234"/>
- <source>Select the file type to use for the rendering.</source>
- <translation>Selectionner le type de fichier à utiliser pour la génération.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="241"/>
- <source>Video standard :</source>
- <translation>Standard vidéo :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="256"/>
- <source>Select the video standard to use, PAL or NTSC.</source>
- <translation>Sélectionner le standard vidéo à utiliser : PAL ou NTSC.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="260"/>
- <source>PAL</source>
- <translation>PAL</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="265"/>
- <source>NTSC</source>
- <translation>NTSC</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="288"/>
- <source>Image format :</source>
- <translation>Format d'image :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="298"/>
- <source>Select the image resolution to use for the rendering.</source>
- <translation>Sélectionner la résolution d'image à utiliser pour la génération.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="308"/>
- <source>Video codec :</source>
- <translation>Codec vidéo :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="335"/>
- <source>Select the video codec to use for the rendering.</source>
- <translation>Sélectionner le CODEC vidéo à utiliser pour la génération.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="348"/>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="413"/>
- <source>Bit rate :</source>
- <translation>Compression :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="370"/>
- <source>Select the bit rate to use for video during the rendering.</source>
- <translation>Sélectionner le taux de compression vidéo à utiliser pour la génération.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="379"/>
- <source>Audio codec :</source>
- <translation>Codec audio :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="406"/>
- <source>Select the audio codec to use for the rendering.</source>
- <translation>Sélectionner le CODEC audio à utiliser pour la génération.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="435"/>
- <source>Select the bit rate to use for audio during the rendering.</source>
- <translation>Sélectionner le taux de compression audio à utiliser pour la génération.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="484"/>
- <source>Apply</source>
- <translation>Appliquer</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="495"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Valider les modifications et quitter la boite de dialogue</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="498"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="509"/>
- <source>Cancel modification and exit dialog box</source>
- <translation>Annuler les modifications et quitter la boite de dialogue</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="512"/>
- <source>&Cancel</source>
- <translation>&Annuler</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="523"/>
- <source>Open help page describing this dialog box</source>
- <translation>Ouvrir la page de documentation correspondant à cette boite de dialogue</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="526"/>
- <source>&Help</source>
- <translation>&Aide</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="533"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="112"/>
- <source>Apply modification</source>
- <translation>Appliquer les modifications</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="113"/>
- <source>Do you whant to apply modification for this device?</source>
- <translation>Voulez-vous enregistrer les changements pour cet équipement ?</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="535"/>
- <source><new device></source>
- <translation><nouvel équipement></translation>
- </message>
-</context>
-<context>
- <name>DlgRenderVideo</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="658"/>
- <source>Error starting ffmpeg</source>
- <translation>Erreur lors du démarrage de ffmpeg</translation>
- </message>
-</context>
-<context>
- <name>MainWindow</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="383"/>
- <source>Ctrl+W</source>
- <translation>Ctrl+W</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="95"/>
- <source>File</source>
- <translation>Fichier</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="326"/>
- <source>Change application and project settings</source>
- <translation>Changer les options du programme et des projets</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="367"/>
- <source>Exit application (Ctrl+W)</source>
- <translation>Quitter l'application (Ctrl+W)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="370"/>
- <source>Exit</source>
- <translation>Quitter</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="577"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="122"/>
- <source>Refresh</source>
- <translation>Actualiser</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="119"/>
- <source>Refresh tree and folder table</source>
- <translation>Actualiser l'arbre et le dossier</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="135"/>
- <source>F5</source>
- <translation>F5</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="164"/>
- <source>Open file with default application defined on computer</source>
- <translation>Ouvrir le fichier avec l'application définie par défaut</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="167"/>
- <source>Open
-File</source>
- <translation>Ouvrir</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="181"/>
- <source>Return</source>
- <translation>Entrée</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="203"/>
- <source>Display detailled information on file</source>
- <translation>Affiche des informations détaillées sur les fichiers</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="206"/>
- <source>Display
-Information</source>
- <translation>Info</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="239"/>
- <source>Remove file from the disk</source>
- <translation>Supprimer les fichiers du disque</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="242"/>
- <source>Remove
-File</source>
- <translation>Supprimer</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="256"/>
- <source>Del</source>
- <translation>Suppr</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="278"/>
- <source>Open contextual action menu</source>
- <translation>Ouvrir le menu contextuel des actions</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="281"/>
- <source>Action</source>
- <translation>Action</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="418"/>
- <source>Select display mode</source>
- <translation>Selectionner le mode d'affichage</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="421"/>
- <source>Mode</source>
- <translation>Mode</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="453"/>
- <source>Select file filter</source>
- <translation>Selectionner le filtre des fichiers</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="456"/>
- <source>Filter</source>
- <translation>Filtre</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="477"/>
- <source>Help</source>
- <translation>Aide</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="513"/>
- <source>Display informations about ffDiaporama</source>
- <translation>Affiche des informations sur ffDiaporama</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="516"/>
- <source>About</source>
- <translation>A propos
-de</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="560"/>
- <source>Call ffDiaporama WIKI</source>
- <translation>Ouvrir la documentation de ffDiaporama</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="563"/>
- <source>Support
-and help</source>
- <translation>Aide
-Support</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="611"/>
- <source>Display blog/news page from internet WEB site</source>
- <translation>Ouvrir la page Blog/Nouvelles du site internet de ffDiaporama</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1021"/>
- <source>Stop current job</source>
- <translation>Arréter le job en cours</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1062"/>
- <source>Up job in the list</source>
- <translation>Monter le job dans la liste</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1103"/>
- <source>Down job in the list</source>
- <translation>Descendre le job dans la liste</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="329"/>
- <source>Settings</source>
- <translation>Options</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="614"/>
- <source>What's new</source>
- <translation>Nouveautés</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="60"/>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="74"/>
- <source>Search Raster mode in configuration file</source>
- <translation>Recherche du mode raster dans le fichier de configuration</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="274"/>
- <source>All suported file (</source>
- <translation>Fichiers supportés (</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="281"/>
- <source>Image file (</source>
- <translation>Fichiers images (</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="287"/>
- <source>Video file (</source>
- <translation>Fichiers vidéos (</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="293"/>
- <source>Music file (</source>
- <translation>Fichiers musicaux (</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="460"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="387"/>
- <source>Read configuration file</source>
- <translation>Lecture du fichier de configuration</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="462"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="397"/>
- <source>Error reading configuration file</source>
- <comment>Error message</comment>
- <translation>Erreur durant la lecture du fichier de configuration</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="467"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="402"/>
- <source>Error reading content of configuration file</source>
- <comment>Error message</comment>
- <translation>Erreur durant la lecture du contenu du fichier de configuration</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="474"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="409"/>
- <source>The file is not a valid configuration file</source>
- <comment>Error message</comment>
- <translation>Le fichier de configuration n'est pas valide</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="641"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="456"/>
- <source>Error creating configuration file</source>
- <comment>Error message</comment>
- <translation>Erreur durant la création du fichier de configuration</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="382"/>
- <source>files</source>
- <translation>fichiers</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="383"/>
- <source>folders</source>
- <translation>répertoires</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="384"/>
- <source>Total size:</source>
- <translation>Taille totale :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="385"/>
- <source>Total duration:</source>
- <translation>Durée totale :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="451"/>
- <source>Configuration not correct!</source>
- <translation>Configuration incorrecte !</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="521"/>
- <source>Details view</source>
- <translation>Vue détaillée</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="522"/>
- <source>Short summary view</source>
- <translation>Vue en résumé court</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="523"/>
- <source>Long summary view</source>
- <translation>Vue en résumé long</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="524"/>
- <source>Small icon view</source>
- <translation>Vue en icônes petites</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="525"/>
- <source>Medium icon view</source>
- <translation>Vue en icônes moyennes</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="526"/>
- <source>Images wall view</source>
- <translation>Vue en mur d'images</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="553"/>
- <source>All files</source>
- <translation>Tous les fichiers</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="554"/>
- <source>Managed files</source>
- <translation>Fichiers pris en charge</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="555"/>
- <source>Image files</source>
- <translation>Fichiers image</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="556"/>
- <source>Video files</source>
- <translation>Fichiers vidéo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="557"/>
- <source>Music files</source>
- <translation>Fichiers audio</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="558"/>
- <source>ffDiaporama project files</source>
- <translation>Projets ffDiaporama</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="623"/>
- <source>Are you sure to remove theses files ?</source>
- <translation>Etes vous sure de vouloir supprimer ces fichiers ?</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="626"/>
- <source>Successfuly remove file (%1)</source>
- <translation>Suppression réussie (%1)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="628"/>
- <source>Failed to remove file (%1)</source>
- <translation>Echec lors de la suppression (%1)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="647"/>
- <source>Are you sure to remove this folder ?</source>
- <translation>Etes vous sure de vouloir supprimer ce répertoire ?</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="670"/>
- <source>Impossible to remove file %1 - error %2:%3</source>
- <translation>Impossible de supprimer le fichier %1 - Erreur %2:%3</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="675"/>
- <source>Impossible to remove folder %1 - error %2:%3</source>
- <translation>Impossible de supprimer le répertoire %1 - Erreur %2:%3</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="679"/>
- <source>Successfully remove folder (and all is content) %1</source>
- <translation>Suppression du répertoire (et de son contenu) réussie %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="98"/>
- <source>Loading cached filtered file :</source>
- <translation>Chargement du fichier de cache :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="109"/>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="137"/>
- <source>Rescal image to 8MPix</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="117"/>
- <source>Error allocating memory for cached filtered file</source>
- <translation>Erreur d'allocation mémoire pour le cache d'image filtrée</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="119"/>
- <source>Error loading cached filtered file :</source>
- <translation>Erreur durant le chargement du fichier cache de l'image filtrée :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="126"/>
- <source>Loading file :</source>
- <translation>Chargement du fichier :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="145"/>
- <source>Error allocating memory for render image</source>
- <translation>Erreur d'allocation mémoire pour l'image complète</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="147"/>
- <source>Error loading file :</source>
- <translation>Erreur durant le chargement de :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="73"/>
- <source>Applying Despeckle filter</source>
- <translation>Applique le filtre Dépoussiérage</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="77"/>
- <source>Applying Equalize filter</source>
- <translation>Applique le filtre Egalise</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="81"/>
- <source>Applying Gray filter</source>
- <translation>Applique le filtre Niveau de gris</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="85"/>
- <source>Applying blur filter</source>
- <translation>Applique le filtre Flou</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="89"/>
- <source>Applying sharpen filter</source>
- <translation>Applique le filtre Netteté</translation>
- </message>
-</context>
-<context>
- <name>QCustomFolderTable</name>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="364"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="384"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="428"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="615"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="643"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="654"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="662"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="689"/>
- <source>File</source>
- <comment>Column header</comment>
- <translation>Fichier</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="367"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="385"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="429"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="616"/>
- <source>File Type</source>
- <comment>Column header</comment>
- <translation>Type</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="386"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="430"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="617"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="644"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="655"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="663"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="690"/>
- <source>File Size</source>
- <comment>Column header</comment>
- <translation>Taille</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="387"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="431"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="618"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="645"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="656"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="664"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="691"/>
- <source>File Date</source>
- <comment>Column header</comment>
- <translation>Date</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="388"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="432"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="619"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="646"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="665"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="692"/>
- <source>Duration</source>
- <comment>Column header</comment>
- <translation>Durée</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="409"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="435"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="620"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="666"/>
- <source>Chapters</source>
- <comment>Column header</comment>
- <translation>Chapitres</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="389"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="433"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="621"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="657"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="667"/>
- <source>Image Size</source>
- <comment>Column header</comment>
- <translation>Taille d'image</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="390"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="434"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="622"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="658"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="668"/>
- <source>Image Format</source>
- <comment>Column header</comment>
- <translation>Format d'image</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="391"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="436"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="623"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="659"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="669"/>
- <source>Image Geometry</source>
- <comment>Column header</comment>
- <translation>Géométrie</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="392"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="437"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="624"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="670"/>
- <source>Video Codec</source>
- <comment>Column header</comment>
- <translation>Codec vidéo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="393"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="438"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="625"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="671"/>
- <source>Frame Rate</source>
- <comment>Column header</comment>
- <translation>Images/sec</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="394"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="439"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="626"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="672"/>
- <source>Video Bitrate</source>
- <comment>Column header</comment>
- <translation>Compression vidéo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="395"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="440"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="627"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="673"/>
- <source>Audio Language</source>
- <comment>Column header</comment>
- <translation>Langue audio</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="396"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="441"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="628"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="674"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="693"/>
- <source>Audio Codec</source>
- <comment>Column header</comment>
- <translation>Codec audio</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="397"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="442"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="629"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="675"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="694"/>
- <source>Audio Channels</source>
- <comment>Column header</comment>
- <translation>Cannaux audio</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="398"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="443"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="630"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="676"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="695"/>
- <source>Audio Bitrate</source>
- <comment>Column header</comment>
- <translation>Compression audio</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="399"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="444"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="631"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="677"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="696"/>
- <source>Audio Frequency</source>
- <comment>Column header</comment>
- <translation>Fréquence audio</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="400"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="445"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="632"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="647"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="678"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="697"/>
- <source>Title</source>
- <comment>Column header</comment>
- <translation>Titre</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="401"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="446"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="633"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="679"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="698"/>
- <source>Artist</source>
- <comment>Column header</comment>
- <translation>Artiste</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="402"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="447"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="634"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="649"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="680"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="699"/>
- <source>Album</source>
- <comment>Column header</comment>
- <translation>Album</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="403"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="448"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="635"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="650"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="681"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="700"/>
- <source>Year</source>
- <comment>Column header</comment>
- <translation>Année</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="404"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="449"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="636"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="682"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="701"/>
- <source>Track</source>
- <comment>Column header</comment>
- <translation>Piste</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="405"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="450"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="637"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="683"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="702"/>
- <source>Genre</source>
- <comment>Column header</comment>
- <translation>Genre</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="406"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="451"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="638"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="684"/>
- <source>Comment</source>
- <comment>Column header</comment>
- <translation>Commentaire</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="407"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="452"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="639"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="651"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="685"/>
- <source>Composer</source>
- <comment>Column header</comment>
- <translation>Composeur</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="408"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="453"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="640"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="686"/>
- <source>Encoder</source>
- <comment>Column header</comment>
- <translation>Encodeur</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="648"/>
- <source>Author</source>
- <comment>Column header</comment>
- <translation>Auteur</translation>
- </message>
-</context>
-<context>
- <name>QCustomFolderTree</name>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="99"/>
- <source>Kb</source>
- <comment>Unit Kb</comment>
- <translation>Ko</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
- <source>Mb</source>
- <comment>Unit Mb</comment>
- <translation>Mo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
- <source>Gb</source>
- <comment>Unit Gb</comment>
- <translation>Go</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
- <source>Tb</source>
- <comment>Unit Tb</comment>
- <translation>To</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="159"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="202"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="334"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="336"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="337"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="443"/>
- <location filename="../src/sharedfiles/QCustomGetFolder.cpp" line="70"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="58"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="93"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="347"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="352"/>
- <source>Personal folder</source>
- <translation>Dossier personnel</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="86"/>
- <source>Refresh all</source>
- <translation>Actualiser tout</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="87"/>
- <source>Refresh from here</source>
- <translation>Actualiser à partir d'ici</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="88"/>
- <source>Create new subfolder</source>
- <translation>Créer un sous-répertoire</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="89"/>
- <source>Remove folder</source>
- <translation>Supprimer un répertoire</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="107"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="115"/>
- <source>Create folder</source>
- <translation>Créer un répertoire</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="107"/>
- <source>Folder:</source>
- <translation>Répertoire :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="114"/>
- <source>Error %1:</source>
- <translation>Erreur %1 :</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="116"/>
- <source>Impossible to create folder !</source>
- <translation>Impossible de créer le répertoire !</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="348"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="353"/>
- <source>System files</source>
- <translation>Système de fichiers</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="94"/>
- <source>Empty drive...</source>
- <translation>Disque vide...</translation>
- </message>
-</context>
-<context>
- <name>QCustomGetFolder</name>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="20"/>
- <source>Select a folder</source>
- <translation>Sélectionner un répertoire</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="98"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Valider les modifications et quitter la boite de dialogue</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="101"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="112"/>
- <source>Cancel modification and exit dialog box</source>
- <translation>Annuler les modifications et quitter la boite de dialogue</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="115"/>
- <source>&Cancel</source>
- <translation>&Annuler</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="126"/>
- <source>Open help page describing this dialog box</source>
- <translation>Ouvrir la page de documentation correspondant à cette boite de dialogue</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="129"/>
- <source>&Help</source>
- <translation>&Aide</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="136"/>
- <source>F1</source>
- <translation>F1</translation>
- </message>
-</context>
-<context>
- <name>QCustomJobTable</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="59"/>
- <source>Date/Time</source>
- <translation>Date/Heure</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="60"/>
- <source>Status</source>
- <translation>Etat</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="61"/>
- <source>Progress</source>
- <translation>Avancement</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="62"/>
- <source>Job Type</source>
- <translation>Type</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="63"/>
- <source>Current action</source>
- <translation>Action en cours</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="248"/>
- <source>Waiting</source>
- <translation>En attente</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="249"/>
- <source>Started</source>
- <translation>Démarré</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="250"/>
- <source>Paused</source>
- <translation>Pausé</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="251"/>
- <source>Canceled</source>
- <translation>Annulé</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="252"/>
- <source>Succeeded</source>
- <translation>Terminé</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="253"/>
- <source>Ended with error</source>
- <translation>Terminé avec erreur</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="255"/>
- <source>Not defined</source>
- <translation>Non définie</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="256"/>
- <source>Open</source>
- <translation>Ouvrir</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="257"/>
- <source>Display information</source>
- <translation>Propriétés</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="258"/>
- <source>Remove</source>
- <translation>Supprimer</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="259"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="260"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="261"/>
- <source>Convert</source>
- <translation>Convertir</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="298"/>
- <source>overwrite destination file as needed</source>
- <translation>ecraser un fichier existant si nécessaire</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="299"/>
- <source>and remove %1</source>
- <translation>et supprimer %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="300"/>
- <source>and rename %1 to %2</source>
- <translation>et renommer %1 en %2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="301"/>
- <source>and move %1 to %2</source>
- <translation>et déplacer %1 vers %2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="151"/>
- <source>and rescal image to %1</source>
- <translation>et redimmensionner l'image en %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="132"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="153"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="157"/>
- <source>and rotate image</source>
- <translation>et tourne l'image</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="133"/>
- <source>but don't rotate image</source>
- <translation>mais ne tourne pas l'image</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="159"/>
- <source>new image size will become %1x%2</source>
- <translation>la nouvelle taille d'image sera %1x%2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="164"/>
- <source>and set codec to %1</source>
- <translation>et utilise le codec %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="131"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="165"/>
- <source>and set audio compression to %1</source>
- <translation>et fixe le taux de compression sur %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="132"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="166"/>
- <source>and force audio frequency to %1</source>
- <translation>et force la fréquence audio à %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="133"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="167"/>
- <source>and force to mono</source>
- <translation>et force en mono</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="133"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="167"/>
- <source>and force to stereo</source>
- <translation>et force en stéréo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="106"/>
- <source>and resize to %1x%2</source>
- <translation>et redimensionne en %1x%2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="113"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="117"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="121"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="124"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="129"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="139"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="149"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="152"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="155"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="158"/>
- <source>and set video codec to %1</source>
- <translation>et utilise le codec vidéo %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="114"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="140"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="153"/>
- <source>and set video compression to %1 with + and - 10%</source>
- <translation>et fixe le taux de compression vidéo sur %1 avec + ou - 10%</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="118"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="122"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="125"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="156"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="159"/>
- <source>and set video compression to %1</source>
- <translation>et fixe le taux de compression vidéo sur %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="131"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="141"/>
- <source>and set video preset %1</source>
- <translation>et fixe le preset vidéo sur %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="150"/>
- <source>and set video quality to 2</source>
- <translation>et fixe la qualité vidéo sur 2</translation>
- </message>
-</context>
-<context>
- <name>cBaseMediaFile</name>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="391"/>
- <source>Impossible to open file </source>
- <translation>Impossible d'ouvrir le fichier </translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="391"/>
- <source>Do you want to select another file ?</source>
- <translation>Voulez vous sélectionner un autre fichier ?</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="395"/>
- <source>Select another file for </source>
- <translation>Sélectionner un fichier de remplacement pour </translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="407"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="559"/>
- <source>Impossible to open file %1</source>
- <translation>Impossible d'ouvrir le fichier %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="494"/>
- <source>MPix</source>
- <translation>MPix</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="578"/>
- <source>Unmanaged</source>
- <comment>File type</comment>
- <translation>Non géré</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="902"/>
- <source>Slides</source>
- <translation>Diapositives</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="903"/>
- <source>Chapters</source>
- <translation>Chapitres</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="959"/>
- <source>Image</source>
- <comment>File type</comment>
- <translation>Image</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="960"/>
- <source>Thumbnail</source>
- <comment>File type</comment>
- <translation>Vignette</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="986"/>
- <source>Image don't have EXIF metadata %1</source>
- <translation>Pas d'information EXIF pour l'image %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1080"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1124"/>
- <source>Impossible to start exiv2 - no exif informations will be decode for %1</source>
- <translation>Impossible de lancer le processus exiv2 - Aucune information exif ne sera collecté pour %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1085"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1129"/>
- <source>Error during exiv2 process - no exif informations will be decode for %1</source>
- <translation>Erreur durant le processus exiv2 - Aucune information exif ne sera collecté pour %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1089"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1133"/>
- <source>exiv2 return error %1 - no exif informations will be decode for %2</source>
- <translation>exiv2 à retourner l'erreur %1 - Aucune information exif ne sera collecté pour %2</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1628"/>
- <source>Video</source>
- <comment>File type</comment>
- <translation>Vidéo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1627"/>
- <source>Music</source>
- <comment>File type</comment>
- <translation>Musique</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1472"/>
- <source>Mono</source>
- <comment>Audio channels mode</comment>
- <translation>Mono</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="390"/>
- <source>Open file</source>
- <translation>Ouvrir un fichier</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="84"/>
- <source>Error overwritting %1</source>
- <translation>Erreur lors de l'écrasement de %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="867"/>
- <source>Slide number</source>
- <translation>Nombre de diapo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="932"/>
- <source>ffDiaporama</source>
- <comment>File type</comment>
- <translation>ffDiaporama</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1473"/>
- <source>Stereo</source>
- <comment>Audio channels mode</comment>
- <translation>Stéréo</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="706"/>
- <source>Folder</source>
- <comment>File type</comment>
- <translation>Répertoire</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="582"/>
- <source>Impossible to start exiv2 - no exif informations will be set for %1</source>
- <translation>Erreur durant le lancement d'exiv2 - Aucune information exiv ne sera inscrite pour %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="587"/>
- <source>Error during exiv2 process - no exif informations will be set for %1</source>
- <translation>Erreur durant le processus exiv2 - Aucune information exiv ne sera inscrite pour %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="591"/>
- <source>exiv2 return error %1 - no exif informations will be set for %2</source>
- <translation>exiv2 a retourné le code d'erreur %1 - Aucune information exiv ne sera inscrite pour %2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="597"/>
- <source>Successfully add minimal exif values to %1</source>
- <translation>Inscription des données exif minimales réussie pour %1</translation>
- </message>
-</context>
-<context>
- <name>cDeviceModelList</name>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="504"/>
- <source>Advanced</source>
- <comment>Device database type</comment>
- <translation>Avancé</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
- <source>Smartphone</source>
- <comment>Device database type</comment>
- <translation>Smartphone</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
- <source>Multimedia system</source>
- <comment>Device database type</comment>
- <translation>Système multimédia</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
- <source>For the WEB</source>
- <comment>Device database type</comment>
- <translation>Pour Internet</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
- <source>Lossless</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
- <source>Portable Player</source>
- <comment>Device database type</comment>
- <translation>Lecteur portable</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
- <source>Netbook/NetPC</source>
- <comment>Device database type</comment>
- <translation>Netbook/NetPC</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
- <source>Handheld game console</source>
- <comment>Device database type</comment>
- <translation>Console de jeux portable</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
- <source>Tablet computer</source>
- <comment>Device database type</comment>
- <translation>Tablette tactile</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
- <source>Multimedia hard drive and gateway</source>
- <comment>Device database type</comment>
- <translation>Disque dur et passerelle multimédia</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
- <source>Player</source>
- <comment>Device database type</comment>
- <translation>Lecteur de salon</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
- <source>ADSL Box</source>
- <comment>Device database type</comment>
- <translation>Box ADSL</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
- <source>Game console</source>
- <comment>Device database type</comment>
- <translation>Console de jeux</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
- <source>SWF Flash Player</source>
- <comment>Device database type</comment>
- <translation>Lecteur Flash SWF</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
- <source>Video-sharing and social WebSite</source>
- <comment>Device database type</comment>
- <translation>Sites de partage et sites sociaux</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
- <source>HTML 5</source>
- <comment>Device database type</comment>
- <translation>HTML 5</translation>
- </message>
-</context>
-<context>
- <name>cJobQueue</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="400"/>
- <source>Applying source transformation : Sorry no yet developped !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="416"/>
- <source>Failed to remove existing destination file (%1)</source>
- <translation>Erreur durant la suppression de l'ancien fichier (%1)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="418"/>
- <source>Successfully remove existing destination file (%1)</source>
- <translation>Suppression réussie d'un ancien fichier de destination (%1)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="430"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="624"/>
- <source>Jobtype error</source>
- <translation>Erreur de type de job</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="451"/>
- <source>Start image conversion of %1 to %2</source>
- <translation>Commence la conversion de l'image %1 vers %2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="454"/>
- <source>Open file</source>
- <translation>Ouvrir un fichier</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="457"/>
- <source>Successfully open file %1</source>
- <translation>Ouverture réussie du fichier %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="460"/>
- <source>Rescal image</source>
- <translation>Redimensionne l'image</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="482"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="510"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="551"/>
- <source>Failed to rotate image</source>
- <translation>Erreur durant la rotation de l'image</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="483"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="511"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="552"/>
- <source>Succesfully rotate image</source>
- <translation>Rotation réussie de l'image</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="536"/>
- <source>Failed to rescal image %1 to %2x%3</source>
- <translation>Erreur durant le redimensionnement de l'image %1 en %2x%3</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="537"/>
- <source>Succesfully rescal image %1 to %2x%3</source>
- <translation>Redimensionnement réussie de l'image %1 en %2x%3</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="557"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="642"/>
- <source>Apply destination overwriting strategy</source>
- <translation>Applique la stratégie d'écrasement pour le fichier de destination</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="561"/>
- <source>Save image file</source>
- <translation>Sauvegarde l'image</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="572"/>
- <source>Add minimal exif value to image file</source>
- <translation>Ajoute les données exif minimales au fichier image</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="599"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="695"/>
- <source>Apply source file strategy</source>
- <translation>Applique la stratégie définie pour le fichier source</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="612"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="706"/>
- <source>Job finished</source>
- <translation>Travail terminé</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="639"/>
- <source>Start audio conversion of %1 to %2</source>
- <translation>Commence la conversion audio de %1 vers %2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="644"/>
- <source>Error : for sound conversion, source and destination must be different !</source>
- <translation>Erreur : Les fichiers source et desination doivent être différent pour les conversions audio !</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="653"/>
- <source>Process ffmpeg job</source>
- <translation>Commence un job ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="688"/>
- <source>Error : ffmpeg job can't start : %1</source>
- <translation>Erreur : Le job ffmpeg n'a pas pu démarrer : %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="689"/>
- <source>Error : ffmpeg return error %1</source>
- <translation>Erreur : ffmpeg a retourner l'erreur %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="691"/>
- <source>Succesfully process ffmpeg job</source>
- <translation>Job ffmpeg réussie</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="456"/>
- <source>Failed to open file %1</source>
- <translation>Erreur durant l'ouverture du fichier %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="563"/>
- <source>Failed to write destination file %1</source>
- <translation>Erreur lors de l'écriture du fichier %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="565"/>
- <source>Successfully writing destination file %1</source>
- <translation>Enregistrement réussie de l'image %1</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="411"/>
- <source>Destination file (%1) already exist</source>
- <translation>Le fichier destination (%1) existe déjà</translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertAudio</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="39"/>
- <source>Convert audio</source>
- <translation>Conversion audio</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="46"/>
- <source>Format :</source>
- <translation>Format :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="68"/>
- <source>Select the audio codec to use for the rendering.</source>
- <translation>Sélectionner le CODEC audio à utiliser pour la génération.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="75"/>
- <source>Bit rate :</source>
- <translation>Compression :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="97"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="158"/>
- <source>Select the bit rate to use for audio during the rendering.</source>
- <translation>Sélectionner le taux de compression audio à utiliser pour la génération.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="104"/>
- <source>Force to mono</source>
- <translation>Forcer en mono</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="111"/>
- <source>Force to stereo</source>
- <translation>Forcer en stéréo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="139"/>
- <source>Change frequency to :</source>
- <translation>Changer la fréquence en :</translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertImage</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="48"/>
- <source>Convert image</source>
- <translation>Convertion d'image</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="79"/>
- <source>Quality :</source>
- <translation>Qualitée :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="93"/>
- <source>QVGA (240 rows)</source>
- <translation>QVGA (240 lignes)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="98"/>
- <source>HVGA (320 rows)</source>
- <translation>HVGA (320 lignes)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="103"/>
- <source>VGA/WVGA (480 rows)</source>
- <translation>VGA/WVGA (480 lignes)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="108"/>
- <source>SD/DVD (576 rows)</source>
- <translation>SD/DVD (576 lignes)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="113"/>
- <source>720p (720 rows)</source>
- <translation>720p (720 lignes)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="118"/>
- <source>XGA (768 rows)</source>
- <translation>XGA (768 lignes)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="123"/>
- <source>1080p (1080 rows)</source>
- <translation>1080p (1080 lignes)</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="156"/>
- <source>Resize :</source>
- <translation>Redimensionner :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="169"/>
- <source>But not upscale image</source>
- <translation>Ne pas agrandir d'image</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="250"/>
- <source>Format :</source>
- <translation>Format :</translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertVideo</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="33"/>
- <source>Convert video</source>
- <translation>Conversion vidéo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="40"/>
- <source>Device type :</source>
- <translation>Type d'équipement :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="50"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="91"/>
- <source>Select the type of equipment.</source>
- <translation>Sélectionner un type d'équipement.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="57"/>
- <source>Device model :</source>
- <translation>Modèle :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="67"/>
- <source>Select the model of equipment</source>
- <translation>Sélectionner un modele d'équipement</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="74"/>
- <source>Include sound in the video</source>
- <translation>Conserver le son dans la vidéo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="81"/>
- <source>Device :</source>
- <translation>Equipement :</translation>
- </message>
-</context>
-</TS>
diff --git a/locale/ffDiaporamaMMFiler_it.qm b/locale/ffDiaporamaMMFiler_it.qm
deleted file mode 100755
index be1df56..0000000
Binary files a/locale/ffDiaporamaMMFiler_it.qm and /dev/null differ
diff --git a/locale/ffDiaporamaMMFiler_it.ts b/locale/ffDiaporamaMMFiler_it.ts
deleted file mode 100755
index a50047f..0000000
--- a/locale/ffDiaporamaMMFiler_it.ts
+++ /dev/null
@@ -1,1778 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.0" language="it_IT" sourcelanguage="en">
-<context>
- <name>DlgAbout</name>
- <message>
- <source>About</source>
- <translation>Riguardo a</translation>
- </message>
- <message>
- <source>Licence</source>
- <translation>Licenza</translation>
- </message>
- <message>
- <source>Copyright (C) 2011-2012 Dominique Levray</source>
- <translation>Copyright (C) 2011-2012 Dominique Levray</translation>
- </message>
- <message>
- <source>This software is licensed under the GPL version 2 :</source>
- <translation>Questo software è rilasciato sotto la licenza GPL versione 2 :</translation>
- </message>
- <message>
- <source>Credits</source>
- <translation>Crediti</translation>
- </message>
- <message>
- <source>This application was developped using Open Source version of Qt 4.7 SDK</source>
- <translation>Questa applicazione è stata sviluppata usando la versione Open Source di Qt 4.7 SDK</translation>
- </message>
- <message>
- <source>WEB site & licence :</source>
- <translation>Web site & licenza :</translation>
- </message>
- <message>
- <source>Video decoding and encoding engines are based on ffmpeg</source>
- <translation>Motore di decodifica e codifica video è basato su ffmpeg</translation>
- </message>
- <message>
- <source>Image exif decoding is based on Exiv2 - Image metadata library and tools</source>
- <translation>Decodifica exif delle immagini è basata su Exiv2 - libreria metadati immagine e programmi</translation>
- </message>
- <message>
- <source>Other images and graphical material are using Creative Common Licence 2</source>
- <translation>Altre immagini e materiale grafico usano Creative Common Licenza 2</translation>
- </message>
- <message>
- <source>C.C. WEB site :</source>
- <translation>C.C. WEB site :</translation>
- </message>
- <message>
- <source>Many icons are from the Crystal Project</source>
- <translation>Molte icone sono del progetto Crystal</translation>
- </message>
- <message>
- <source>Image effects are based on fmt_filters</source>
- <translation>Effetti dell'immagine sono basati su ftm_filters</translation>
- </message>
- <message>
- <source>TAG managment based on TAGLib</source>
- <translation>Gestione TAG basata su TAGlib</translation>
- </message>
- <message>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
-</context>
-<context>
- <name>DlgApplicationSettings</name>
- <message>
- <source>Application settings</source>
- <translation>Impostazioni applicazione</translation>
- </message>
- <message>
- <source>Application Options</source>
- <translation>Opzioni applicazione</translation>
- </message>
- <message>
- <source>If this box is checked, the sizes and the positions of all the windows and dialogue box of ffDiaporama will be saved to be reused the next time which you will use ffDiaporama.</source>
- <translation>Se questa casella e ceccata, le dimensioni e le posizioni di tutte le finestre di ffDiaporama saranno salvate per essere riutilizzate quando userai ffDiaporama.</translation>
- </message>
- <message>
- <source>Remember Windows size and positions</source>
- <translation>Ricorda dimensione e posizioni finestre</translation>
- </message>
- <message>
- <source>If this box is checked, the directories that you use for the images, the videos, the projects, the musics and the generations of movie will be saved to be reused the next time which you will use ffDiaporama.</source>
- <translation>Se questa casella e ceccata, le directory per le immagini, i video, i progetti, le musiche e i video generati saranno salvati per essere riutilizzati la prossima volta che utilizzarai ffDiaporama.</translation>
- </message>
- <message>
- <source>Remember last used folders</source>
- <translation>Ricorda le ultime cartelle usate</translation>
- </message>
- <message>
- <source>Application options</source>
- <translation>Opzioni applicazione</translation>
- </message>
- <message>
- <source>Enable "raster" Graphics System (Need application restart)</source>
- <translation>Abilita il sistema grafico "raster" (Bisogna riavviare l'applicazione)</translation>
- </message>
- <message>
- <source>Video options</source>
- <translation>Opzioni video</translation>
- </message>
- <message>
- <source>Automatically crop 1920x1088 video to 1920x1080</source>
- <translation>Ritaglio automatico video 1920x1088 a 1920x1080</translation>
- </message>
- <message>
- <source>Manage Devices</source>
- <translation>Gestione dispositivi</translation>
- </message>
- <message>
- <source>Show hidden folders and files</source>
- <translation>Visualizza cartelle e file nascosti</translation>
- </message>
- <message>
- <source>Display options</source>
- <translation>Opzioni visualizzazione</translation>
- </message>
- <message>
- <source>Display folders first</source>
- <translation>Visualizza prima le cartelle</translation>
- </message>
- <message>
- <source>Display only drives mounted in /media/</source>
- <translation>Visualizza solo i dispositivi montati in /media/</translation>
- </message>
- <message>
- <source>Image :</source>
- <translation>Immagine :</translation>
- </message>
- <message>
- <source>Music :</source>
- <translation>Musica :</translation>
- </message>
- <message>
- <source>Video :</source>
- <translation>Video :</translation>
- </message>
- <message>
- <source>Display filename in icon views</source>
- <translation>Mostra nome file nell'icona visualizzata</translation>
- </message>
- <message>
- <source>Thumbnails size for big icons mode :</source>
- <translation>Dimensione miniatura per la modalità grandi icone:</translation>
- </message>
- <message>
- <source>Check Configuration</source>
- <translation>Controlla configurazione</translation>
- </message>
- <message>
- <source>Accept modification and exit dialog box</source>
- <translation>Accetta le modifiche e esci dalla finestra di dialogo</translation>
- </message>
- <message>
- <source>&Ok</source>
- <translation>&OK</translation>
- </message>
- <message>
- <source>Cancel modification and exit dialog box</source>
- <translation>Annulla le modifiche e esci dalla finestra di dialogo</translation>
- </message>
- <message>
- <source>&Cancel</source>
- <translation>Annulla (&C)</translation>
- </message>
- <message>
- <source>Open help page describing this dialog box</source>
- <translation>Apri la pagina di aiuto di questa finestra di dialogo</translation>
- </message>
- <message>
- <source>&Help</source>
- <translation>Aiuto(&H)</translation>
- </message>
- <message>
- <source>F1</source>
- <translation>F1</translation>
- </message>
- <message>
- <source>Thumbnail rules options</source>
- <translation>Opzioni regolazione miniatura</translation>
- </message>
- <message>
- <source>Minimum height for EXIF "Preview Image" :</source>
- <translation>Altezza minima per EXIF "Anteprima immagine" :</translation>
- </message>
- <message>
- <source>Define minimum height Preview Image must have to use it</source>
- <translation>Definisce altezza minima dell'anteprima immagine da utilizzare</translation>
- </message>
- <message>
- <source>No minimum height</source>
- <translation>Nessuna altezza minima</translation>
- </message>
- <message>
- <source>Not less than 100</source>
- <translation>Non meno di 100</translation>
- </message>
- <message>
- <source>Not less than 200</source>
- <translation>Non meno di 200</translation>
- </message>
-</context>
-<context>
- <name>DlgCheckConfig</name>
- <message>
- <source>Check configuration</source>
- <translation>Controlla configurazione</translation>
- </message>
- <message>
- <source>Check configuration at startup</source>
- <translation>Controlla configurazione all'avvio</translation>
- </message>
- <message>
- <source>Accept modification and exit dialog box</source>
- <translation>Accetta le modifiche e esci dalla finestra di dialogo</translation>
- </message>
- <message>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <source>Open help page describing this dialog box</source>
- <translation>Apre la pagina di aiuto che descrive questa finestra di dialogo</translation>
- </message>
- <message>
- <source>&Help</source>
- <translation>Aiuto(&H)</translation>
- </message>
- <message>
- <source>F1</source>
- <translation>F1</translation>
- </message>
- <message>
- <source>ffmpeg not found - critical - application will stop !</source>
- <translation>ffmpeg non trovato - critico - l'applicazione sarà fermata !</translation>
- </message>
- <message>
- <source>ffmpeg Audio Codecs</source>
- <translation>ffmpeg Codec Audio</translation>
- </message>
- <message>
- <source>available</source>
- <translation>disponibile</translation>
- </message>
- <message>
- <source>Unable to determine ffmpeg version</source>
- <translation>Impossibile determinare la versione di ffmpeg</translation>
- </message>
- <message>
- <source>LibExiv2 version:</source>
- <translation>Versione LibExiv2:</translation>
- </message>
- <message>
- <source>not available</source>
- <translation>non disponibile</translation>
- </message>
- <message>
- <source>LibExiv2 support for preview image</source>
- <translation>Supporto LibEXiv2 per anteprima immagini</translation>
- </message>
- <message>
- <source>TAGLib version:</source>
- <translation>Versione TAGLib:</translation>
- </message>
- <message>
- <source>TAGLib support for FLAC</source>
- <translation>Supporto TAGLib per FLAC</translation>
- </message>
- <message>
- <source>TAGLib support for ASF/WMA</source>
- <translation>Supporto TAGLib per ASF/WMA</translation>
- </message>
- <message>
- <source>TAGLib support for M4A/MP4</source>
- <translation>Supporto TAGLib per M4A/MP4</translation>
- </message>
- <message>
- <source>ffmpeg version:</source>
- <translation>Versione ffmpeg:</translation>
- </message>
- <message>
- <source>LIBAVCODEC version:</source>
- <translation>Versione LIBAVCODEC:</translation>
- </message>
- <message>
- <source>LIBAVFORMAT version:</source>
- <translation>Versione LIBAVFORMAT:</translation>
- </message>
- <message>
- <source>LIBSWSCALE version:</source>
- <translation>Versione LIBSWSCALE:</translation>
- </message>
- <message>
- <source>ffmpeg support for TAG and CHAPTERS</source>
- <translation>Supporto ffmpeg per TAG e CHAPTERS</translation>
- </message>
- <message>
- <source>ffmpeg Video Codecs</source>
- <translation>ffmpeg Codec Video</translation>
- </message>
- <message>
- <source>ffmpeg Container Formats</source>
- <translation>ffmpeg Formati Contenitore</translation>
- </message>
- <message>
- <source>LibExiv2/Exiv2 binary version</source>
- <translation>LVersione binario LibExiv2/Exiv2</translation>
- </message>
-</context>
-<context>
- <name>DlgInfoFile</name>
- <message>
- <source>File information</source>
- <translation>Informazioi file</translation>
- </message>
- <message>
- <source>File name :</source>
- <translation>Nome file :</translation>
- </message>
- <message>
- <source>File type :</source>
- <translation>Tipo file :</translation>
- </message>
- <message>
- <source>File size :</source>
- <translation>Dimensione file :</translation>
- </message>
- <message>
- <source>File created :</source>
- <translation>File creato :</translation>
- </message>
- <message>
- <source>File modify :</source>
- <translation>File modificato :</translation>
- </message>
- <message>
- <source>Video track information</source>
- <translation>Informazione traccia video</translation>
- </message>
- <message>
- <source>Chapter information</source>
- <translation>Informazioni capitolo</translation>
- </message>
- <message>
- <source>Audio track information</source>
- <translation>Informazioni traccia audio</translation>
- </message>
- <message>
- <source>Additional information</source>
- <translation>Informazioni aggiuntive</translation>
- </message>
- <message>
- <source>Accept modification and exit dialog box</source>
- <translation>Accetta le modifiche e esci dalla finestra di dialogo</translation>
- </message>
- <message>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <source>Open help page describing this dialog box</source>
- <translation>Apri la pagina di aiuto di questa finestra di dialogo</translation>
- </message>
- <message>
- <source>&Help</source>
- <translation>Aiuto(&H)</translation>
- </message>
- <message>
- <source>F1</source>
- <translation>F1</translation>
- </message>
-</context>
-<context>
- <name>DlgJobSettings</name>
- <message>
- <source>Job settings</source>
- <translation>Impostazioni lavoro</translation>
- </message>
- <message>
- <source>What to do to sources files ?</source>
- <translation>Cosa fare per i file sorgenti ?</translation>
- </message>
- <message>
- <source>Do nothing</source>
- <translation>Non fare niente</translation>
- </message>
- <message>
- <source>buttonGroup</source>
- <translation>Gruppo pulsanti</translation>
- </message>
- <message>
- <source>Delete sources files</source>
- <translation>Elimina file sorgenti</translation>
- </message>
- <message>
- <source>Rename sources files by adding this suffix:</source>
- <translation>Rinomina file sorgenti aggiundo questo suffisso:</translation>
- </message>
- <message>
- <source>How to name destinations files ?</source>
- <translation>Come nominare i file destinazione ?</translation>
- </message>
- <message>
- <source>Move sources files to this folder:</source>
- <translation>Sposta file sorgenti in questa cartella:</translation>
- </message>
- <message>
- <source>Place destination files In another folder than sources files</source>
- <translation>Inserire la destinazione file in un'altra cartella rispetto ai file sorgenti</translation>
- </message>
- <message>
- <source>Overwrite existing destination files</source>
- <translation>Sovrascrivi destinazione file esistenti</translation>
- </message>
- <message>
- <source>Accept modification and exit dialog box</source>
- <translation>Accetta le modifiche e esci dalla finestra di dialogo</translation>
- </message>
- <message>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <source>Cancel modification and exit dialog box</source>
- <translation>Annulla le modifiche e esci dalla finestra di dialogo</translation>
- </message>
- <message>
- <source>&Cancel</source>
- <translation>Annulla (&C)</translation>
- </message>
- <message>
- <source>Open help page describing this dialog box</source>
- <translation>Aprire la pagina aiuto che descrive questa finestra</translation>
- </message>
- <message>
- <source>&Help</source>
- <translation>Aiuto(&H)</translation>
- </message>
- <message>
- <source>F1</source>
- <translation>F1</translation>
- </message>
- <message>
- <source>Add this suffix to file name :</source>
- <translation>Aggiungi questo suffisso al nome file :</translation>
- </message>
- <message>
- <source>Add size suffix to file name</source>
- <translation>Aggiungi dimensione suffisso al nome file</translation>
- </message>
-</context>
-<context>
- <name>DlgManageDevices</name>
- <message>
- <source>Manage Devices</source>
- <translation>Gestione dispositivi</translation>
- </message>
- <message>
- <source>Device type :</source>
- <translation>Tipo dispositivo :</translation>
- </message>
- <message>
- <source>Select the type of equipment to be shown in the list.</source>
- <translation>Seleziona il tipo di dispositivo che sarà mostrato nella lista.</translation>
- </message>
- <message>
- <source>Subtype</source>
- <translation>Sottotipo</translation>
- </message>
- <message>
- <source>Model</source>
- <translation>Modello</translation>
- </message>
- <message>
- <source>Create a new equipment which comes to be added in the database.</source>
- <translation>Crea un nuovo dispositivo che verrà aggiunto nel database.</translation>
- </message>
- <message>
- <source>Add Device</source>
- <translation>Aggiungi dispositivo</translation>
- </message>
- <message>
- <source>Delete current equipment.</source>
- <translation>Cancella il dispositivo corrente.</translation>
- </message>
- <message>
- <source>Remove Device</source>
- <translation>Rimuovi dispositivo</translation>
- </message>
- <message>
- <source>Cancel the modifications that you made on an equipment defined in the default ffDiaporama database</source>
- <translation>Annulla le modifiche che hai effettuato sulle definizioni attrezzature nel database predefinito ffDiaporama</translation>
- </message>
- <message>
- <source>Reset Device to Default</source>
- <translation>Ripristina i dispositivi predefiniti</translation>
- </message>
- <message>
- <source>Device subtype :</source>
- <translation>Sottotipo dispositivo :</translation>
- </message>
- <message>
- <source>Select the category in which is classified the equipment.</source>
- <translation>Seleziona la categoria che classifica i dispositivi.</translation>
- </message>
- <message>
- <source>Device model :</source>
- <translation>Modello dispositivo :</translation>
- </message>
- <message>
- <source>File format :</source>
- <translation>Formato file :</translation>
- </message>
- <message>
- <source>Enter here the name of the equipment (free text field).</source>
- <translation>Inserisci quì il nome del dispositivo (testo libero).</translation>
- </message>
- <message>
- <source>Select the file type to use for the rendering.</source>
- <translation>Seleziona il tipo di file da usare per il rendering.</translation>
- </message>
- <message>
- <source>Video standard :</source>
- <translation>Video standard :</translation>
- </message>
- <message>
- <source>Select the video standard to use, PAL or NTSC.</source>
- <translation>Seleziona lo standard video da usare, PAL o NTSC.</translation>
- </message>
- <message>
- <source>PAL</source>
- <translation>PAL</translation>
- </message>
- <message>
- <source>NTSC</source>
- <translation>NTSC</translation>
- </message>
- <message>
- <source>Image format :</source>
- <translation>Formato immagine :</translation>
- </message>
- <message>
- <source>Select the image resolution to use for the rendering.</source>
- <translation>Seleziona la risoluzione immagine da usare per il rendering.</translation>
- </message>
- <message>
- <source>Video codec :</source>
- <translation>Codec video :</translation>
- </message>
- <message>
- <source>Select the video codec to use for the rendering.</source>
- <translation>Seleziona il codec video da usare per il rendering.</translation>
- </message>
- <message>
- <source>Bit rate :</source>
- <translation>Bit rate :</translation>
- </message>
- <message>
- <source>Select the bit rate to use for video during the rendering.</source>
- <translation>Seleziona il bit rate da usare per il video durante il rendering.</translation>
- </message>
- <message>
- <source>Audio codec :</source>
- <translation>Codec audio :</translation>
- </message>
- <message>
- <source>Select the audio codec to use for the rendering.</source>
- <translation>Seleziona il codec audio da usare per il rendering.</translation>
- </message>
- <message>
- <source>Select the bit rate to use for audio during the rendering.</source>
- <translation>Seleziona il bit rate da usare per l'audio durante il rendering.</translation>
- </message>
- <message>
- <source>Apply</source>
- <translation>Applica</translation>
- </message>
- <message>
- <source>Accept modification and exit dialog box</source>
- <translation>Accetta le modifiche e esci dalla finestra di dialogo</translation>
- </message>
- <message>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <source>Cancel modification and exit dialog box</source>
- <translation>Annulla le modifiche e esci dalla finestra di dialogo</translation>
- </message>
- <message>
- <source>&Cancel</source>
- <translation>Annulla (&C)</translation>
- </message>
- <message>
- <source>Open help page describing this dialog box</source>
- <translation>Apri la pagina di aiuto di questa finestra di dialogo</translation>
- </message>
- <message>
- <source>&Help</source>
- <translation>Aiuto(&H)</translation>
- </message>
- <message>
- <source>F1</source>
- <translation>F1</translation>
- </message>
- <message>
- <source>Apply modification</source>
- <translation>Applica modifiche</translation>
- </message>
- <message>
- <source>Do you whant to apply modification for this device?</source>
- <translation>Vuoi applicare le modifiche per questo dispositivo?</translation>
- </message>
- <message>
- <source><new device></source>
- <translation><nuovo dispositivo></translation>
- </message>
-</context>
-<context>
- <name>DlgRenderVideo</name>
- <message>
- <source>Error starting ffmpeg</source>
- <translation>Errore avvio ffmpeg</translation>
- </message>
-</context>
-<context>
- <name>MainWindow</name>
- <message>
- <source>File</source>
- <translation>File</translation>
- </message>
- <message>
- <source>Change application and project settings</source>
- <translation>Modificare le impostazioni delle applicazioni e progetto</translation>
- </message>
- <message>
- <source>Settings</source>
- <translation>Impostazioni</translation>
- </message>
- <message>
- <source>Exit application (Ctrl+W)</source>
- <translation>Uscita applicazione (Ctrl+W)</translation>
- </message>
- <message>
- <source>Exit</source>
- <translation>Esci</translation>
- </message>
- <message>
- <source>Ctrl+W</source>
- <translation>Ctrl+W</translation>
- </message>
- <message>
- <source>Refresh</source>
- <translation>Aggiorna</translation>
- </message>
- <message>
- <source>Refresh tree and folder table</source>
- <translation>Aggiorna tabella struttura e cartella</translation>
- </message>
- <message>
- <source>Open file with default application defined on computer</source>
- <translation>Apri file con l'applicazione predefinita sul computer</translation>
- </message>
- <message>
- <source>Open
-File</source>
- <translation>Apri
-File</translation>
- </message>
- <message>
- <source>Display detailled information on file</source>
- <translation>Visualizza informazioni dettagliate sul file</translation>
- </message>
- <message>
- <source>Display
-Information</source>
- <translation>Visualizza
-Informazioni</translation>
- </message>
- <message>
- <source>Open contextual action menu</source>
- <translation>Apri il menu contestuale azioni</translation>
- </message>
- <message>
- <source>Action</source>
- <translation>Azione</translation>
- </message>
- <message>
- <source>Select display mode</source>
- <translation>Seleziona modalità visualizzazione</translation>
- </message>
- <message>
- <source>Mode</source>
- <translation>Modo</translation>
- </message>
- <message>
- <source>Select file filter</source>
- <translation>Seleziona file filtro</translation>
- </message>
- <message>
- <source>Filter</source>
- <translation>Filtro</translation>
- </message>
- <message>
- <source>Help</source>
- <translation>Aiuto</translation>
- </message>
- <message>
- <source>Display informations about ffDiaporama</source>
- <translation>Visualizza informazioni su ffDiaporama</translation>
- </message>
- <message>
- <source>About</source>
- <translation>Riguardo a</translation>
- </message>
- <message>
- <source>Call ffDiaporama WIKI</source>
- <translation>Chiama il WIKI di ffDiaporama</translation>
- </message>
- <message>
- <source>Support
-and help</source>
- <translation>Supporto
-e aiuto</translation>
- </message>
- <message>
- <source>F1</source>
- <translation>F1</translation>
- </message>
- <message>
- <source>Display blog/news page from internet WEB site</source>
- <translation>Visualizza le pagine del blog/novità dal sito internet</translation>
- </message>
- <message>
- <source>What's new</source>
- <translation>Cosa c'è di nuovo</translation>
- </message>
- <message>
- <source>Stop current job</source>
- <translation>Ferma il lavoro corrente</translation>
- </message>
- <message>
- <source>Up job in the list</source>
- <translation>Sopra il lavoro nella lista</translation>
- </message>
- <message>
- <source>Down job in the list</source>
- <translation>Sotto il lavoro nella lista</translation>
- </message>
- <message>
- <source>Search Raster mode in configuration file</source>
- <translation>Ricerca modalità Raster nel file di configurazione</translation>
- </message>
- <message>
- <source>All suported file (</source>
- <translation>Tutti i file supportati (</translation>
- </message>
- <message>
- <source>Image file (</source>
- <translation>File immagine (</translation>
- </message>
- <message>
- <source>Video file (</source>
- <translation>File video (</translation>
- </message>
- <message>
- <source>Music file (</source>
- <translation>File musicali (</translation>
- </message>
- <message>
- <source>Read configuration file</source>
- <translation>Leggi il file di configurazione</translation>
- </message>
- <message>
- <source>Error reading configuration file</source>
- <comment>Error message</comment>
- <translation>Errore lettura file di configurazione</translation>
- </message>
- <message>
- <source>Error reading content of configuration file</source>
- <comment>Error message</comment>
- <translation>Errore lettura contenuto del file di configurazione</translation>
- </message>
- <message>
- <source>The file is not a valid configuration file</source>
- <comment>Error message</comment>
- <translation>Il file non è un valido file di configurazione</translation>
- </message>
- <message>
- <source>Error creating configuration file</source>
- <comment>Error message</comment>
- <translation>Errore nella creazione del file di configurazione</translation>
- </message>
- <message>
- <source>Loading file :</source>
- <translation>Caricamento file :</translation>
- </message>
- <message>
- <source>files</source>
- <translation>files</translation>
- </message>
- <message>
- <source>folders</source>
- <translation>cartelle</translation>
- </message>
- <message>
- <source>Total size:</source>
- <translation>Dimensione totale :</translation>
- </message>
- <message>
- <source>Total duration:</source>
- <translation>Durata totale :</translation>
- </message>
- <message>
- <source>Configuration not correct!</source>
- <translation>Configurazione non corretta!</translation>
- </message>
- <message>
- <source>Details view</source>
- <translation>Dettagli visualizzazione</translation>
- </message>
- <message>
- <source>Short summary view</source>
- <translation>Mostra riassunto breve</translation>
- </message>
- <message>
- <source>Long summary view</source>
- <translation>Mostra riassunto lungo</translation>
- </message>
- <message>
- <source>Small icon view</source>
- <translation>Visualizza icone piccole</translation>
- </message>
- <message>
- <source>Medium icon view</source>
- <translation>Visualizza icone medie</translation>
- </message>
- <message>
- <source>Images wall view</source>
- <translation>Visualizzazione immagini a parete</translation>
- </message>
- <message>
- <source>All files</source>
- <translation>Tutti i file</translation>
- </message>
- <message>
- <source>Managed files</source>
- <translation>Gestione file</translation>
- </message>
- <message>
- <source>Image files</source>
- <translation>File immagini</translation>
- </message>
- <message>
- <source>Video files</source>
- <translation>File video</translation>
- </message>
- <message>
- <source>Music files</source>
- <translation>File musicali</translation>
- </message>
- <message>
- <source>ffDiaporama project files</source>
- <translation>File di progetto ffDiaporama</translation>
- </message>
- <message>
- <source>Remove file from the disk</source>
- <translation>Cancella il file dal disco</translation>
- </message>
- <message>
- <source>Remove
-File</source>
- <translation>Cancella
-File</translation>
- </message>
- <message>
- <source>Del</source>
- <translation>Canc</translation>
- </message>
- <message>
- <source>Are you sure to remove theses files ?</source>
- <translation>Sei sicuro di cancellare questi file ?</translation>
- </message>
- <message>
- <source>Successfuly remove file (%1)</source>
- <translation>File cancellato con successo (%1)</translation>
- </message>
- <message>
- <source>Failed to remove file (%1)</source>
- <translation>Cancellazione file fallita (%1)</translation>
- </message>
- <message>
- <source>Are you sure to remove this folder ?</source>
- <translation>Sei sicuro di rimuovere questa cartella ?</translation>
- </message>
- <message>
- <source>Impossible to remove file %1 - error %2:%3</source>
- <translation>Impossibile rimuovere file %1 - errore %2:%3</translation>
- </message>
- <message>
- <source>Impossible to remove folder %1 - error %2:%3</source>
- <translation>Impossibile rimuovere la cartella %1 - errpre %2:%3</translation>
- </message>
- <message>
- <source>Successfully remove folder (and all is content) %1</source>
- <translation>Cartella rimossa con successo (e tutto è corretto) %1</translation>
- </message>
- <message>
- <source>Applying Despeckle filter</source>
- <translation>Applicazione filtro Smacchia</translation>
- </message>
- <message>
- <source>Applying Equalize filter</source>
- <translation>Applicazione filtro Equalizza</translation>
- </message>
- <message>
- <source>Applying Gray filter</source>
- <translation>Applicazione filtro Gridio</translation>
- </message>
- <message>
- <source>Applying blur filter</source>
- <translation>Applicazione filtro Sfocatura</translation>
- </message>
- <message>
- <source>Applying sharpen filter</source>
- <translation>Applicazione filtro Nitidezza</translation>
- </message>
- <message>
- <source>Loading cached filtered file :</source>
- <translation>Caricamento file cache filtrato :</translation>
- </message>
- <message>
- <source>Error allocating memory for cached filtered file</source>
- <translation>Errore allocazione memoria per file cache filtrato</translation>
- </message>
- <message>
- <source>Error loading cached filtered file :</source>
- <translation>Errore caricamento file cache filtrato :</translation>
- </message>
- <message>
- <source>Error allocating memory for render image</source>
- <translation>Errore allocazione memoria per generare immagine</translation>
- </message>
- <message>
- <source>Error loading file :</source>
- <translation>Errore caricamento file :</translation>
- </message>
- <message>
- <source>F5</source>
- <translation>F5</translation>
- </message>
- <message>
- <source>Return</source>
- <translation>Invio</translation>
- </message>
- <message>
- <source>Rescal image to 8MPix</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QCustomFolderTable</name>
- <message>
- <source>File</source>
- <comment>Column header</comment>
- <translation>File</translation>
- </message>
- <message>
- <source>File Type</source>
- <comment>Column header</comment>
- <translation>Tipo File</translation>
- </message>
- <message>
- <source>File Size</source>
- <comment>Column header</comment>
- <translation>Dimensione File</translation>
- </message>
- <message>
- <source>File Date</source>
- <comment>Column header</comment>
- <translation>Data File</translation>
- </message>
- <message>
- <source>Duration</source>
- <comment>Column header</comment>
- <translation>Durata</translation>
- </message>
- <message>
- <source>Chapters</source>
- <comment>Column header</comment>
- <translation>Capitoli</translation>
- </message>
- <message>
- <source>Image Size</source>
- <comment>Column header</comment>
- <translation>Dimensione Immagine</translation>
- </message>
- <message>
- <source>Image Format</source>
- <comment>Column header</comment>
- <translation>Formato Immagine</translation>
- </message>
- <message>
- <source>Image Geometry</source>
- <comment>Column header</comment>
- <translation>Geometria Immagine</translation>
- </message>
- <message>
- <source>Video Codec</source>
- <comment>Column header</comment>
- <translation>Codec Video</translation>
- </message>
- <message>
- <source>Frame Rate</source>
- <comment>Column header</comment>
- <translation>Frame Rate</translation>
- </message>
- <message>
- <source>Video Bitrate</source>
- <comment>Column header</comment>
- <translation>Bitrate Video</translation>
- </message>
- <message>
- <source>Audio Language</source>
- <comment>Column header</comment>
- <translation>Linguaggio Audio</translation>
- </message>
- <message>
- <source>Audio Codec</source>
- <comment>Column header</comment>
- <translation>Codec Audio</translation>
- </message>
- <message>
- <source>Audio Channels</source>
- <comment>Column header</comment>
- <translation>Canale Audio</translation>
- </message>
- <message>
- <source>Audio Bitrate</source>
- <comment>Column header</comment>
- <translation>Bitrate Audio</translation>
- </message>
- <message>
- <source>Audio Frequency</source>
- <comment>Column header</comment>
- <translation>Frequenza Audio</translation>
- </message>
- <message>
- <source>Title</source>
- <comment>Column header</comment>
- <translation>Titolo</translation>
- </message>
- <message>
- <source>Artist</source>
- <comment>Column header</comment>
- <translation>Artista</translation>
- </message>
- <message>
- <source>Album</source>
- <comment>Column header</comment>
- <translation>Album</translation>
- </message>
- <message>
- <source>Year</source>
- <comment>Column header</comment>
- <translation>Anno</translation>
- </message>
- <message>
- <source>Track</source>
- <comment>Column header</comment>
- <translation>Traccia</translation>
- </message>
- <message>
- <source>Genre</source>
- <comment>Column header</comment>
- <translation>Genere</translation>
- </message>
- <message>
- <source>Comment</source>
- <comment>Column header</comment>
- <translation>Commento</translation>
- </message>
- <message>
- <source>Composer</source>
- <comment>Column header</comment>
- <translation>Compositore</translation>
- </message>
- <message>
- <source>Encoder</source>
- <comment>Column header</comment>
- <translation>Codificatore</translation>
- </message>
- <message>
- <source>Author</source>
- <comment>Column header</comment>
- <translation>Autore</translation>
- </message>
-</context>
-<context>
- <name>QCustomFolderTree</name>
- <message>
- <source>Kb</source>
- <comment>Unit Kb</comment>
- <translation>Kb</translation>
- </message>
- <message>
- <source>Mb</source>
- <comment>Unit Mb</comment>
- <translation>Mb</translation>
- </message>
- <message>
- <source>Gb</source>
- <comment>Unit Gb</comment>
- <translation>Gb</translation>
- </message>
- <message>
- <source>Tb</source>
- <comment>Unit Tb</comment>
- <translation>Tb</translation>
- </message>
- <message>
- <source>Personal folder</source>
- <translation>Cartella personale</translation>
- </message>
- <message>
- <source>System files</source>
- <translation>File di sistema</translation>
- </message>
- <message>
- <source>Empty drive...</source>
- <translation>Svuota dispositivo...</translation>
- </message>
- <message>
- <source>Refresh all</source>
- <translation>Aggiorna tutto</translation>
- </message>
- <message>
- <source>Refresh from here</source>
- <translation>Aggiorna da quì</translation>
- </message>
- <message>
- <source>Create new subfolder</source>
- <translation>Crare nuova sotto cartella</translation>
- </message>
- <message>
- <source>Remove folder</source>
- <translation>Cancella cartella</translation>
- </message>
- <message>
- <source>Create folder</source>
- <translation>Creare cartella</translation>
- </message>
- <message>
- <source>Folder:</source>
- <translation>Cartella:</translation>
- </message>
- <message>
- <source>Error %1:</source>
- <translation>Errore %1:</translation>
- </message>
- <message>
- <source>Impossible to create folder !</source>
- <translation>Impossibile creare la cartella !</translation>
- </message>
-</context>
-<context>
- <name>QCustomGetFolder</name>
- <message>
- <source>Select a folder</source>
- <translation>Seleziona una cartella</translation>
- </message>
- <message>
- <source>Accept modification and exit dialog box</source>
- <translation>Accetta le modifiche e esci dalla finestra di dialogo</translation>
- </message>
- <message>
- <source>&Ok</source>
- <translation>&Ok</translation>
- </message>
- <message>
- <source>Cancel modification and exit dialog box</source>
- <translation>Annulla le modifiche e esci dalla finestra di dialogo</translation>
- </message>
- <message>
- <source>&Cancel</source>
- <translation>Annulla (&C)</translation>
- </message>
- <message>
- <source>Open help page describing this dialog box</source>
- <translation>Aprire la pagina aiuto che descrive questa finestra</translation>
- </message>
- <message>
- <source>&Help</source>
- <translation>Aiuto(&H)</translation>
- </message>
- <message>
- <source>F1</source>
- <translation>F1</translation>
- </message>
-</context>
-<context>
- <name>QCustomJobTable</name>
- <message>
- <source>overwrite destination file as needed</source>
- <translation>sovrascrivi il file di destinazione se necessario</translation>
- </message>
- <message>
- <source>and remove %1</source>
- <translation>e rimuove %1</translation>
- </message>
- <message>
- <source>and rename %1 to %2</source>
- <translation>e rinomina %1 a %2</translation>
- </message>
- <message>
- <source>and move %1 to %2</source>
- <translation>e sposta %1 a %2</translation>
- </message>
- <message>
- <source>Date/Time</source>
- <translation>Data/Ora</translation>
- </message>
- <message>
- <source>Status</source>
- <translation>Stato</translation>
- </message>
- <message>
- <source>Progress</source>
- <translation>Progresso</translation>
- </message>
- <message>
- <source>Job Type</source>
- <translation>Tipo lavoro</translation>
- </message>
- <message>
- <source>Waiting</source>
- <translation>Attendere</translation>
- </message>
- <message>
- <source>Started</source>
- <translation>Iniziato</translation>
- </message>
- <message>
- <source>Paused</source>
- <translation>Stoppato</translation>
- </message>
- <message>
- <source>Canceled</source>
- <translation>Cancellato</translation>
- </message>
- <message>
- <source>Succeeded</source>
- <translation>Successo</translation>
- </message>
- <message>
- <source>Ended with error</source>
- <translation>Finito con errore</translation>
- </message>
- <message>
- <source>Not defined</source>
- <translation>Non definito</translation>
- </message>
- <message>
- <source>Open</source>
- <translation>Apri</translation>
- </message>
- <message>
- <source>Display information</source>
- <translation>Visualizza informazione</translation>
- </message>
- <message>
- <source>Remove</source>
- <translation>Cancella</translation>
- </message>
- <message>
- <source>Convert</source>
- <translation>Converte</translation>
- </message>
- <message>
- <source>and rescal image to %1</source>
- <translation>e riscala immagine a %1</translation>
- </message>
- <message>
- <source>new image size will become %1x%2</source>
- <translation>nuova dimensione immagine diventerà %1x%2</translation>
- </message>
- <message>
- <source>Current action</source>
- <translation>Azione corrente</translation>
- </message>
- <message>
- <source>and set codec to %1</source>
- <translation>e imposta codec per %1</translation>
- </message>
- <message>
- <source>and set audio compression to %1</source>
- <translation>e imposta compressione audio per %1</translation>
- </message>
- <message>
- <source>and force audio frequency to %1</source>
- <translation>e forza frequenza audio per %1</translation>
- </message>
- <message>
- <source>and force to mono</source>
- <translation>e forza a mono</translation>
- </message>
- <message>
- <source>and force to stereo</source>
- <translation>e forza a stereo</translation>
- </message>
- <message>
- <source>and rotate image</source>
- <translation>e ruota immagine</translation>
- </message>
- <message>
- <source>but don't rotate image</source>
- <translation>ma non ruotare immagine</translation>
- </message>
- <message>
- <source>and resize to %1x%2</source>
- <translation>e ridimensiona a %1x%2</translation>
- </message>
- <message>
- <source>and set video codec to %1</source>
- <translation>e imposta codec video a %1</translation>
- </message>
- <message>
- <source>and set video compression to %1 with + and - 10%</source>
- <translation>e imposta compressione video a %1 con + e - 10%</translation>
- </message>
- <message>
- <source>and set video compression to %1</source>
- <translation>e imposta compressione video a %1</translation>
- </message>
- <message>
- <source>and set video preset %1</source>
- <translation>e imposta video preimpostato %1</translation>
- </message>
- <message>
- <source>and set video quality to 2</source>
- <translation>e imposta qualità video a 2</translation>
- </message>
-</context>
-<context>
- <name>cBaseMediaFile</name>
- <message>
- <source>Impossible to open file </source>
- <translation>Impossibile aprire il file </translation>
- </message>
- <message>
- <source>Do you want to select another file ?</source>
- <translation>Vuoi selezionare un altro file ?</translation>
- </message>
- <message>
- <source>Select another file for </source>
- <translation>Seleziona un altro file per </translation>
- </message>
- <message>
- <source>MPix</source>
- <translation>MPix</translation>
- </message>
- <message>
- <source>Unmanaged</source>
- <comment>File type</comment>
- <translation>Non gestito</translation>
- </message>
- <message>
- <source>Slides</source>
- <translation>diapositive</translation>
- </message>
- <message>
- <source>Chapters</source>
- <translation>Capitoli</translation>
- </message>
- <message>
- <source>Image</source>
- <comment>File type</comment>
- <translation>Immagine</translation>
- </message>
- <message>
- <source>Thumbnail</source>
- <comment>File type</comment>
- <translation>Miniatura</translation>
- </message>
- <message>
- <source>Video</source>
- <comment>File type</comment>
- <translation>Video</translation>
- </message>
- <message>
- <source>Music</source>
- <comment>File type</comment>
- <translation>Musica</translation>
- </message>
- <message>
- <source>Mono</source>
- <comment>Audio channels mode</comment>
- <translation>Mono</translation>
- </message>
- <message>
- <source>Open file</source>
- <translation>Apri file</translation>
- </message>
- <message>
- <source>Slide number</source>
- <translation>Numero diapositiva</translation>
- </message>
- <message>
- <source>ffDiaporama</source>
- <comment>File type</comment>
- <translation>ffDiaporama</translation>
- </message>
- <message>
- <source>Stereo</source>
- <comment>Audio channels mode</comment>
- <translation>Stereo</translation>
- </message>
- <message>
- <source>Folder</source>
- <comment>File type</comment>
- <translation>Cartella</translation>
- </message>
- <message>
- <source>Error overwritting %1</source>
- <translation>Errore sovrascrittura %1</translation>
- </message>
- <message>
- <source>Impossible to open file %1</source>
- <translation>Impossibile aprire file %1</translation>
- </message>
- <message>
- <source>Image don't have EXIF metadata %1</source>
- <translation>Immagine non ha metadati EXIF %1</translation>
- </message>
- <message>
- <source>Impossible to start exiv2 - no exif informations will be decode for %1</source>
- <translation>Impossibile avviare exiv2 - nessuna informazione exif sarà decodificata per %1</translation>
- </message>
- <message>
- <source>Error during exiv2 process - no exif informations will be decode for %1</source>
- <translation>Errore durante il processo exiv2 - nessuna informazione exif sarà decodificata per %1</translation>
- </message>
- <message>
- <source>exiv2 return error %1 - no exif informations will be decode for %2</source>
- <translation>exiv2 ritorna l'errore %1 - nessuna informazioneexif sarà decodificata per %2</translation>
- </message>
- <message>
- <source>Impossible to start exiv2 - no exif informations will be set for %1</source>
- <translation>Impossibile avviare exiv2 - nessuna informazione exif sarà impostata per %1</translation>
- </message>
- <message>
- <source>Error during exiv2 process - no exif informations will be set for %1</source>
- <translation>Errore durante processo exiv2 - nessuna informazione exif sarà impostata per %1</translation>
- </message>
- <message>
- <source>exiv2 return error %1 - no exif informations will be set for %2</source>
- <translation>exiv2 ritorna errore %1 - nessuna informazione exif sarà impostata per %2</translation>
- </message>
- <message>
- <source>Successfully add minimal exif values to %1</source>
- <translation>Aggiunti con successo valori exif minimali a %1</translation>
- </message>
-</context>
-<context>
- <name>cDeviceModelList</name>
- <message>
- <source>Advanced</source>
- <comment>Device database type</comment>
- <translation>Avanzate</translation>
- </message>
- <message>
- <source>Smartphone</source>
- <comment>Device database type</comment>
- <translation>Smartphone</translation>
- </message>
- <message>
- <source>Multimedia system</source>
- <comment>Device database type</comment>
- <translation>Sistema multimediale</translation>
- </message>
- <message>
- <source>For the WEB</source>
- <comment>Device database type</comment>
- <translation>Per il WEB</translation>
- </message>
- <message>
- <source>Portable Player</source>
- <comment>Device database type</comment>
- <translation>Riproduttore portatili</translation>
- </message>
- <message>
- <source>Netbook/NetPC</source>
- <comment>Device database type</comment>
- <translation>Netbook/NetPC</translation>
- </message>
- <message>
- <source>Handheld game console</source>
- <comment>Device database type</comment>
- <translation>Console di gioco portatile</translation>
- </message>
- <message>
- <source>Tablet computer</source>
- <comment>Device database type</comment>
- <translation>Tablet computer</translation>
- </message>
- <message>
- <source>Multimedia hard drive and gateway</source>
- <comment>Device database type</comment>
- <translation>Disco multimediale e gateway</translation>
- </message>
- <message>
- <source>Player</source>
- <comment>Device database type</comment>
- <translation>Riproduttore</translation>
- </message>
- <message>
- <source>ADSL Box</source>
- <comment>Device database type</comment>
- <translation>Dispositivo ADSL</translation>
- </message>
- <message>
- <source>Game console</source>
- <comment>Device database type</comment>
- <translation>Console di gioco</translation>
- </message>
- <message>
- <source>SWF Flash Player</source>
- <comment>Device database type</comment>
- <translation>SWF Flash Palyer</translation>
- </message>
- <message>
- <source>Video-sharing and social WebSite</source>
- <comment>Device database type</comment>
- <translation>Video-sharing e WebSite sociali</translation>
- </message>
- <message>
- <source>HTML 5</source>
- <comment>Device database type</comment>
- <translation>HTML 5</translation>
- </message>
- <message>
- <source>Lossless</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>cJobQueue</name>
- <message>
- <source>Applying source transformation : Sorry no yet developped !</source>
- <translation>Applicazione trasformazione sorgente : Spiacenti non ancora sviluppate !</translation>
- </message>
- <message>
- <source>Destination file (%1) already exist</source>
- <translation>File destinazione (%1) già esistente</translation>
- </message>
- <message>
- <source>Failed to remove existing destination file (%1)</source>
- <translation>Fallita cancellazione del file destinazione esistente (%1)</translation>
- </message>
- <message>
- <source>Jobtype error</source>
- <translation>Errore tipo lavoro</translation>
- </message>
- <message>
- <source>Failed to open file %1</source>
- <translation>Fallito apertura file %1</translation>
- </message>
- <message>
- <source>Failed to write destination file %1</source>
- <translation>Fallita scrittura file destinazione %1</translation>
- </message>
- <message>
- <source>Successfully writing destination file %1</source>
- <translation>Successo scrittura file destinazione %1</translation>
- </message>
- <message>
- <source>Successfully remove existing destination file (%1)</source>
- <translation>Rimossi con successo file destinazione esistenti (%1)</translation>
- </message>
- <message>
- <source>Start image conversion of %1 to %2</source>
- <translation>Avvio conversione immagine di %1 per %2</translation>
- </message>
- <message>
- <source>Open file</source>
- <translation>Apri file</translation>
- </message>
- <message>
- <source>Successfully open file %1</source>
- <translation>Aperto con successo file %1</translation>
- </message>
- <message>
- <source>Rescal image</source>
- <translation>Riscala immagine</translation>
- </message>
- <message>
- <source>Failed to rotate image</source>
- <translation>Ruotazione immagine fallita</translation>
- </message>
- <message>
- <source>Succesfully rotate image</source>
- <translation>Ruotata immagine con successo</translation>
- </message>
- <message>
- <source>Failed to rescal image %1 to %2x%3</source>
- <translation>Fallito riscalatura immagine %1 a %2x%3</translation>
- </message>
- <message>
- <source>Succesfully rescal image %1 to %2x%3</source>
- <translation>Successo riscalatura immagine %1 a %2x%3</translation>
- </message>
- <message>
- <source>Apply destination overwriting strategy</source>
- <translation>Applica destinazione strategia di sovrascrittura</translation>
- </message>
- <message>
- <source>Save image file</source>
- <translation>Salva file immagine</translation>
- </message>
- <message>
- <source>Apply source file strategy</source>
- <translation>Applica strategia file sorgente</translation>
- </message>
- <message>
- <source>Job finished</source>
- <translation>Lavoro finito</translation>
- </message>
- <message>
- <source>Start audio conversion of %1 to %2</source>
- <translation>Avvio conversione audio di %1 a %2</translation>
- </message>
- <message>
- <source>Process ffmpeg job</source>
- <translation>Processo lavoro ffmpeg</translation>
- </message>
- <message>
- <source>Error : ffmpeg job can't start : %1</source>
- <translation>Errore : lavoro ffmpeg non può partire : %1</translation>
- </message>
- <message>
- <source>Error : ffmpeg return error %1</source>
- <translation>Errore : ffmpeg ritorna errore %1</translation>
- </message>
- <message>
- <source>Succesfully process ffmpeg job</source>
- <translation>Lavoro ffmpeg processato con successo</translation>
- </message>
- <message>
- <source>Add minimal exif value to image file</source>
- <translation>Aggiungi valori exif minimi al file immagine</translation>
- </message>
- <message>
- <source>Error : for sound conversion, source and destination must be different !</source>
- <translation>Errore : per conversione file, sorgente e destinazione devono essere differenti !</translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertAudio</name>
- <message>
- <source>Convert audio</source>
- <translation>Converzione audio</translation>
- </message>
- <message>
- <source>Format :</source>
- <translation>Formato :</translation>
- </message>
- <message>
- <source>Select the audio codec to use for the rendering.</source>
- <translation>Seleziona il codec audio da usare per la generazione.</translation>
- </message>
- <message>
- <source>Bit rate :</source>
- <translation>Bit rate :</translation>
- </message>
- <message>
- <source>Select the bit rate to use for audio during the rendering.</source>
- <translation>Seleziona il bit rate da usare per l'audio durante la generazione.</translation>
- </message>
- <message>
- <source>Force to mono</source>
- <translation>Forza a mono</translation>
- </message>
- <message>
- <source>Force to stereo</source>
- <translation>Forza a stereo</translation>
- </message>
- <message>
- <source>Change frequency to :</source>
- <translation>Cambia frequenza a :</translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertImage</name>
- <message>
- <source>Convert image</source>
- <translation>Conversione immagine</translation>
- </message>
- <message>
- <source>Quality :</source>
- <translation>Qualità :</translation>
- </message>
- <message>
- <source>QVGA (240 rows)</source>
- <translation>QVGA (240 righe)</translation>
- </message>
- <message>
- <source>HVGA (320 rows)</source>
- <translation>HVGA (320 righe)</translation>
- </message>
- <message>
- <source>VGA/WVGA (480 rows)</source>
- <translation>VGA/WGA (480 righe)</translation>
- </message>
- <message>
- <source>SD/DVD (576 rows)</source>
- <translation>SD/DVD (576 righe)</translation>
- </message>
- <message>
- <source>720p (720 rows)</source>
- <translation>720p (720 righe)</translation>
- </message>
- <message>
- <source>XGA (768 rows)</source>
- <translation>XGA (768 righe)</translation>
- </message>
- <message>
- <source>1080p (1080 rows)</source>
- <translation>1080p (1080 righe)</translation>
- </message>
- <message>
- <source>Resize :</source>
- <translation>Ridimensione :</translation>
- </message>
- <message>
- <source>But not upscale image</source>
- <translation>Ma non sovrascale immagine</translation>
- </message>
- <message>
- <source>Format :</source>
- <translation>Formato :</translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertVideo</name>
- <message>
- <source>Convert video</source>
- <translation>Conversione video</translation>
- </message>
- <message>
- <source>Device type :</source>
- <translation>Tipo dispositivo :</translation>
- </message>
- <message>
- <source>Select the type of equipment.</source>
- <translation>Selezione il tipo di dispositivo.</translation>
- </message>
- <message>
- <source>Device model :</source>
- <translation>Modello dispositivo :</translation>
- </message>
- <message>
- <source>Select the model of equipment</source>
- <translation>Seleziona il modello di dispositivo</translation>
- </message>
- <message>
- <source>Include sound in the video</source>
- <translation>Includi suono nel video</translation>
- </message>
- <message>
- <source>Device :</source>
- <translation>Dispositivo :</translation>
- </message>
-</context>
-</TS>
diff --git a/locale/ffDiaporamaMMFiler_nl.qm b/locale/ffDiaporamaMMFiler_nl.qm
deleted file mode 100755
index 9dad8df..0000000
Binary files a/locale/ffDiaporamaMMFiler_nl.qm and /dev/null differ
diff --git a/locale/ffDiaporamaMMFiler_nl.ts b/locale/ffDiaporamaMMFiler_nl.ts
deleted file mode 100755
index cb6e3d3..0000000
--- a/locale/ffDiaporamaMMFiler_nl.ts
+++ /dev/null
@@ -1,2378 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.0" language="nl_NL">
-<context>
- <name>DlgAbout</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="26"/>
- <source>About</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="93"/>
- <source>Licence</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="105"/>
- <source>Copyright (C) 2011-2012 Dominique Levray</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="112"/>
- <source>This software is licensed under the GPL version 2 :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="214"/>
- <source>Credits</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="258"/>
- <source>This application was developped using Open Source version of Qt 4.7 SDK</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="268"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="318"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="349"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="387"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="418"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="588"/>
- <source>WEB site & licence :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="305"/>
- <source>Video decoding and encoding engines are based on ffmpeg</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="336"/>
- <source>Image exif decoding is based on Exiv2 - Image metadata library and tools</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="367"/>
- <source>Other images and graphical material are using Creative Common Licence 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="380"/>
- <source>C.C. WEB site :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="405"/>
- <source>Many icons are from the Crystal Project</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="551"/>
- <source>Image effects are based on fmt_filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="575"/>
- <source>TAG managment based on TAGLib</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="672"/>
- <source>&Ok</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgApplicationSettings</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="32"/>
- <source>Application settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="54"/>
- <source>Application Options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="96"/>
- <source>If this box is checked, the sizes and the positions of all the windows and dialogue box of ffDiaporama will be saved to be reused the next time which you will use ffDiaporama.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="99"/>
- <source>Remember Windows size and positions</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="112"/>
- <source>If this box is checked, the directories that you use for the images, the videos, the projects, the musics and the generations of movie will be saved to be reused the next time which you will use ffDiaporama.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="115"/>
- <source>Remember last used folders</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="129"/>
- <source>Application options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="171"/>
- <source>Enable "raster" Graphics System (Need application restart)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="155"/>
- <source>Video options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="184"/>
- <source>Automatically crop 1920x1088 video to 1920x1080</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="521"/>
- <source>Manage Devices</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="197"/>
- <source>Show hidden folders and files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="380"/>
- <source>Display options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="210"/>
- <source>Display folders first</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="223"/>
- <source>Display only drives mounted in /media/</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="261"/>
- <source>Image :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="293"/>
- <source>Music :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="300"/>
- <source>Video :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="341"/>
- <source>Display filename in icon views</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="348"/>
- <source>Thumbnails size for big icons mode :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="415"/>
- <source>Thumbnail rules options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="446"/>
- <source>Minimum height for EXIF "Preview Image" :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="453"/>
- <source>Define minimum height Preview Image must have to use it</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="457"/>
- <source>No minimum height</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="462"/>
- <source>Not less than 100</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="467"/>
- <source>Not less than 200</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="510"/>
- <source>Check Configuration</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="545"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="548"/>
- <source>&Ok</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="559"/>
- <source>Cancel modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="562"/>
- <source>&Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="573"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="576"/>
- <source>&Help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="583"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgCheckConfig</name>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="22"/>
- <source>Check configuration</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="49"/>
- <source>Check configuration at startup</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="69"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="72"/>
- <source>&Ok</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="83"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="86"/>
- <source>&Help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="93"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="63"/>
- <source>ffmpeg not found - critical - application will stop !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="165"/>
- <source>ffmpeg Audio Codecs</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <source>available</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="60"/>
- <source>Unable to determine ffmpeg version</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="103"/>
- <source>LibExiv2 version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="105"/>
- <source>LibExiv2/Exiv2 binary version</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <source>not available</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <source>LibExiv2 support for preview image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="119"/>
- <source>TAGLib version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <source>TAGLib support for FLAC</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <source>TAGLib support for ASF/WMA</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <source>TAGLib support for M4A/MP4</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="149"/>
- <source>ffmpeg version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="150"/>
- <source>LIBAVCODEC version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="151"/>
- <source>LIBAVFORMAT version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="152"/>
- <source>LIBSWSCALE version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <source>ffmpeg support for TAG and CHAPTERS</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="169"/>
- <source>ffmpeg Video Codecs</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
- <source>ffmpeg Container Formats</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgInfoFile</name>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="25"/>
- <source>File information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="93"/>
- <source>File name :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="100"/>
- <source>File type :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="133"/>
- <source>File size :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="153"/>
- <source>File created :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="167"/>
- <source>File modify :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="219"/>
- <source>Video track information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="323"/>
- <source>Chapter information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="288"/>
- <source>Audio track information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="379"/>
- <source>Additional information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="418"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="421"/>
- <source>&Ok</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="432"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="435"/>
- <source>&Help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="442"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgJobSettings</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="20"/>
- <source>Job settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="67"/>
- <source>What to do to sources files ?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="147"/>
- <source>Rename sources files by adding this suffix:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="293"/>
- <source>How to name destinations files ?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="117"/>
- <source>Delete sources files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="98"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="120"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="150"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="516"/>
- <source>buttonGroup</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="95"/>
- <source>Do nothing</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="323"/>
- <source>Add this suffix to file name :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="513"/>
- <source>Move sources files to this folder:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="535"/>
- <source>Place destination files In another folder than sources files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="554"/>
- <source>Overwrite existing destination files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="581"/>
- <source>Add size suffix to file name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="641"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="644"/>
- <source>&Ok</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="655"/>
- <source>Cancel modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="658"/>
- <source>&Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="669"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="672"/>
- <source>&Help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="679"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgManageDevices</name>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="20"/>
- <source>Manage Devices</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="34"/>
- <source>Device type :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="44"/>
- <source>Select the type of equipment to be shown in the list.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="107"/>
- <source>Subtype</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="118"/>
- <source>Model</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="140"/>
- <source>Create a new equipment which comes to be added in the database.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="143"/>
- <source>Add Device</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="154"/>
- <source>Delete current equipment.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="157"/>
- <source>Remove Device</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="168"/>
- <source>Cancel the modifications that you made on an equipment defined in the default ffDiaporama database</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="171"/>
- <source>Reset Device to Default</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="184"/>
- <source>Device subtype :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="194"/>
- <source>Select the category in which is classified the equipment.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="201"/>
- <source>Device model :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="211"/>
- <source>File format :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="221"/>
- <source>Enter here the name of the equipment (free text field).</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="234"/>
- <source>Select the file type to use for the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="241"/>
- <source>Video standard :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="256"/>
- <source>Select the video standard to use, PAL or NTSC.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="260"/>
- <source>PAL</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="265"/>
- <source>NTSC</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="288"/>
- <source>Image format :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="298"/>
- <source>Select the image resolution to use for the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="308"/>
- <source>Video codec :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="335"/>
- <source>Select the video codec to use for the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="348"/>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="413"/>
- <source>Bit rate :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="370"/>
- <source>Select the bit rate to use for video during the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="379"/>
- <source>Audio codec :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="406"/>
- <source>Select the audio codec to use for the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="435"/>
- <source>Select the bit rate to use for audio during the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="484"/>
- <source>Apply</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="495"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="498"/>
- <source>&Ok</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="509"/>
- <source>Cancel modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="512"/>
- <source>&Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="523"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="526"/>
- <source>&Help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="533"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="112"/>
- <source>Apply modification</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="113"/>
- <source>Do you whant to apply modification for this device?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="535"/>
- <source><new device></source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgRenderVideo</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="658"/>
- <source>Error starting ffmpeg</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>MainWindow</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="95"/>
- <source>File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="326"/>
- <source>Change application and project settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="329"/>
- <source>Settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="367"/>
- <source>Exit application (Ctrl+W)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="370"/>
- <source>Exit</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="383"/>
- <source>Ctrl+W</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="122"/>
- <source>Refresh</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="119"/>
- <source>Refresh tree and folder table</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="135"/>
- <source>F5</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="164"/>
- <source>Open file with default application defined on computer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="167"/>
- <source>Open
-File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="181"/>
- <source>Return</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="203"/>
- <source>Display detailled information on file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="206"/>
- <source>Display
-Information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="239"/>
- <source>Remove file from the disk</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="242"/>
- <source>Remove
-File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="256"/>
- <source>Del</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="278"/>
- <source>Open contextual action menu</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="281"/>
- <source>Action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="418"/>
- <source>Select display mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="421"/>
- <source>Mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="453"/>
- <source>Select file filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="456"/>
- <source>Filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="477"/>
- <source>Help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="513"/>
- <source>Display informations about ffDiaporama</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="516"/>
- <source>About</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="560"/>
- <source>Call ffDiaporama WIKI</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="563"/>
- <source>Support
-and help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="577"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="611"/>
- <source>Display blog/news page from internet WEB site</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="614"/>
- <source>What's new</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1021"/>
- <source>Stop current job</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1062"/>
- <source>Up job in the list</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1103"/>
- <source>Down job in the list</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="60"/>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="74"/>
- <source>Search Raster mode in configuration file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="274"/>
- <source>All suported file (</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="281"/>
- <source>Image file (</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="287"/>
- <source>Video file (</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="293"/>
- <source>Music file (</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="460"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="387"/>
- <source>Read configuration file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="462"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="397"/>
- <source>Error reading configuration file</source>
- <comment>Error message</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="467"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="402"/>
- <source>Error reading content of configuration file</source>
- <comment>Error message</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="474"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="409"/>
- <source>The file is not a valid configuration file</source>
- <comment>Error message</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="641"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="456"/>
- <source>Error creating configuration file</source>
- <comment>Error message</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="98"/>
- <source>Loading cached filtered file :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="109"/>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="137"/>
- <source>Rescal image to 8MPix</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="117"/>
- <source>Error allocating memory for cached filtered file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="119"/>
- <source>Error loading cached filtered file :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="126"/>
- <source>Loading file :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="145"/>
- <source>Error allocating memory for render image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="147"/>
- <source>Error loading file :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="382"/>
- <source>files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="383"/>
- <source>folders</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="384"/>
- <source>Total size:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="385"/>
- <source>Total duration:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="451"/>
- <source>Configuration not correct!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="521"/>
- <source>Details view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="522"/>
- <source>Short summary view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="523"/>
- <source>Long summary view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="524"/>
- <source>Small icon view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="525"/>
- <source>Medium icon view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="526"/>
- <source>Images wall view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="553"/>
- <source>All files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="554"/>
- <source>Managed files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="555"/>
- <source>Image files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="556"/>
- <source>Video files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="557"/>
- <source>Music files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="558"/>
- <source>ffDiaporama project files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="623"/>
- <source>Are you sure to remove theses files ?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="626"/>
- <source>Successfuly remove file (%1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="628"/>
- <source>Failed to remove file (%1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="647"/>
- <source>Are you sure to remove this folder ?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="670"/>
- <source>Impossible to remove file %1 - error %2:%3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="675"/>
- <source>Impossible to remove folder %1 - error %2:%3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="679"/>
- <source>Successfully remove folder (and all is content) %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="73"/>
- <source>Applying Despeckle filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="77"/>
- <source>Applying Equalize filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="81"/>
- <source>Applying Gray filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="85"/>
- <source>Applying blur filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="89"/>
- <source>Applying sharpen filter</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QCustomFolderTable</name>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="364"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="384"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="428"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="615"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="643"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="654"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="662"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="689"/>
- <source>File</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="367"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="385"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="429"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="616"/>
- <source>File Type</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="386"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="430"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="617"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="644"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="655"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="663"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="690"/>
- <source>File Size</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="387"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="431"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="618"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="645"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="656"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="664"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="691"/>
- <source>File Date</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="388"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="432"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="619"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="646"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="665"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="692"/>
- <source>Duration</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="409"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="435"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="620"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="666"/>
- <source>Chapters</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="389"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="433"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="621"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="657"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="667"/>
- <source>Image Size</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="390"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="434"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="622"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="658"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="668"/>
- <source>Image Format</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="391"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="436"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="623"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="659"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="669"/>
- <source>Image Geometry</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="392"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="437"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="624"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="670"/>
- <source>Video Codec</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="393"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="438"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="625"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="671"/>
- <source>Frame Rate</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="394"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="439"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="626"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="672"/>
- <source>Video Bitrate</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="395"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="440"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="627"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="673"/>
- <source>Audio Language</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="396"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="441"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="628"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="674"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="693"/>
- <source>Audio Codec</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="397"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="442"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="629"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="675"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="694"/>
- <source>Audio Channels</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="398"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="443"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="630"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="676"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="695"/>
- <source>Audio Bitrate</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="399"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="444"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="631"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="677"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="696"/>
- <source>Audio Frequency</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="400"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="445"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="632"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="647"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="678"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="697"/>
- <source>Title</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="401"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="446"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="633"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="679"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="698"/>
- <source>Artist</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="402"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="447"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="634"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="649"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="680"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="699"/>
- <source>Album</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="403"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="448"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="635"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="650"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="681"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="700"/>
- <source>Year</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="404"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="449"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="636"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="682"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="701"/>
- <source>Track</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="405"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="450"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="637"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="683"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="702"/>
- <source>Genre</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="406"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="451"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="638"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="684"/>
- <source>Comment</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="407"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="452"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="639"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="651"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="685"/>
- <source>Composer</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="408"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="453"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="640"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="686"/>
- <source>Encoder</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="648"/>
- <source>Author</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QCustomFolderTree</name>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="99"/>
- <source>Kb</source>
- <comment>Unit Kb</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
- <source>Mb</source>
- <comment>Unit Mb</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
- <source>Gb</source>
- <comment>Unit Gb</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
- <source>Tb</source>
- <comment>Unit Tb</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="159"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="202"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="334"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="336"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="337"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="443"/>
- <location filename="../src/sharedfiles/QCustomGetFolder.cpp" line="70"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="58"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="93"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="347"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="352"/>
- <source>Personal folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="86"/>
- <source>Refresh all</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="87"/>
- <source>Refresh from here</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="88"/>
- <source>Create new subfolder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="89"/>
- <source>Remove folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="107"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="115"/>
- <source>Create folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="107"/>
- <source>Folder:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="114"/>
- <source>Error %1:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="116"/>
- <source>Impossible to create folder !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="348"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="353"/>
- <source>System files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="94"/>
- <source>Empty drive...</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QCustomGetFolder</name>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="20"/>
- <source>Select a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="98"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="101"/>
- <source>&Ok</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="112"/>
- <source>Cancel modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="115"/>
- <source>&Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="126"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="129"/>
- <source>&Help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="136"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QCustomJobTable</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="59"/>
- <source>Date/Time</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="60"/>
- <source>Status</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="61"/>
- <source>Progress</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="62"/>
- <source>Job Type</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="63"/>
- <source>Current action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="248"/>
- <source>Waiting</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="249"/>
- <source>Started</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="250"/>
- <source>Paused</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="251"/>
- <source>Canceled</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="252"/>
- <source>Succeeded</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="253"/>
- <source>Ended with error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="255"/>
- <source>Not defined</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="256"/>
- <source>Open</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="257"/>
- <source>Display information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="258"/>
- <source>Remove</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="259"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="260"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="261"/>
- <source>Convert</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="298"/>
- <source>overwrite destination file as needed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="299"/>
- <source>and remove %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="300"/>
- <source>and rename %1 to %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="301"/>
- <source>and move %1 to %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="151"/>
- <source>and rescal image to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="132"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="153"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="157"/>
- <source>and rotate image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="133"/>
- <source>but don't rotate image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="159"/>
- <source>new image size will become %1x%2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="164"/>
- <source>and set codec to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="131"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="165"/>
- <source>and set audio compression to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="132"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="166"/>
- <source>and force audio frequency to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="133"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="167"/>
- <source>and force to mono</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="133"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="167"/>
- <source>and force to stereo</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="106"/>
- <source>and resize to %1x%2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="113"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="117"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="121"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="124"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="129"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="139"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="149"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="152"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="155"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="158"/>
- <source>and set video codec to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="114"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="140"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="153"/>
- <source>and set video compression to %1 with + and - 10%</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="118"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="122"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="125"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="156"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="159"/>
- <source>and set video compression to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="131"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="141"/>
- <source>and set video preset %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="150"/>
- <source>and set video quality to 2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>cBaseMediaFile</name>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="391"/>
- <source>Impossible to open file </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="391"/>
- <source>Do you want to select another file ?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="395"/>
- <source>Select another file for </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="407"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="559"/>
- <source>Impossible to open file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="494"/>
- <source>MPix</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="578"/>
- <source>Unmanaged</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="902"/>
- <source>Slides</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="903"/>
- <source>Chapters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="959"/>
- <source>Image</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="960"/>
- <source>Thumbnail</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="986"/>
- <source>Image don't have EXIF metadata %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1080"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1124"/>
- <source>Impossible to start exiv2 - no exif informations will be decode for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1085"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1129"/>
- <source>Error during exiv2 process - no exif informations will be decode for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1089"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1133"/>
- <source>exiv2 return error %1 - no exif informations will be decode for %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1628"/>
- <source>Video</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1627"/>
- <source>Music</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1472"/>
- <source>Mono</source>
- <comment>Audio channels mode</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="390"/>
- <source>Open file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="84"/>
- <source>Error overwritting %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="867"/>
- <source>Slide number</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="932"/>
- <source>ffDiaporama</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1473"/>
- <source>Stereo</source>
- <comment>Audio channels mode</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="706"/>
- <source>Folder</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="582"/>
- <source>Impossible to start exiv2 - no exif informations will be set for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="587"/>
- <source>Error during exiv2 process - no exif informations will be set for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="591"/>
- <source>exiv2 return error %1 - no exif informations will be set for %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="597"/>
- <source>Successfully add minimal exif values to %1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>cDeviceModelList</name>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="504"/>
- <source>Advanced</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
- <source>Smartphone</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
- <source>Multimedia system</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
- <source>For the WEB</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
- <source>Lossless</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
- <source>Portable Player</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
- <source>Netbook/NetPC</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
- <source>Handheld game console</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
- <source>Tablet computer</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
- <source>Multimedia hard drive and gateway</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
- <source>Player</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
- <source>ADSL Box</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
- <source>Game console</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
- <source>SWF Flash Player</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
- <source>Video-sharing and social WebSite</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
- <source>HTML 5</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>cJobQueue</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="400"/>
- <source>Applying source transformation : Sorry no yet developped !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="416"/>
- <source>Failed to remove existing destination file (%1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="418"/>
- <source>Successfully remove existing destination file (%1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="430"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="624"/>
- <source>Jobtype error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="451"/>
- <source>Start image conversion of %1 to %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="454"/>
- <source>Open file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="457"/>
- <source>Successfully open file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="460"/>
- <source>Rescal image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="482"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="510"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="551"/>
- <source>Failed to rotate image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="483"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="511"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="552"/>
- <source>Succesfully rotate image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="536"/>
- <source>Failed to rescal image %1 to %2x%3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="537"/>
- <source>Succesfully rescal image %1 to %2x%3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="557"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="642"/>
- <source>Apply destination overwriting strategy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="561"/>
- <source>Save image file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="572"/>
- <source>Add minimal exif value to image file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="599"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="695"/>
- <source>Apply source file strategy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="612"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="706"/>
- <source>Job finished</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="639"/>
- <source>Start audio conversion of %1 to %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="644"/>
- <source>Error : for sound conversion, source and destination must be different !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="653"/>
- <source>Process ffmpeg job</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="688"/>
- <source>Error : ffmpeg job can't start : %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="689"/>
- <source>Error : ffmpeg return error %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="691"/>
- <source>Succesfully process ffmpeg job</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="456"/>
- <source>Failed to open file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="563"/>
- <source>Failed to write destination file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="565"/>
- <source>Successfully writing destination file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="411"/>
- <source>Destination file (%1) already exist</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertAudio</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="39"/>
- <source>Convert audio</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="46"/>
- <source>Format :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="68"/>
- <source>Select the audio codec to use for the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="75"/>
- <source>Bit rate :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="97"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="158"/>
- <source>Select the bit rate to use for audio during the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="104"/>
- <source>Force to mono</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="111"/>
- <source>Force to stereo</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="139"/>
- <source>Change frequency to :</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertImage</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="48"/>
- <source>Convert image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="79"/>
- <source>Quality :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="93"/>
- <source>QVGA (240 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="98"/>
- <source>HVGA (320 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="103"/>
- <source>VGA/WVGA (480 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="108"/>
- <source>SD/DVD (576 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="113"/>
- <source>720p (720 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="118"/>
- <source>XGA (768 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="123"/>
- <source>1080p (1080 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="156"/>
- <source>Resize :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="169"/>
- <source>But not upscale image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="250"/>
- <source>Format :</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertVideo</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="33"/>
- <source>Convert video</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="40"/>
- <source>Device type :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="50"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="91"/>
- <source>Select the type of equipment.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="57"/>
- <source>Device model :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="67"/>
- <source>Select the model of equipment</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="74"/>
- <source>Include sound in the video</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="81"/>
- <source>Device :</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-</TS>
diff --git a/locale/ffDiaporamaMMFiler_pt.qm b/locale/ffDiaporamaMMFiler_pt.qm
deleted file mode 100755
index 9dad8df..0000000
Binary files a/locale/ffDiaporamaMMFiler_pt.qm and /dev/null differ
diff --git a/locale/ffDiaporamaMMFiler_pt.ts b/locale/ffDiaporamaMMFiler_pt.ts
deleted file mode 100755
index 2042f55..0000000
--- a/locale/ffDiaporamaMMFiler_pt.ts
+++ /dev/null
@@ -1,2378 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.0" language="pt_PT">
-<context>
- <name>DlgAbout</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="26"/>
- <source>About</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="93"/>
- <source>Licence</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="105"/>
- <source>Copyright (C) 2011-2012 Dominique Levray</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="112"/>
- <source>This software is licensed under the GPL version 2 :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="214"/>
- <source>Credits</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="258"/>
- <source>This application was developped using Open Source version of Qt 4.7 SDK</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="268"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="318"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="349"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="387"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="418"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="588"/>
- <source>WEB site & licence :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="305"/>
- <source>Video decoding and encoding engines are based on ffmpeg</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="336"/>
- <source>Image exif decoding is based on Exiv2 - Image metadata library and tools</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="367"/>
- <source>Other images and graphical material are using Creative Common Licence 2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="380"/>
- <source>C.C. WEB site :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="405"/>
- <source>Many icons are from the Crystal Project</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="551"/>
- <source>Image effects are based on fmt_filters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="575"/>
- <source>TAG managment based on TAGLib</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="672"/>
- <source>&Ok</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgApplicationSettings</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="32"/>
- <source>Application settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="54"/>
- <source>Application Options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="96"/>
- <source>If this box is checked, the sizes and the positions of all the windows and dialogue box of ffDiaporama will be saved to be reused the next time which you will use ffDiaporama.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="99"/>
- <source>Remember Windows size and positions</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="112"/>
- <source>If this box is checked, the directories that you use for the images, the videos, the projects, the musics and the generations of movie will be saved to be reused the next time which you will use ffDiaporama.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="115"/>
- <source>Remember last used folders</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="129"/>
- <source>Application options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="171"/>
- <source>Enable "raster" Graphics System (Need application restart)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="155"/>
- <source>Video options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="184"/>
- <source>Automatically crop 1920x1088 video to 1920x1080</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="521"/>
- <source>Manage Devices</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="197"/>
- <source>Show hidden folders and files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="380"/>
- <source>Display options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="210"/>
- <source>Display folders first</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="223"/>
- <source>Display only drives mounted in /media/</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="261"/>
- <source>Image :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="293"/>
- <source>Music :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="300"/>
- <source>Video :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="341"/>
- <source>Display filename in icon views</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="348"/>
- <source>Thumbnails size for big icons mode :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="415"/>
- <source>Thumbnail rules options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="446"/>
- <source>Minimum height for EXIF "Preview Image" :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="453"/>
- <source>Define minimum height Preview Image must have to use it</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="457"/>
- <source>No minimum height</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="462"/>
- <source>Not less than 100</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="467"/>
- <source>Not less than 200</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="510"/>
- <source>Check Configuration</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="545"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="548"/>
- <source>&Ok</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="559"/>
- <source>Cancel modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="562"/>
- <source>&Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="573"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="576"/>
- <source>&Help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="583"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgCheckConfig</name>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="22"/>
- <source>Check configuration</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="49"/>
- <source>Check configuration at startup</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="69"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="72"/>
- <source>&Ok</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="83"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="86"/>
- <source>&Help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="93"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="63"/>
- <source>ffmpeg not found - critical - application will stop !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="165"/>
- <source>ffmpeg Audio Codecs</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <source>available</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="60"/>
- <source>Unable to determine ffmpeg version</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="103"/>
- <source>LibExiv2 version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="105"/>
- <source>LibExiv2/Exiv2 binary version</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <source>not available</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <source>LibExiv2 support for preview image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="119"/>
- <source>TAGLib version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <source>TAGLib support for FLAC</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <source>TAGLib support for ASF/WMA</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <source>TAGLib support for M4A/MP4</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="149"/>
- <source>ffmpeg version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="150"/>
- <source>LIBAVCODEC version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="151"/>
- <source>LIBAVFORMAT version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="152"/>
- <source>LIBSWSCALE version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <source>ffmpeg support for TAG and CHAPTERS</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="169"/>
- <source>ffmpeg Video Codecs</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
- <source>ffmpeg Container Formats</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgInfoFile</name>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="25"/>
- <source>File information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="93"/>
- <source>File name :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="100"/>
- <source>File type :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="133"/>
- <source>File size :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="153"/>
- <source>File created :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="167"/>
- <source>File modify :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="219"/>
- <source>Video track information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="323"/>
- <source>Chapter information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="288"/>
- <source>Audio track information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="379"/>
- <source>Additional information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="418"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="421"/>
- <source>&Ok</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="432"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="435"/>
- <source>&Help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="442"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgJobSettings</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="20"/>
- <source>Job settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="67"/>
- <source>What to do to sources files ?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="147"/>
- <source>Rename sources files by adding this suffix:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="293"/>
- <source>How to name destinations files ?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="117"/>
- <source>Delete sources files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="98"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="120"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="150"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="516"/>
- <source>buttonGroup</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="95"/>
- <source>Do nothing</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="323"/>
- <source>Add this suffix to file name :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="513"/>
- <source>Move sources files to this folder:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="535"/>
- <source>Place destination files In another folder than sources files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="554"/>
- <source>Overwrite existing destination files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="581"/>
- <source>Add size suffix to file name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="641"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="644"/>
- <source>&Ok</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="655"/>
- <source>Cancel modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="658"/>
- <source>&Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="669"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="672"/>
- <source>&Help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="679"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgManageDevices</name>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="20"/>
- <source>Manage Devices</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="34"/>
- <source>Device type :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="44"/>
- <source>Select the type of equipment to be shown in the list.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="107"/>
- <source>Subtype</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="118"/>
- <source>Model</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="140"/>
- <source>Create a new equipment which comes to be added in the database.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="143"/>
- <source>Add Device</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="154"/>
- <source>Delete current equipment.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="157"/>
- <source>Remove Device</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="168"/>
- <source>Cancel the modifications that you made on an equipment defined in the default ffDiaporama database</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="171"/>
- <source>Reset Device to Default</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="184"/>
- <source>Device subtype :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="194"/>
- <source>Select the category in which is classified the equipment.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="201"/>
- <source>Device model :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="211"/>
- <source>File format :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="221"/>
- <source>Enter here the name of the equipment (free text field).</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="234"/>
- <source>Select the file type to use for the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="241"/>
- <source>Video standard :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="256"/>
- <source>Select the video standard to use, PAL or NTSC.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="260"/>
- <source>PAL</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="265"/>
- <source>NTSC</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="288"/>
- <source>Image format :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="298"/>
- <source>Select the image resolution to use for the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="308"/>
- <source>Video codec :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="335"/>
- <source>Select the video codec to use for the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="348"/>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="413"/>
- <source>Bit rate :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="370"/>
- <source>Select the bit rate to use for video during the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="379"/>
- <source>Audio codec :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="406"/>
- <source>Select the audio codec to use for the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="435"/>
- <source>Select the bit rate to use for audio during the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="484"/>
- <source>Apply</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="495"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="498"/>
- <source>&Ok</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="509"/>
- <source>Cancel modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="512"/>
- <source>&Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="523"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="526"/>
- <source>&Help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="533"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="112"/>
- <source>Apply modification</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="113"/>
- <source>Do you whant to apply modification for this device?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="535"/>
- <source><new device></source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgRenderVideo</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="658"/>
- <source>Error starting ffmpeg</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>MainWindow</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="95"/>
- <source>File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="326"/>
- <source>Change application and project settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="329"/>
- <source>Settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="367"/>
- <source>Exit application (Ctrl+W)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="370"/>
- <source>Exit</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="383"/>
- <source>Ctrl+W</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="122"/>
- <source>Refresh</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="119"/>
- <source>Refresh tree and folder table</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="135"/>
- <source>F5</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="164"/>
- <source>Open file with default application defined on computer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="167"/>
- <source>Open
-File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="181"/>
- <source>Return</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="203"/>
- <source>Display detailled information on file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="206"/>
- <source>Display
-Information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="239"/>
- <source>Remove file from the disk</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="242"/>
- <source>Remove
-File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="256"/>
- <source>Del</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="278"/>
- <source>Open contextual action menu</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="281"/>
- <source>Action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="418"/>
- <source>Select display mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="421"/>
- <source>Mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="453"/>
- <source>Select file filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="456"/>
- <source>Filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="477"/>
- <source>Help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="513"/>
- <source>Display informations about ffDiaporama</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="516"/>
- <source>About</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="560"/>
- <source>Call ffDiaporama WIKI</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="563"/>
- <source>Support
-and help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="577"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="611"/>
- <source>Display blog/news page from internet WEB site</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="614"/>
- <source>What's new</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1021"/>
- <source>Stop current job</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1062"/>
- <source>Up job in the list</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1103"/>
- <source>Down job in the list</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="60"/>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="74"/>
- <source>Search Raster mode in configuration file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="274"/>
- <source>All suported file (</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="281"/>
- <source>Image file (</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="287"/>
- <source>Video file (</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="293"/>
- <source>Music file (</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="460"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="387"/>
- <source>Read configuration file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="462"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="397"/>
- <source>Error reading configuration file</source>
- <comment>Error message</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="467"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="402"/>
- <source>Error reading content of configuration file</source>
- <comment>Error message</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="474"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="409"/>
- <source>The file is not a valid configuration file</source>
- <comment>Error message</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="641"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="456"/>
- <source>Error creating configuration file</source>
- <comment>Error message</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="98"/>
- <source>Loading cached filtered file :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="109"/>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="137"/>
- <source>Rescal image to 8MPix</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="117"/>
- <source>Error allocating memory for cached filtered file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="119"/>
- <source>Error loading cached filtered file :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="126"/>
- <source>Loading file :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="145"/>
- <source>Error allocating memory for render image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="147"/>
- <source>Error loading file :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="382"/>
- <source>files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="383"/>
- <source>folders</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="384"/>
- <source>Total size:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="385"/>
- <source>Total duration:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="451"/>
- <source>Configuration not correct!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="521"/>
- <source>Details view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="522"/>
- <source>Short summary view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="523"/>
- <source>Long summary view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="524"/>
- <source>Small icon view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="525"/>
- <source>Medium icon view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="526"/>
- <source>Images wall view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="553"/>
- <source>All files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="554"/>
- <source>Managed files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="555"/>
- <source>Image files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="556"/>
- <source>Video files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="557"/>
- <source>Music files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="558"/>
- <source>ffDiaporama project files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="623"/>
- <source>Are you sure to remove theses files ?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="626"/>
- <source>Successfuly remove file (%1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="628"/>
- <source>Failed to remove file (%1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="647"/>
- <source>Are you sure to remove this folder ?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="670"/>
- <source>Impossible to remove file %1 - error %2:%3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="675"/>
- <source>Impossible to remove folder %1 - error %2:%3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="679"/>
- <source>Successfully remove folder (and all is content) %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="73"/>
- <source>Applying Despeckle filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="77"/>
- <source>Applying Equalize filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="81"/>
- <source>Applying Gray filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="85"/>
- <source>Applying blur filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="89"/>
- <source>Applying sharpen filter</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QCustomFolderTable</name>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="364"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="384"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="428"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="615"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="643"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="654"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="662"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="689"/>
- <source>File</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="367"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="385"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="429"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="616"/>
- <source>File Type</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="386"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="430"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="617"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="644"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="655"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="663"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="690"/>
- <source>File Size</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="387"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="431"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="618"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="645"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="656"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="664"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="691"/>
- <source>File Date</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="388"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="432"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="619"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="646"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="665"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="692"/>
- <source>Duration</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="409"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="435"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="620"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="666"/>
- <source>Chapters</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="389"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="433"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="621"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="657"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="667"/>
- <source>Image Size</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="390"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="434"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="622"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="658"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="668"/>
- <source>Image Format</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="391"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="436"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="623"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="659"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="669"/>
- <source>Image Geometry</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="392"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="437"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="624"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="670"/>
- <source>Video Codec</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="393"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="438"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="625"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="671"/>
- <source>Frame Rate</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="394"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="439"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="626"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="672"/>
- <source>Video Bitrate</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="395"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="440"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="627"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="673"/>
- <source>Audio Language</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="396"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="441"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="628"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="674"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="693"/>
- <source>Audio Codec</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="397"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="442"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="629"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="675"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="694"/>
- <source>Audio Channels</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="398"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="443"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="630"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="676"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="695"/>
- <source>Audio Bitrate</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="399"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="444"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="631"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="677"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="696"/>
- <source>Audio Frequency</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="400"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="445"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="632"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="647"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="678"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="697"/>
- <source>Title</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="401"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="446"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="633"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="679"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="698"/>
- <source>Artist</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="402"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="447"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="634"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="649"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="680"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="699"/>
- <source>Album</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="403"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="448"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="635"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="650"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="681"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="700"/>
- <source>Year</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="404"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="449"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="636"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="682"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="701"/>
- <source>Track</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="405"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="450"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="637"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="683"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="702"/>
- <source>Genre</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="406"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="451"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="638"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="684"/>
- <source>Comment</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="407"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="452"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="639"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="651"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="685"/>
- <source>Composer</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="408"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="453"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="640"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="686"/>
- <source>Encoder</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="648"/>
- <source>Author</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QCustomFolderTree</name>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="99"/>
- <source>Kb</source>
- <comment>Unit Kb</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
- <source>Mb</source>
- <comment>Unit Mb</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
- <source>Gb</source>
- <comment>Unit Gb</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
- <source>Tb</source>
- <comment>Unit Tb</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="159"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="202"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="334"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="336"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="337"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="443"/>
- <location filename="../src/sharedfiles/QCustomGetFolder.cpp" line="70"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="58"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="93"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="347"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="352"/>
- <source>Personal folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="86"/>
- <source>Refresh all</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="87"/>
- <source>Refresh from here</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="88"/>
- <source>Create new subfolder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="89"/>
- <source>Remove folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="107"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="115"/>
- <source>Create folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="107"/>
- <source>Folder:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="114"/>
- <source>Error %1:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="116"/>
- <source>Impossible to create folder !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="348"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="353"/>
- <source>System files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="94"/>
- <source>Empty drive...</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QCustomGetFolder</name>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="20"/>
- <source>Select a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="98"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="101"/>
- <source>&Ok</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="112"/>
- <source>Cancel modification and exit dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="115"/>
- <source>&Cancel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="126"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="129"/>
- <source>&Help</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="136"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QCustomJobTable</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="59"/>
- <source>Date/Time</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="60"/>
- <source>Status</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="61"/>
- <source>Progress</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="62"/>
- <source>Job Type</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="63"/>
- <source>Current action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="248"/>
- <source>Waiting</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="249"/>
- <source>Started</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="250"/>
- <source>Paused</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="251"/>
- <source>Canceled</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="252"/>
- <source>Succeeded</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="253"/>
- <source>Ended with error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="255"/>
- <source>Not defined</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="256"/>
- <source>Open</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="257"/>
- <source>Display information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="258"/>
- <source>Remove</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="259"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="260"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="261"/>
- <source>Convert</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="298"/>
- <source>overwrite destination file as needed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="299"/>
- <source>and remove %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="300"/>
- <source>and rename %1 to %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="301"/>
- <source>and move %1 to %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="151"/>
- <source>and rescal image to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="132"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="153"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="157"/>
- <source>and rotate image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="133"/>
- <source>but don't rotate image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="159"/>
- <source>new image size will become %1x%2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="164"/>
- <source>and set codec to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="131"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="165"/>
- <source>and set audio compression to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="132"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="166"/>
- <source>and force audio frequency to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="133"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="167"/>
- <source>and force to mono</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="133"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="167"/>
- <source>and force to stereo</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="106"/>
- <source>and resize to %1x%2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="113"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="117"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="121"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="124"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="129"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="139"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="149"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="152"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="155"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="158"/>
- <source>and set video codec to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="114"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="140"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="153"/>
- <source>and set video compression to %1 with + and - 10%</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="118"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="122"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="125"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="156"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="159"/>
- <source>and set video compression to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="131"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="141"/>
- <source>and set video preset %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="150"/>
- <source>and set video quality to 2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>cBaseMediaFile</name>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="391"/>
- <source>Impossible to open file </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="391"/>
- <source>Do you want to select another file ?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="395"/>
- <source>Select another file for </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="407"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="559"/>
- <source>Impossible to open file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="494"/>
- <source>MPix</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="578"/>
- <source>Unmanaged</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="902"/>
- <source>Slides</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="903"/>
- <source>Chapters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="959"/>
- <source>Image</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="960"/>
- <source>Thumbnail</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="986"/>
- <source>Image don't have EXIF metadata %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1080"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1124"/>
- <source>Impossible to start exiv2 - no exif informations will be decode for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1085"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1129"/>
- <source>Error during exiv2 process - no exif informations will be decode for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1089"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1133"/>
- <source>exiv2 return error %1 - no exif informations will be decode for %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1628"/>
- <source>Video</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1627"/>
- <source>Music</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1472"/>
- <source>Mono</source>
- <comment>Audio channels mode</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="390"/>
- <source>Open file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="84"/>
- <source>Error overwritting %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="867"/>
- <source>Slide number</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="932"/>
- <source>ffDiaporama</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1473"/>
- <source>Stereo</source>
- <comment>Audio channels mode</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="706"/>
- <source>Folder</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="582"/>
- <source>Impossible to start exiv2 - no exif informations will be set for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="587"/>
- <source>Error during exiv2 process - no exif informations will be set for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="591"/>
- <source>exiv2 return error %1 - no exif informations will be set for %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="597"/>
- <source>Successfully add minimal exif values to %1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>cDeviceModelList</name>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="504"/>
- <source>Advanced</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
- <source>Smartphone</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
- <source>Multimedia system</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
- <source>For the WEB</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
- <source>Lossless</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
- <source>Portable Player</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
- <source>Netbook/NetPC</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
- <source>Handheld game console</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
- <source>Tablet computer</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
- <source>Multimedia hard drive and gateway</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
- <source>Player</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
- <source>ADSL Box</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
- <source>Game console</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
- <source>SWF Flash Player</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
- <source>Video-sharing and social WebSite</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
- <source>HTML 5</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>cJobQueue</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="400"/>
- <source>Applying source transformation : Sorry no yet developped !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="416"/>
- <source>Failed to remove existing destination file (%1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="418"/>
- <source>Successfully remove existing destination file (%1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="430"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="624"/>
- <source>Jobtype error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="451"/>
- <source>Start image conversion of %1 to %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="454"/>
- <source>Open file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="457"/>
- <source>Successfully open file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="460"/>
- <source>Rescal image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="482"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="510"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="551"/>
- <source>Failed to rotate image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="483"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="511"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="552"/>
- <source>Succesfully rotate image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="536"/>
- <source>Failed to rescal image %1 to %2x%3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="537"/>
- <source>Succesfully rescal image %1 to %2x%3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="557"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="642"/>
- <source>Apply destination overwriting strategy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="561"/>
- <source>Save image file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="572"/>
- <source>Add minimal exif value to image file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="599"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="695"/>
- <source>Apply source file strategy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="612"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="706"/>
- <source>Job finished</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="639"/>
- <source>Start audio conversion of %1 to %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="644"/>
- <source>Error : for sound conversion, source and destination must be different !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="653"/>
- <source>Process ffmpeg job</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="688"/>
- <source>Error : ffmpeg job can't start : %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="689"/>
- <source>Error : ffmpeg return error %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="691"/>
- <source>Succesfully process ffmpeg job</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="456"/>
- <source>Failed to open file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="563"/>
- <source>Failed to write destination file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="565"/>
- <source>Successfully writing destination file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="411"/>
- <source>Destination file (%1) already exist</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertAudio</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="39"/>
- <source>Convert audio</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="46"/>
- <source>Format :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="68"/>
- <source>Select the audio codec to use for the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="75"/>
- <source>Bit rate :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="97"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="158"/>
- <source>Select the bit rate to use for audio during the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="104"/>
- <source>Force to mono</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="111"/>
- <source>Force to stereo</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="139"/>
- <source>Change frequency to :</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertImage</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="48"/>
- <source>Convert image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="79"/>
- <source>Quality :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="93"/>
- <source>QVGA (240 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="98"/>
- <source>HVGA (320 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="103"/>
- <source>VGA/WVGA (480 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="108"/>
- <source>SD/DVD (576 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="113"/>
- <source>720p (720 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="118"/>
- <source>XGA (768 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="123"/>
- <source>1080p (1080 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="156"/>
- <source>Resize :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="169"/>
- <source>But not upscale image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="250"/>
- <source>Format :</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertVideo</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="33"/>
- <source>Convert video</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="40"/>
- <source>Device type :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="50"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="91"/>
- <source>Select the type of equipment.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="57"/>
- <source>Device model :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="67"/>
- <source>Select the model of equipment</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="74"/>
- <source>Include sound in the video</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="81"/>
- <source>Device :</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-</TS>
diff --git a/locale/ffDiaporamaMMFiler_ru.qm b/locale/ffDiaporamaMMFiler_ru.qm
deleted file mode 100755
index 0aba289..0000000
Binary files a/locale/ffDiaporamaMMFiler_ru.qm and /dev/null differ
diff --git a/locale/ffDiaporamaMMFiler_ru.ts b/locale/ffDiaporamaMMFiler_ru.ts
deleted file mode 100755
index 0441475..0000000
--- a/locale/ffDiaporamaMMFiler_ru.ts
+++ /dev/null
@@ -1,2378 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.0" language="ru_RU">
-<context>
- <name>DlgAbout</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="26"/>
- <source>About</source>
- <translation>О программе</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="93"/>
- <source>Licence</source>
- <translation>Лицензия</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="105"/>
- <source>Copyright (C) 2011-2012 Dominique Levray</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="112"/>
- <source>This software is licensed under the GPL version 2 :</source>
- <translation>Эта программа распростроняется по лицензии GPL:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="214"/>
- <source>Credits</source>
- <translation>Авторы</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="258"/>
- <source>This application was developped using Open Source version of Qt 4.7 SDK</source>
- <translation>Это приложени было разработано с помощью Qt 4.7 SDK с открытым исходным кодом</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="268"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="318"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="349"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="387"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="418"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="588"/>
- <source>WEB site & licence :</source>
- <translation>Сайт программы и лицензия:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="305"/>
- <source>Video decoding and encoding engines are based on ffmpeg</source>
- <translation>Кодирование и декодирование видео происзодит с помощью ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="336"/>
- <source>Image exif decoding is based on Exiv2 - Image metadata library and tools</source>
- <translation>Данные изображения (exif) декодируются с помощью Exiv2 - Image metadata library and tools</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="367"/>
- <source>Other images and graphical material are using Creative Common Licence 2</source>
- <translation>Другие изображения и графические материалы используются по лицензии Creative Common Licence 2</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="380"/>
- <source>C.C. WEB site :</source>
- <translation>Сайт Creative common:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="405"/>
- <source>Many icons are from the Crystal Project</source>
- <translation>Многочисленные иконки взяты из Crystal Project</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="551"/>
- <source>Image effects are based on fmt_filters</source>
- <translation>Эффект, применяемые к фотографиям основаны на fmt_filters</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="575"/>
- <source>TAG managment based on TAGLib</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgAbout.ui" line="672"/>
- <source>&Ok</source>
- <translation>&Ок</translation>
- </message>
-</context>
-<context>
- <name>DlgApplicationSettings</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="32"/>
- <source>Application settings</source>
- <translation>Настройки приложения</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="54"/>
- <source>Application Options</source>
- <translation>Параметры приложения</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="96"/>
- <source>If this box is checked, the sizes and the positions of all the windows and dialogue box of ffDiaporama will be saved to be reused the next time which you will use ffDiaporama.</source>
- <translation type="unfinished">Если этот пункт отмечен, размер и позиция всех окон и диалоговый </translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="99"/>
- <source>Remember Windows size and positions</source>
- <translation>Запомнить размер и позицию окон</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="112"/>
- <source>If this box is checked, the directories that you use for the images, the videos, the projects, the musics and the generations of movie will be saved to be reused the next time which you will use ffDiaporama.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="115"/>
- <source>Remember last used folders</source>
- <translation>Запомнить последнию используюмую папку</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="129"/>
- <source>Application options</source>
- <translation>Параметры приложения</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="171"/>
- <source>Enable "raster" Graphics System (Need application restart)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="155"/>
- <source>Video options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="380"/>
- <source>Display options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="184"/>
- <source>Automatically crop 1920x1088 video to 1920x1080</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="521"/>
- <source>Manage Devices</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="510"/>
- <source>Check Configuration</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="197"/>
- <source>Show hidden folders and files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="210"/>
- <source>Display folders first</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="223"/>
- <source>Display only drives mounted in /media/</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="261"/>
- <source>Image :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="293"/>
- <source>Music :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="300"/>
- <source>Video :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="341"/>
- <source>Display filename in icon views</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="348"/>
- <source>Thumbnails size for big icons mode :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="415"/>
- <source>Thumbnail rules options</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="446"/>
- <source>Minimum height for EXIF "Preview Image" :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="453"/>
- <source>Define minimum height Preview Image must have to use it</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="457"/>
- <source>No minimum height</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="462"/>
- <source>Not less than 100</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="467"/>
- <source>Not less than 200</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="545"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Принять изменение и выйти из диалогового окна</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="548"/>
- <source>&Ok</source>
- <translation>&Ок</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="559"/>
- <source>Cancel modification and exit dialog box</source>
- <translation>Отменить изменение и выйти из диалогового окна</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="562"/>
- <source>&Cancel</source>
- <translation>&Отмена</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="573"/>
- <source>Open help page describing this dialog box</source>
- <translation>Открыть страницу помощи, описывающий это диалоговое окно</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="576"/>
- <source>&Help</source>
- <translation>&Помощь</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgApplicationSettings.ui" line="583"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgCheckConfig</name>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="22"/>
- <source>Check configuration</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="49"/>
- <source>Check configuration at startup</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="69"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished">Принять изменение и выйти из диалогового окна</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="72"/>
- <source>&Ok</source>
- <translation type="unfinished">&Ок</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="83"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished">Открыть страницу помощи, описывающий это диалоговое окно</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="86"/>
- <source>&Help</source>
- <translation type="unfinished">&Помощь</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.ui" line="93"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="63"/>
- <source>ffmpeg not found - critical - application will stop !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="165"/>
- <source>ffmpeg Audio Codecs</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <source>available</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="60"/>
- <source>Unable to determine ffmpeg version</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="103"/>
- <source>LibExiv2 version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="105"/>
- <source>LibExiv2/Exiv2 binary version</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <source>not available</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <source>LibExiv2 support for preview image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="119"/>
- <source>TAGLib version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
- <source>TAGLib support for FLAC</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
- <source>TAGLib support for ASF/WMA</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <source>TAGLib support for M4A/MP4</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="149"/>
- <source>ffmpeg version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="150"/>
- <source>LIBAVCODEC version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="151"/>
- <source>LIBAVFORMAT version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="152"/>
- <source>LIBSWSCALE version:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <source>ffmpeg support for TAG and CHAPTERS</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="169"/>
- <source>ffmpeg Video Codecs</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
- <source>ffmpeg Container Formats</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgInfoFile</name>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="25"/>
- <source>File information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="93"/>
- <source>File name :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="100"/>
- <source>File type :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="133"/>
- <source>File size :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="153"/>
- <source>File created :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="167"/>
- <source>File modify :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="219"/>
- <source>Video track information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="323"/>
- <source>Chapter information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="288"/>
- <source>Audio track information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="379"/>
- <source>Additional information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="418"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished">Принять изменение и выйти из диалогового окна</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="421"/>
- <source>&Ok</source>
- <translation type="unfinished">&Ок</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="432"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished">Открыть страницу помощи, описывающий это диалоговое окно</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="435"/>
- <source>&Help</source>
- <translation type="unfinished">&Помощь</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="442"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgJobSettings</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="20"/>
- <source>Job settings</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="67"/>
- <source>What to do to sources files ?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="147"/>
- <source>Rename sources files by adding this suffix:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="293"/>
- <source>How to name destinations files ?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="117"/>
- <source>Delete sources files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="98"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="120"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="150"/>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="516"/>
- <source>buttonGroup</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="95"/>
- <source>Do nothing</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="323"/>
- <source>Add this suffix to file name :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="513"/>
- <source>Move sources files to this folder:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="535"/>
- <source>Place destination files In another folder than sources files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="554"/>
- <source>Overwrite existing destination files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="581"/>
- <source>Add size suffix to file name</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="641"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished">Принять изменение и выйти из диалогового окна</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="644"/>
- <source>&Ok</source>
- <translation type="unfinished">&Ок</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="655"/>
- <source>Cancel modification and exit dialog box</source>
- <translation type="unfinished">Отменить изменение и выйти из диалогового окна</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="658"/>
- <source>&Cancel</source>
- <translation type="unfinished">&Отмена</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="669"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished">Открыть страницу помощи, описывающий это диалоговое окно</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="672"/>
- <source>&Help</source>
- <translation type="unfinished">&Помощь</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.ui" line="679"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>DlgManageDevices</name>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="20"/>
- <source>Manage Devices</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="34"/>
- <source>Device type :</source>
- <translation type="unfinished">Тип девайса:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="44"/>
- <source>Select the type of equipment to be shown in the list.</source>
- <translation type="unfinished">Выбрать вид оборудования, которой классифицируется .</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="107"/>
- <source>Subtype</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="118"/>
- <source>Model</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="140"/>
- <source>Create a new equipment which comes to be added in the database.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="143"/>
- <source>Add Device</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="154"/>
- <source>Delete current equipment.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="157"/>
- <source>Remove Device</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="168"/>
- <source>Cancel the modifications that you made on an equipment defined in the default ffDiaporama database</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="171"/>
- <source>Reset Device to Default</source>
- <translation type="unfinished">Настройки девайса по умолчанию</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="184"/>
- <source>Device subtype :</source>
- <translation type="unfinished">Подвид девайса:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="194"/>
- <source>Select the category in which is classified the equipment.</source>
- <translation type="unfinished">Выбрать категорию, по которой классифицируется оборудование.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="201"/>
- <source>Device model :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="211"/>
- <source>File format :</source>
- <translation type="unfinished">Формат файла:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="221"/>
- <source>Enter here the name of the equipment (free text field).</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="234"/>
- <source>Select the file type to use for the rendering.</source>
- <translation type="unfinished">Выбрать тип файла для рендирования.</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="241"/>
- <source>Video standard :</source>
- <translation type="unfinished">Видео стандарт:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="256"/>
- <source>Select the video standard to use, PAL or NTSC.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="260"/>
- <source>PAL</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="265"/>
- <source>NTSC</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="288"/>
- <source>Image format :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="298"/>
- <source>Select the image resolution to use for the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="308"/>
- <source>Video codec :</source>
- <translation type="unfinished">Видео кодек:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="335"/>
- <source>Select the video codec to use for the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="348"/>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="413"/>
- <source>Bit rate :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="370"/>
- <source>Select the bit rate to use for video during the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="379"/>
- <source>Audio codec :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="406"/>
- <source>Select the audio codec to use for the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="435"/>
- <source>Select the bit rate to use for audio during the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="484"/>
- <source>Apply</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="495"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished">Принять изменение и выйти из диалогового окна</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="498"/>
- <source>&Ok</source>
- <translation type="unfinished">&Ок</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="509"/>
- <source>Cancel modification and exit dialog box</source>
- <translation type="unfinished">Отменить изменение и выйти из диалогового окна</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="512"/>
- <source>&Cancel</source>
- <translation type="unfinished">&Отмена</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="523"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished">Открыть страницу помощи, описывающий это диалоговое окно</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="526"/>
- <source>&Help</source>
- <translation type="unfinished">&Помощь</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.ui" line="533"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="112"/>
- <source>Apply modification</source>
- <translation type="unfinished">Применить изменение</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="113"/>
- <source>Do you whant to apply modification for this device?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgManageDevices.cpp" line="535"/>
- <source><new device></source>
- <translation type="unfinished">новый девайс</translation>
- </message>
-</context>
-<context>
- <name>DlgRenderVideo</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="658"/>
- <source>Error starting ffmpeg</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>MainWindow</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="95"/>
- <source>File</source>
- <translation>Файл</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="326"/>
- <source>Change application and project settings</source>
- <translation>Изменить приложение и свойства проекта</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="329"/>
- <source>Settings</source>
- <translation>Свойства</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="367"/>
- <source>Exit application (Ctrl+W)</source>
- <translation>Закрыть приложение</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="370"/>
- <source>Exit</source>
- <translation>Выход</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="383"/>
- <source>Ctrl+W</source>
- <translation>Ctrl+W</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="122"/>
- <source>Refresh</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="119"/>
- <source>Refresh tree and folder table</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="135"/>
- <source>F5</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="164"/>
- <source>Open file with default application defined on computer</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="167"/>
- <source>Open
-File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="181"/>
- <source>Return</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="203"/>
- <source>Display detailled information on file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="206"/>
- <source>Display
-Information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="239"/>
- <source>Remove file from the disk</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="242"/>
- <source>Remove
-File</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="256"/>
- <source>Del</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="278"/>
- <source>Open contextual action menu</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="281"/>
- <source>Action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="418"/>
- <source>Select display mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="421"/>
- <source>Mode</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="453"/>
- <source>Select file filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="456"/>
- <source>Filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="477"/>
- <source>Help</source>
- <translation>Помощь</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="513"/>
- <source>Display informations about ffDiaporama</source>
- <translation>Показать информацию о ffDiaporama</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="516"/>
- <source>About</source>
- <translation>О программе</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="560"/>
- <source>Call ffDiaporama WIKI</source>
- <translation>Вызвать ffDiaporama WIKI</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="563"/>
- <source>Support
-and help</source>
- <translation>Поддержка и помощь</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="577"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="611"/>
- <source>Display blog/news page from internet WEB site</source>
- <translation>Показать блог/новости с домашней веб-страницы</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="614"/>
- <source>What's new</source>
- <translation>Что нового </translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1021"/>
- <source>Stop current job</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1062"/>
- <source>Up job in the list</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.ui" line="1103"/>
- <source>Down job in the list</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="60"/>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="74"/>
- <source>Search Raster mode in configuration file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="274"/>
- <source>All suported file (</source>
- <translation>Все поддерживаемые файлы (</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="281"/>
- <source>Image file (</source>
- <translation>Изображения(</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="287"/>
- <source>Video file (</source>
- <translation>Видео файлы(</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="293"/>
- <source>Music file (</source>
- <translation>Музыкальны файлы (</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="460"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="387"/>
- <source>Read configuration file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="462"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="397"/>
- <source>Error reading configuration file</source>
- <comment>Error message</comment>
- <translation>Ошибка чтения файла конфигуранции</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="467"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="402"/>
- <source>Error reading content of configuration file</source>
- <comment>Error message</comment>
- <translation>Ошибка чтения содержимого файла конфигуранции</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="474"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="409"/>
- <source>The file is not a valid configuration file</source>
- <comment>Error message</comment>
- <translation>Этот файл не является файлом конфигуранции</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="641"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="456"/>
- <source>Error creating configuration file</source>
- <comment>Error message</comment>
- <translation>Ошибка создания файла конфигуранции</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="98"/>
- <source>Loading cached filtered file :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="109"/>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="137"/>
- <source>Rescal image to 8MPix</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="117"/>
- <source>Error allocating memory for cached filtered file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="119"/>
- <source>Error loading cached filtered file :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="126"/>
- <source>Loading file :</source>
- <translation>Загрузка файла:</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="145"/>
- <source>Error allocating memory for render image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cLuLoImageCache.cpp" line="147"/>
- <source>Error loading file :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="382"/>
- <source>files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="383"/>
- <source>folders</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="384"/>
- <source>Total size:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="385"/>
- <source>Total duration:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="451"/>
- <source>Configuration not correct!</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="521"/>
- <source>Details view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="522"/>
- <source>Short summary view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="523"/>
- <source>Long summary view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="524"/>
- <source>Small icon view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="525"/>
- <source>Medium icon view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="526"/>
- <source>Images wall view</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="553"/>
- <source>All files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="554"/>
- <source>Managed files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="555"/>
- <source>Image files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="556"/>
- <source>Video files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="557"/>
- <source>Music files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="558"/>
- <source>ffDiaporama project files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="623"/>
- <source>Are you sure to remove theses files ?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="626"/>
- <source>Successfuly remove file (%1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="628"/>
- <source>Failed to remove file (%1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="647"/>
- <source>Are you sure to remove this folder ?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="670"/>
- <source>Impossible to remove file %1 - error %2:%3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="675"/>
- <source>Impossible to remove folder %1 - error %2:%3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="679"/>
- <source>Successfully remove folder (and all is content) %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="73"/>
- <source>Applying Despeckle filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="77"/>
- <source>Applying Equalize filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="81"/>
- <source>Applying Gray filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="85"/>
- <source>Applying blur filter</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cFilterTransformObject.cpp" line="89"/>
- <source>Applying sharpen filter</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QCustomFolderTable</name>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="364"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="384"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="428"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="615"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="643"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="654"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="662"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="689"/>
- <source>File</source>
- <comment>Column header</comment>
- <translation type="unfinished">Файл</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="367"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="385"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="429"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="616"/>
- <source>File Type</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="386"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="430"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="617"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="644"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="655"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="663"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="690"/>
- <source>File Size</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="387"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="431"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="618"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="645"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="656"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="664"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="691"/>
- <source>File Date</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="388"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="432"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="619"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="646"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="665"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="692"/>
- <source>Duration</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="409"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="435"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="620"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="666"/>
- <source>Chapters</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="389"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="433"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="621"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="657"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="667"/>
- <source>Image Size</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="390"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="434"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="622"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="658"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="668"/>
- <source>Image Format</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="391"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="436"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="623"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="659"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="669"/>
- <source>Image Geometry</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="392"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="437"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="624"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="670"/>
- <source>Video Codec</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="393"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="438"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="625"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="671"/>
- <source>Frame Rate</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="394"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="439"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="626"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="672"/>
- <source>Video Bitrate</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="395"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="440"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="627"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="673"/>
- <source>Audio Language</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="396"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="441"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="628"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="674"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="693"/>
- <source>Audio Codec</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="397"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="442"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="629"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="675"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="694"/>
- <source>Audio Channels</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="398"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="443"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="630"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="676"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="695"/>
- <source>Audio Bitrate</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="399"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="444"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="631"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="677"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="696"/>
- <source>Audio Frequency</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="400"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="445"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="632"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="647"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="678"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="697"/>
- <source>Title</source>
- <comment>Column header</comment>
- <translation type="unfinished">Название</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="401"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="446"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="633"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="679"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="698"/>
- <source>Artist</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="402"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="447"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="634"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="649"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="680"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="699"/>
- <source>Album</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="403"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="448"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="635"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="650"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="681"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="700"/>
- <source>Year</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="404"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="449"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="636"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="682"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="701"/>
- <source>Track</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="405"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="450"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="637"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="683"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="702"/>
- <source>Genre</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="406"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="451"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="638"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="684"/>
- <source>Comment</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="407"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="452"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="639"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="651"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="685"/>
- <source>Composer</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="408"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="453"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="640"/>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="686"/>
- <source>Encoder</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTable.cpp" line="648"/>
- <source>Author</source>
- <comment>Column header</comment>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QCustomFolderTree</name>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="99"/>
- <source>Kb</source>
- <comment>Unit Kb</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
- <source>Mb</source>
- <comment>Unit Mb</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
- <source>Gb</source>
- <comment>Unit Gb</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
- <source>Tb</source>
- <comment>Unit Tb</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/mainwindow.cpp" line="159"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="202"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="334"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="336"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="337"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="443"/>
- <location filename="../src/sharedfiles/QCustomGetFolder.cpp" line="70"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="58"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="93"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="347"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="352"/>
- <source>Personal folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="86"/>
- <source>Refresh all</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="87"/>
- <source>Refresh from here</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="88"/>
- <source>Create new subfolder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="89"/>
- <source>Remove folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="107"/>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="115"/>
- <source>Create folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="107"/>
- <source>Folder:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="114"/>
- <source>Error %1:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="116"/>
- <source>Impossible to create folder !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomFolderTree.cpp" line="348"/>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="353"/>
- <source>System files</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDriveList.cpp" line="94"/>
- <source>Empty drive...</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QCustomGetFolder</name>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="20"/>
- <source>Select a folder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="98"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished">Принять изменение и выйти из диалогового окна</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="101"/>
- <source>&Ok</source>
- <translation type="unfinished">&Ок</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="112"/>
- <source>Cancel modification and exit dialog box</source>
- <translation type="unfinished">Отменить изменение и выйти из диалогового окна</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="115"/>
- <source>&Cancel</source>
- <translation type="unfinished">&Отмена</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="126"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished">Открыть страницу помощи, описывающий это диалоговое окно</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="129"/>
- <source>&Help</source>
- <translation type="unfinished">&Помощь</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/QCustomGetFolder.ui" line="136"/>
- <source>F1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>QCustomJobTable</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="59"/>
- <source>Date/Time</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="60"/>
- <source>Status</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="61"/>
- <source>Progress</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="62"/>
- <source>Job Type</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/QCustomJobTable.cpp" line="63"/>
- <source>Current action</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="248"/>
- <source>Waiting</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="249"/>
- <source>Started</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="250"/>
- <source>Paused</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="251"/>
- <source>Canceled</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="252"/>
- <source>Succeeded</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="253"/>
- <source>Ended with error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="255"/>
- <source>Not defined</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="256"/>
- <source>Open</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="257"/>
- <source>Display information</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="258"/>
- <source>Remove</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="259"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="260"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="261"/>
- <source>Convert</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="298"/>
- <source>overwrite destination file as needed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="299"/>
- <source>and remove %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="300"/>
- <source>and rename %1 to %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/DlgJobSettings.cpp" line="301"/>
- <source>and move %1 to %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="151"/>
- <source>and rescal image to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="132"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="153"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="157"/>
- <source>and rotate image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="133"/>
- <source>but don't rotate image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp" line="159"/>
- <source>new image size will become %1x%2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="164"/>
- <source>and set codec to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="131"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="165"/>
- <source>and set audio compression to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="132"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="166"/>
- <source>and force audio frequency to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="133"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="167"/>
- <source>and force to mono</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp" line="133"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="167"/>
- <source>and force to stereo</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="106"/>
- <source>and resize to %1x%2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="113"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="117"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="121"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="124"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="129"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="139"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="149"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="152"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="155"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="158"/>
- <source>and set video codec to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="114"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="130"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="140"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="153"/>
- <source>and set video compression to %1 with + and - 10%</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="118"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="122"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="125"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="156"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="159"/>
- <source>and set video compression to %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="131"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="141"/>
- <source>and set video preset %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp" line="150"/>
- <source>and set video quality to 2</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>cBaseMediaFile</name>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="391"/>
- <source>Impossible to open file </source>
- <translation type="unfinished">Невозможно открыть файл</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="391"/>
- <source>Do you want to select another file ?</source>
- <translation type="unfinished">Хотите выбрать другой файл?</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="395"/>
- <source>Select another file for </source>
- <translation type="unfinished">Выбрать другой файл для </translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="407"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="559"/>
- <source>Impossible to open file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="494"/>
- <source>MPix</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="578"/>
- <source>Unmanaged</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="902"/>
- <source>Slides</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="903"/>
- <source>Chapters</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="959"/>
- <source>Image</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="960"/>
- <source>Thumbnail</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="986"/>
- <source>Image don't have EXIF metadata %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1080"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1124"/>
- <source>Impossible to start exiv2 - no exif informations will be decode for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1085"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1129"/>
- <source>Error during exiv2 process - no exif informations will be decode for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1089"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1133"/>
- <source>exiv2 return error %1 - no exif informations will be decode for %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1628"/>
- <source>Video</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1627"/>
- <source>Music</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1472"/>
- <source>Mono</source>
- <comment>Audio channels mode</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="390"/>
- <source>Open file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="84"/>
- <source>Error overwritting %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="867"/>
- <source>Slide number</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="932"/>
- <source>ffDiaporama</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1473"/>
- <source>Stereo</source>
- <comment>Audio channels mode</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="706"/>
- <source>Folder</source>
- <comment>File type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="582"/>
- <source>Impossible to start exiv2 - no exif informations will be set for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="587"/>
- <source>Error during exiv2 process - no exif informations will be set for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="591"/>
- <source>exiv2 return error %1 - no exif informations will be set for %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="597"/>
- <source>Successfully add minimal exif values to %1</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>cDeviceModelList</name>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="504"/>
- <source>Advanced</source>
- <comment>Device database type</comment>
- <translation type="unfinished">Дополнительно</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
- <source>Smartphone</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
- <source>Multimedia system</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
- <source>For the WEB</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
- <source>Lossless</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
- <source>Portable Player</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
- <source>Netbook/NetPC</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
- <source>Handheld game console</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
- <source>Tablet computer</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
- <source>Multimedia hard drive and gateway</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
- <source>Player</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
- <source>ADSL Box</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
- <source>Game console</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
- <source>SWF Flash Player</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
- <source>Video-sharing and social WebSite</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
- <source>HTML 5</source>
- <comment>Device database type</comment>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>cJobQueue</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="400"/>
- <source>Applying source transformation : Sorry no yet developped !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="416"/>
- <source>Failed to remove existing destination file (%1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="418"/>
- <source>Successfully remove existing destination file (%1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="430"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="624"/>
- <source>Jobtype error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="451"/>
- <source>Start image conversion of %1 to %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="454"/>
- <source>Open file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="457"/>
- <source>Successfully open file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="460"/>
- <source>Rescal image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="482"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="510"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="551"/>
- <source>Failed to rotate image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="483"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="511"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="552"/>
- <source>Succesfully rotate image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="536"/>
- <source>Failed to rescal image %1 to %2x%3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="537"/>
- <source>Succesfully rescal image %1 to %2x%3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="557"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="642"/>
- <source>Apply destination overwriting strategy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="561"/>
- <source>Save image file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="572"/>
- <source>Add minimal exif value to image file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="599"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="695"/>
- <source>Apply source file strategy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="612"/>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="706"/>
- <source>Job finished</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="639"/>
- <source>Start audio conversion of %1 to %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="644"/>
- <source>Error : for sound conversion, source and destination must be different !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="653"/>
- <source>Process ffmpeg job</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="688"/>
- <source>Error : ffmpeg job can't start : %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="689"/>
- <source>Error : ffmpeg return error %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="691"/>
- <source>Succesfully process ffmpeg job</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="456"/>
- <source>Failed to open file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="563"/>
- <source>Failed to write destination file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="565"/>
- <source>Successfully writing destination file %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/cJobQueue.cpp" line="411"/>
- <source>Destination file (%1) already exist</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertAudio</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="39"/>
- <source>Convert audio</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="46"/>
- <source>Format :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="68"/>
- <source>Select the audio codec to use for the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="75"/>
- <source>Bit rate :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="97"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="158"/>
- <source>Select the bit rate to use for audio during the rendering.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="104"/>
- <source>Force to mono</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="111"/>
- <source>Force to stereo</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui" line="139"/>
- <source>Change frequency to :</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertImage</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="48"/>
- <source>Convert image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="79"/>
- <source>Quality :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="93"/>
- <source>QVGA (240 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="98"/>
- <source>HVGA (320 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="103"/>
- <source>VGA/WVGA (480 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="108"/>
- <source>SD/DVD (576 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="113"/>
- <source>720p (720 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="118"/>
- <source>XGA (768 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="123"/>
- <source>1080p (1080 rows)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="156"/>
- <source>Resize :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="169"/>
- <source>But not upscale image</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui" line="250"/>
- <source>Format :</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>wgt_JobConvertVideo</name>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="33"/>
- <source>Convert video</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="40"/>
- <source>Device type :</source>
- <translation type="unfinished">Тип девайса:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="50"/>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="91"/>
- <source>Select the type of equipment.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="57"/>
- <source>Device model :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="67"/>
- <source>Select the model of equipment</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="74"/>
- <source>Include sound in the video</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui" line="81"/>
- <source>Device :</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-</TS>
diff --git a/locale/ffDiaporama_cz.qm b/locale/ffDiaporama_cz.qm
index 5eef86e..f49c312 100755
Binary files a/locale/ffDiaporama_cz.qm and b/locale/ffDiaporama_cz.qm differ
diff --git a/locale/ffDiaporama_cz.ts b/locale/ffDiaporama_cz.ts
index 5328487..598fadf 100755
--- a/locale/ffDiaporama_cz.ts
+++ b/locale/ffDiaporama_cz.ts
@@ -30,11 +30,6 @@ překlad Miloš Janda (bagicz)</translation>
<translation>Zdroje</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgAbout.ui" line="258"/>
- <source>This application was developped using Open Source version of Qt 4.7 SDK</source>
- <translation>Tato aplikace byla vytvořena pomocí open-source verze Qt 4.7 SDK</translation>
- </message>
- <message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="268"/>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="318"/>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="349"/>
@@ -46,9 +41,14 @@ překlad Miloš Janda (bagicz)</translation>
<translation>Odkaz & licence.:</translation>
</message>
<message>
+ <location filename="../src/ffDiaporama/DlgAbout.ui" line="258"/>
+ <source>This application was developed using Open Source version of Qt 4.8 SDK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="305"/>
- <source>Video decoding and encoding engines are based on ffmpeg</source>
- <translation>Video dekodování a enkódování je založeno na ffmpeg</translation>
+ <source>Video decoding and encoding engines are based on libav</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="336"/>
@@ -87,8 +87,8 @@ překlad Miloš Janda (bagicz)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="665"/>
- <source>System informations</source>
- <translation>Informace o systému</translation>
+ <source>System information</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="772"/>
@@ -99,462 +99,462 @@ překlad Miloš Janda (bagicz)</translation>
<context>
<name>DlgApplicationSettings</name>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="32"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="32"/>
<source>Application settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="54"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="54"/>
<source>Application Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="90"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="90"/>
<source>If this box is checked, the sizes and the positions of all the windows and dialogue box of ffDiaporama will be saved to be reused the next time which you will use ffDiaporama.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="93"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="93"/>
<source>Remember Windows size and positions</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="100"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="100"/>
<source>If this box is checked, the directories that you use for the images, the videos, the projects, the musics and the generations of movie will be saved to be reused the next time which you will use ffDiaporama.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="103"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="103"/>
<source>Remember last used folders</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="117"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="117"/>
<source>Application options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="143"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="143"/>
<source>Preview options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="153"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="153"/>
<source>Frame rate :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="171"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="171"/>
<source>Defined the number of images by seconds which will be generated to show the preview.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="209"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="209"/>
<source>fps (Reduce this value for slow computer)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="218"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="218"/>
<source>Image transformation :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="228"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="228"/>
<source>If this box is checked, The effects of transformations will be applied to the images of videos during the preview.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="231"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="231"/>
<source>Apply to video during preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="257"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="257"/>
<source>Editor options (when adding objects)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="267"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="267"/>
<source>Object position :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="280"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="280"/>
<source>Define the position which occupy the new objects in the timeline during the insertions</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="284"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="284"/>
<source>Insert after current object</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="289"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="289"/>
<source>Append at project end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="297"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="297"/>
<source>Multiple file insertion :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="307"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="307"/>
<source>Adjust the way will be sorted out files when you select several files in Add file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="310"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="310"/>
<source>Sort file by last number</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="330"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="330"/>
<source>If this box is checked, a confirmation will display every time you remove an object</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="333"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="333"/>
<source>Ask user confirmation to remove slide, object or shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="340"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="340"/>
<source>Object deletion :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="350"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="350"/>
<source>Coordinates unit :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="360"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="360"/>
<source>Select the unit of the coordinates which will be used in properties dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="364"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="364"/>
<source>Percent</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="369"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="369"/>
<source>Pixel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="377"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="377"/>
<source>Enable "raster" Graphics System (Need application restart)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="503"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="503"/>
<source>Automatically crop 1920x1088 video to 1920x1080</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="418"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="418"/>
<source>SDL Audio use old mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="438"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="438"/>
<source>256 Mb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="443"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="443"/>
<source>512 Mb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="448"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="448"/>
<source>1 Gb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="453"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="453"/>
<source>2 Gb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="427"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="427"/>
<source>Memory profil :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="384"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="384"/>
<source>Image smoothing :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="394"/>
<source>Smooth image during preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="401"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="401"/>
<source>Use quick resampler during preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="408"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="408"/>
<source>Audio resampling :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="476"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="476"/>
<source>Transformed image :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="486"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="486"/>
<source>Create cache file (with _ffd suffix) for transformed images</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="493"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="493"/>
<source>Video :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="515"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="515"/>
<source>Project Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="564"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="564"/>
<source>Project properties (default values)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="574"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="574"/>
<source>Project geometry:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="592"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="592"/>
<source>Select the geometry of image to be used for the creation of the projects.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="599"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="599"/>
<source>Old TV (4:3)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="604"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="604"/>
<source>TV Wide (16:9)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="609"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="609"/>
<source>Cinema (2.35:1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="617"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="617"/>
<source>(Only for new project)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="639"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="639"/>
<source>1st shot duration:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="657"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="657"/>
<source>Defined the default duration of the first shot of slides during their creation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="670"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="723"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="953"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="670"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="723"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="953"/>
<source>sec</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="692"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="692"/>
<source>Next shot duration:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="710"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="710"/>
<source>Defined the default duration of next shots.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="745"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="745"/>
<source>Speed wave:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="763"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="763"/>
<source>Defined the curve of speed to be used for the transitions and the animations.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="770"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="770"/>
<source>Linear</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="775"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="775"/>
<source>Quarter sine</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="798"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="798"/>
<source>Default transition:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="822"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="822"/>
<source>Defined the transition to be inserted between slides during the insertions:
Chosen randomly a transition in the library</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="833"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="857"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="881"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="833"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="857"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="881"/>
<source>TransitionButtons</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="846"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="846"/>
<source>Defined the transition to be inserted between slides during the insertions:
No transition</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="870"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="870"/>
<source>Defined the transition to be inserted between slides during the insertions:
Crossfade transition</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="906"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="906"/>
<source>Define the transition duration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="994"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="994"/>
<source>Default options for new text block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1010"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1010"/>
<source>Text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1026"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1026"/>
<source>Background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1061"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1061"/>
<source>Default options for new image or video block (when adding block in slide dialog)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1079"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1223"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1441"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1502"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1563"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1624"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1685"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1814"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1875"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1936"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2233"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2294"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2355"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2416"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2477"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2538"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2599"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2660"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2721"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1079"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1223"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1441"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1502"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1563"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1624"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1685"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1814"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1875"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1936"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2233"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2294"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2355"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2416"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2477"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2538"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2599"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2660"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2721"/>
<source>For 4:3 project:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1096"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1230"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1448"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1509"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1570"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1631"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1692"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1821"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1882"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1943"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2240"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2301"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2362"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2423"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2484"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2545"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2606"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2667"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2728"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1096"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1230"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1448"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1509"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1570"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1631"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1692"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1821"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1882"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1943"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2240"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2301"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2362"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2423"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2484"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2545"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2606"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2667"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2728"/>
<source>For 16:9 project:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1103"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1237"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1455"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1516"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1577"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1638"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1699"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1828"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1889"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1950"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2247"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2308"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2369"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2430"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2491"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2552"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2613"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2674"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2735"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1103"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1237"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1455"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1516"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1577"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1638"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1699"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1828"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1889"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1950"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2247"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2308"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2369"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2430"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2491"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2552"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2613"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2674"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2735"/>
<source>For cinema project:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1138"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1138"/>
<source>Coordinates</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1167"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1167"/>
<source>Default options for new image or video block (when creating slide)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1183"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2810"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1183"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2810"/>
<source>Text style</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1202"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1282"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2829"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1202"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1282"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2829"/>
<source>Shape</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1301"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2025"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1301"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2025"/>
<source>Coordinates
for 3:2
image in
@@ -563,8 +563,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1324"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2048"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1324"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2048"/>
<source>Coordinates
for 3:2
image in
@@ -573,8 +573,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1347"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2071"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1347"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2071"/>
<source>Coordinates
for 4:3
image in
@@ -583,8 +583,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1370"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2094"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1370"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2094"/>
<source>Coordinates
for 4:3
image in
@@ -593,8 +593,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1393"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2117"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1393"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2117"/>
<source>Coordinates
for 16:9
image in
@@ -603,8 +603,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1416"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2140"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1416"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2140"/>
<source>Coordinates
for 16:9
image in
@@ -613,8 +613,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1744"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2163"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1744"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2163"/>
<source>Coordinates
for cinema
image in
@@ -623,8 +623,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1767"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2186"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1767"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2186"/>
<source>Coordinates
for cinema
image in
@@ -633,8 +633,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1790"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2209"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1790"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2209"/>
<source>Coordinates
for
nonstandard
@@ -642,288 +642,288 @@ image</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2842"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2842"/>
<source>Title :</source>
<translation type="unfinished">Titul :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2865"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2865"/>
<source>Project options (default values)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2875"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2875"/>
<source>Author :</source>
<translation type="unfinished">Autor :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2893"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2893"/>
<source>No automatic filling</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2898"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2898"/>
<source>Fill with project name when project save (if not yet defined)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2903"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2903"/>
<source>Fill with project folder name when project save (if not yet defined)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2911"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2911"/>
<source>Default language :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2944"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2944"/>
<source>und</source>
<translation type="unfinished">a</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2954"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2954"/>
<source>(ISO 639 language code)</source>
<translation type="unfinished">(ISO 639 jazyková sada)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2968"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2968"/>
<source>Rendering Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3036"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3036"/>
<source>Default advanced rendering options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3043"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3043"/>
<source>Video codec :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3056"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3056"/>
<source>File format :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3075"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3146"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3075"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3146"/>
<source>Bit rate :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3100"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3100"/>
<source>Select the default bit rate to use for video during the rendering among the proposed list. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3113"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3113"/>
<source>Select the default video codec to use for the rendering among the proposed list. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3120"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3120"/>
<source>Select the default audio codec to use for the rendering among the proposed list. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3127"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3127"/>
<source>Audio codec :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3171"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3171"/>
<source>Select the default bit rate to use for audio during the rendering among the proposed list. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3178"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3178"/>
<source>Smartphone :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3188"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3188"/>
<source>Multimedia system :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3198"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3198"/>
<source>For the WEB :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3208"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3208"/>
<source>Select the type of equipment which will be proposed by default when you will click the "Player and Smartphone" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3215"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3215"/>
<source>Select the type of equipment which will be proposed by default when you will click the "For the WEB" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3222"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3222"/>
<source>Select the type of equipment which will be proposed by default when you will click the "Multimedia system" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3229"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3229"/>
<source>Select the model of equipment which will be proposed by default when you will click the "Player and Smartphone" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3236"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3236"/>
<source>Select the model of equipment which will be proposed by default when you will click the "Multimedia system" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3243"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3243"/>
<source>Select the model of equipment which will be proposed by default when you will click the "For the WEB" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3256"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3256"/>
<source>Select the default file type to use for the rendering among the proposed list.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3263"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3263"/>
<source>Video standard :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3284"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3284"/>
<source>Select the default video standard to use, PAL or NTSC.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3288"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3288"/>
<source>PAL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3293"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3293"/>
<source>NTSC</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3322"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3322"/>
<source>Format :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3341"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3423"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3341"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3423"/>
<source>Select the default image format to use for the rendering among the proposed list. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3351"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3351"/>
<source>Default video name :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3368"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3368"/>
<source>Default device mode rendering options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3381"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3381"/>
<source>Use project name as video name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3376"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3376"/>
<source>Use project folder's name as video name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3386"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3386"/>
<source>Use title project as video name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3407"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3407"/>
<source>Lossless :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3453"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3453"/>
<source>Check Configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3464"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3464"/>
<source>Manage Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3488"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3488"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished">Potvrdit změny a opustit nastavení</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3491"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3491"/>
<source>&Ok</source>
<translation type="unfinished">&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3502"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3502"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished">Zrušit změny a opustit nastavení</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3505"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3505"/>
<source>&Cancel</source>
<translation type="unfinished">&Storno</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3516"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3516"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished">Otevřít stránku nápovědy popisující tento formulář</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3519"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3519"/>
<source>&Help</source>
<translation type="unfinished">&Nápověda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3526"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3526"/>
<source>F1</source>
<translation type="unfinished">F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="173"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="180"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="176"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="183"/>
<source>Lock to image geometry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="174"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="181"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="177"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="184"/>
<source>Lock to project geometry-to full image</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="175"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="182"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="178"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="185"/>
<source>Lock to project geometry-to width</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="176"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="183"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="179"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="186"/>
<source>Lock to project geometry-to height</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="361"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="364"/>
<source>Language selection</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="362"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="365"/>
<source>Language must be empty or an ISO 639 language code (3 characters)
See help for more details!</source>
<translation type="unfinished"></translation>
@@ -932,77 +932,92 @@ See help for more details!</source>
<context>
<name>DlgBackgroundProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="26"/>
<source>Background properties</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="44"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="44"/>
<source>Same background as precedent object</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="57"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="57"/>
<source>Select a new background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="224"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="224"/>
<source>Full filling (deform image)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="261"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="261"/>
<source>Keep aspect ratio</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="655"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="655"/>
<source>&Ok</source>
<translation type="unfinished">&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="666"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="691"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="694"/>
+ <source>Undo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="701"/>
+ <source>Ctrl+Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="708"/>
<source>&Cancel</source>
<translation type="unfinished">&Storno</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="677"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="719"/>
<source>&Help</source>
<translation type="unfinished">&Nápověda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="684"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="726"/>
<source>F1</source>
<translation type="unfinished">F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="47"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="73"/>
<source>Solid brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="49"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="75"/>
<source>Gradient 2 colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="51"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="77"/>
<source>Gradient 3 colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="53"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="79"/>
<source>Image from library</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="55"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="81"/>
<source>Image from disk</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="305"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="310"/>
<source>Select a file</source>
<translation type="unfinished"></translation>
</message>
@@ -1045,124 +1060,124 @@ See help for more details!</source>
<translation type="unfinished">F1</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="63"/>
- <source>ffmpeg not found - critical - application will stop !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="165"/>
- <source>ffmpeg Audio Codecs</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="179"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="177"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="181"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="186"/>
<source>available</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="60"/>
- <source>Unable to determine ffmpeg version</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="67"/>
+ <source>Unable to determine %1 version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="70"/>
+ <source>%1 not found - critical - application will stop !</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="103"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="110"/>
<source>LibExiv2 version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="105"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="112"/>
<source>LibExiv2/Exiv2 binary version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="177"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="181"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="187"/>
<source>not available</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<source>LibExiv2 support for preview image</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="119"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
<source>TAGLib version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<source>TAGLib support for FLAC</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
<source>TAGLib support for ASF/WMA</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<source>TAGLib support for M4A/MP4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="149"/>
- <source>ffmpeg version:</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="156"/>
+ <source>encoder version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="150"/>
- <source>LIBAVCODEC version:</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
+ <source>LIBAV support for TAG and CHAPTERS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="151"/>
- <source>LIBAVFORMAT version:</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="172"/>
+ <source>libav Audio Codecs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="152"/>
- <source>LIBSWSCALE version:</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="176"/>
+ <source>libav Video Codecs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <source>ffmpeg support for TAG and CHAPTERS</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <source>libav Container Formats</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="169"/>
- <source>ffmpeg Video Codecs</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="157"/>
+ <source>LIBAVCODEC version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
- <source>ffmpeg Container Formats</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="158"/>
+ <source>LIBAVFORMAT version:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <source>LIBSWSCALE version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="178"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="185"/>
<source>Lossless</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="179"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="186"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="187"/>
<source>Lossless rendering</source>
<translation type="unfinished"></translation>
</message>
@@ -1170,298 +1185,328 @@ See help for more details!</source>
<context>
<name>DlgImageCorrection</name>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="26"/>
<source>Image framing and correction</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="107"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="110"/>
<source>Properties for this shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="158"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="161"/>
<source>Define the horizontal position from the left (X).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="223"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="226"/>
<source>Define the vertical position from the top of the image ( Y ).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="244"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="247"/>
<source>Define the width</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="314"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="317"/>
<source>Define the height</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="398"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="431"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="401"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="434"/>
<source>Adjust luminosity</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="447"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="561"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="668"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="775"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="882"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="989"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1169"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="450"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="564"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="671"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="778"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="885"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="992"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1172"/>
<source>Reset to zero</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="512"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="545"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="515"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="548"/>
<source>Adjust contrast</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="613"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="649"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="616"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="652"/>
<source>Adjust gamma</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="726"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="759"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="729"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="762"/>
<source>Adjust red chanel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="833"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="866"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="836"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="869"/>
<source>Adjust green chanel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="940"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="973"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="943"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="976"/>
<source>Adjust blue chanel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1028"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1031"/>
<source>Apply a filter to the photo or the images of the video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1107"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1238"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1283"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1110"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1241"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1286"/>
<source>Define a blur/sharpen filter to the photo</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1305"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1308"/>
<source>Reset to 5</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1345"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1348"/>
<source>Properties for all shots</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1398"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1401"/>
<source>Name of image/video file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1420"/>
- <source>Select an other file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1473"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1476"/>
<source>Framing :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1504"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1507"/>
<source>Image correction :</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1601"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1604"/>
<source>Turn the image to the left (on the multiple fellow man of 90°).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1638"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1641"/>
<source>Define the rotation angle for z axis.</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1669"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1672"/>
<source>Turn the image to the right (on the multiple fellow man of 90°).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1735"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1738"/>
<source>Define automatically the framing to the width of the image.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1755"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1758"/>
<source>Define automatically the framing to the height of the image.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1787"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1790"/>
<source>Define automatically the framing to the diagonal of the image.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1834"/>
- <source>Show/Hide rullers</source>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1843"/>
+ <source>Enable or disable rulers corresponding to the margins of television sets.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1846"/>
+ <source>Rullers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1912"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1915"/>
+ <source>Undo</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1867"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1922"/>
+ <source>Ctrl+Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1870"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished">Potvrdit změny a opustit nastavení</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1870"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1423"/>
+ <source>Select another file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1873"/>
<source>&Ok</source>
<translation type="unfinished">&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1881"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1929"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished">Zrušit změny a opustit nastavení</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1884"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1932"/>
<source>&Cancel</source>
<translation type="unfinished">&Storno</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1895"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1943"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished">Otevřít stránku nápovědy popisující tento formulář</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1898"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1946"/>
<source>&Help</source>
<translation type="unfinished">&Nápověda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1905"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1953"/>
<source>F1</source>
<translation type="unfinished">F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="65"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="521"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="524"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="101"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="747"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="750"/>
<source>Unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="66"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="525"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="102"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="751"/>
<source>Lock to this geometry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="67"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="526"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="103"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="752"/>
<source>Lock to project geometry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="68"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="104"/>
<source>Lock to image geometry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="379"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="343"/>
<source>Creating cached filtered file ...</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="515"/>
+ <source>No style for nonstandard geometry image</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="564"/>
+ <source>Select a file</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DlgInfoFile</name>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="25"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="26"/>
<source>File information</source>
<translation>Informace o souboru</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="93"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="94"/>
<source>File name :</source>
<translation>Název souboru :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="100"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="101"/>
<source>File type :</source>
<translation>Typ souboru :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="133"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="134"/>
<source>File size :</source>
<translation>Velikost souboru :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="153"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="154"/>
<source>File created :</source>
<translation>Vytvořeno :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="167"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="168"/>
<source>File modify :</source>
<translation>Změněno :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="219"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="220"/>
<source>Video track information</source>
<translation>Informace o video stopách</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="323"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="324"/>
<source>Chapter information</source>
<translation>Informace o kapitolách</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="288"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="289"/>
<source>Audio track information</source>
<translation>Informace o audio stopách</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="379"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="380"/>
<source>Additional information</source>
<translation>Další informace</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="418"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="419"/>
<source>Accept modification and exit dialog box</source>
<translation>Potvrdit změny a opustit nastavení</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="421"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="422"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="432"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="433"/>
<source>Open help page describing this dialog box</source>
<translation>Otevřít stránku nápovědy popisující tento formulář</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="435"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="436"/>
<source>&Help</source>
<translation>&Nápověda</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="442"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="443"/>
<source>F1</source>
<translation>F1</translation>
</message>
@@ -1762,30 +1807,30 @@ Please select another name!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="544"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="546"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="566"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="774"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="785"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="787"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="380"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="401"/>
<source>Custom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="563"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="771"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="377"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="398"/>
<source>Adjust to image width</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="564"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="772"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="378"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="399"/>
<source>Adjust to image height</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="565"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="773"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="379"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="400"/>
<source>Adjust to full image</source>
@@ -2009,173 +2054,173 @@ Do you want to overwrite-it ?</source>
<context>
<name>DlgMusicProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="26"/>
<source>Music properties</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="38"/>
- <source>Allows to continue to play the play list define by a previous slide</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="41"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="41"/>
<source>Continue current playlist (defined in a previous slide)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="44"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="201"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="44"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="201"/>
<source>buttonGroup</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="68"/>
- <source>Allows to indicate that from now on, the sound volume is reduced.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="71"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="71"/>
<source>Change volume level to :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="74"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="173"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="186"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="74"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="173"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="186"/>
<source>buttonGroup_2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="99"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="99"/>
<source>Define the sound volume for this slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="167"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="167"/>
<source>Set music to pause during this slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="170"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="170"/>
<source>Set to pause</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="180"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="180"/>
<source>No specific settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="183"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="183"/>
<source>Normal</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="195"/>
- <source>Allows to start a new playlist.</source>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="38"/>
+ <source>Allows one to continue to play the play list define by a previous slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="198"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="68"/>
+ <source>Allows one to indicate that from now on, the sound volume is reduced.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="195"/>
+ <source>Allows one to start a new playlist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="198"/>
<source>Start a new playlist from this slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="216"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="216"/>
<source>Add a file to the playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="230"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="230"/>
<source>Remove the current selected file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="244"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="244"/>
<source>Change the order in which will be played the music files:
Move the current selected file of a notch upward.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="259"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="259"/>
<source>Change the order in which will be played the music files:
Move the current selected file of a notch downward.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="274"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="274"/>
<source>Total playlist duration : </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="324"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="324"/>
<source>File</source>
<translation type="unfinished">Soubor</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="334"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="334"/>
<source>Duration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="344"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="344"/>
<source>Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="354"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="354"/>
<source>Source folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="392"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="392"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished">Potvrdit změny a opustit nastavení</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="395"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="395"/>
<source>&Ok</source>
<translation type="unfinished">&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="406"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="406"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished">Zrušit změny a opustit nastavení</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="409"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="409"/>
<source>&Cancel</source>
<translation type="unfinished">&Storno</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="420"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="420"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished">Otevřít stránku nápovědy popisující tento formulář</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="423"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="423"/>
<source>&Help</source>
<translation type="unfinished">&Nápověda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="430"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="430"/>
<source>F1</source>
<translation type="unfinished">F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="235"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="217"/>
<source>Add music files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="268"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="250"/>
<source>Error</source>
<comment>Error message</comment>
<translation type="unfinished">Chyba</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="269"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="251"/>
<source>Format not supported</source>
<comment>Error message</comment>
<translation type="unfinished">Nepodporovaný formát</translation>
@@ -2473,872 +2518,1281 @@ Move the current selected file of a notch downward.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="324"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="325"/>
<source>Select destination file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="584"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="658"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="585"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="863"/>
<source>Stop rendering</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="665"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="875"/>
<source>Range selection</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="666"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="876"/>
<source>Slide range is defined to incorrect values</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="674"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="884"/>
<source>Language selection</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="675"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="885"/>
<source>Language must be empty or an ISO 639 language code (3 characters)
See help for more details!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="682"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="892"/>
<source>Overwrite file ?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="683"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="893"/>
<source>The file you selected already exist.
Do you want to overwrite it ?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="701"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="713"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="910"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="941"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1186"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1241"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1250"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1261"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1276"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1291"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1316"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1336"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1345"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1357"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1506"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1510"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1073"/>
+ <source>Start avconv encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1110"/>
+ <source>Error starting avconv</source>
+ <comment>Error message</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1193"/>
+ <source>avconv error</source>
+ <comment>Error message</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1230"/>
+ <source>Error during avconv process</source>
+ <comment>Error message</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1234"/>
+ <source>Error exiting avconv</source>
+ <comment>Error message</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="668"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="753"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="907"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="919"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1246"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1301"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1310"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1327"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1342"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1363"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1379"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1388"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1395"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1488"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1540"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1544"/>
<source>Render video</source>
<translation type="unfinished">Exportovat video</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="739"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="946"/>
<source>Device model selection</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="740"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="947"/>
<source>A device model is require!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="823"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1031"/>
<source>Encoding sound</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1010"/>
- <source>Start ffmpeg encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1061"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1126"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1133"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1170"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1174"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1109"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1184"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1193"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1230"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1234"/>
<source>Error</source>
<comment>Error message</comment>
<translation type="unfinished">Chyba</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1062"/>
- <source>Error starting ffmpeg</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1144"/>
+ <source> - Estimated time left : </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1184"/>
+ <source>Error sending image to ffmpeg</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1096"/>
- <source> - Estimated time left : </source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1215"/>
+ <source>Closing encoder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1126"/>
- <source>Error sending image to ffmpeg</source>
- <comment>Error message</comment>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1246"/>
+ <source>Job completed successfully!</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>DlgRulerDef</name>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1133"/>
- <source>ffmpeg error</source>
- <comment>Error message</comment>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="20"/>
+ <source>Ruler properties</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1155"/>
- <source>Closing encoder</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="76"/>
+ <source>Horizontal rulers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1170"/>
- <source>Error during ffmpeg process</source>
- <comment>Error message</comment>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="97"/>
+ <source>Vertical rulers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1174"/>
- <source>Error exiting ffmpeg</source>
- <comment>Error message</comment>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="110"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="123"/>
+ <source>screen borders</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="136"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="149"/>
+ <source>TV margins</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="162"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="175"/>
+ <source>Screen center</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1186"/>
- <source>Job completed succesfully!</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="195"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="202"/>
+ <source>Unselected objects</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="241"/>
+ <source>Accept modification and exit dialog box</source>
+ <translation type="unfinished">Potvrdit změny a opustit nastavení</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="244"/>
+ <source>&Ok</source>
+ <translation type="unfinished">&Ok</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="255"/>
+ <source>Cancel modification and exit dialog box</source>
+ <translation type="unfinished">Zrušit změny a opustit nastavení</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="258"/>
+ <source>&Cancel</source>
+ <translation type="unfinished">&Storno</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="269"/>
+ <source>Open help page describing this dialog box</source>
+ <translation type="unfinished">Otevřít stránku nápovědy popisující tento formulář</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="272"/>
+ <source>&Help</source>
+ <translation type="unfinished">&Nápověda</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="279"/>
+ <source>F1</source>
+ <translation type="unfinished">F1</translation>
+ </message>
</context>
<context>
<name>DlgSlideProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="29"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="29"/>
<source>Slide properties</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="139"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="116"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3544"/>
<source>Append a shot to end of the timeline</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="142"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3529"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3541"/>
<source>Add shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="180"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="164"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3556"/>
<source>Remove current selected shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="183"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3415"/>
<source>Remove</source>
<translation type="unfinished">Vymazat</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="221"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3568"/>
<source>Change the order of the shot by moving the current selected shot, of a notch towards the left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="224"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3565"/>
<source>Move left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="256"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3580"/>
<source>Change the order of the shot by moving the current selected shot, of a notch towards the right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="259"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3577"/>
<source>Move right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="687"/>
<source>Indicate the duration for the current selected shot.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="417"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="710"/>
<source>HH:mm:ss.zzz</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="444"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="660"/>
<source>Shot duration :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="466"/>
- <source>Total slide duration :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="501"/>
+ <source>Indicate a name for the slide. It is this name which will appear on the thumbnail in the main window timeline.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="504"/>
- <source>Slide name :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="230"/>
+ <source>Ctrl+Ins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="532"/>
- <source>Indicate a name for the slide. It is this name which will appear on the thumbnail in the main window timeline.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="258"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3532"/>
+ <source>Add a new block of type image or video.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="539"/>
- <source>Start a new chapter from here</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="275"/>
+ <source>Ins</source>
+ <translation type="unfinished">Insert</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3421"/>
+ <source>Del</source>
+ <translation type="unfinished">Delete</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3388"/>
+ <source>Copy the current block to the ffDiaporama clipboard.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="546"/>
- <source>Chapter :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3235"/>
+ <source>Undo last action (CTRL+Z)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="744"/>
- <source>Add a new title block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3245"/>
+ <source>Ctrl+Z</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="754"/>
- <source>Ctrl+Ins</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="119"/>
+ <source>Add
+shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="782"/>
- <source>Add a new block of type image or video.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="167"/>
+ <source>Remove
+shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="792"/>
- <source>Ins</source>
- <translation type="unfinished">Insert</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="213"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3520"/>
+ <source>Add a new text block</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="941"/>
- <source>Remove the current block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="310"/>
+ <source>Edit block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="951"/>
- <source>Del</source>
- <translation type="unfinished">Delete</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3325"/>
+ <source>Move to background</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="827"/>
- <source>Copy the current block to the ffDiaporama clipboard.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3328"/>
+ <source>Change the order of blocks by moving the active block towards the background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="837"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3340"/>
+ <source>Change the order of blocks by moving the active block towards the foreground</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3349"/>
+ <source>Visible</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3385"/>
+ <source>Copy block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3391"/>
<source>Ctrl+C</source>
<translation type="unfinished">Crtl+C</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="865"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3400"/>
+ <source>Cut block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3403"/>
<source>Copy the current block to the ffDiaporama clipboard and remove it from the slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="875"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3406"/>
<source>Ctrl+X</source>
<translation type="unfinished">Ctrl+X</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="903"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3430"/>
+ <source>Paste block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3433"/>
<source>Paste block from the ffDiaporama clipboard and insert it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="913"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3436"/>
<source>Ctrl+V</source>
<translation type="unfinished">Crtl+V</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="986"/>
- <source>Change the order of blocks by moving the active block upward (towards the background)</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3364"/>
+ <source>Give the sound, during this shot, to the current video block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1002"/>
- <source>PgUp</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="352"/>
+ <source>Arrange blocks</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1030"/>
- <source>Change the order of blocks by moving the active block downward (towards the foreground)</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3292"/>
+ <source>Define the properties of the text block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1046"/>
- <source>PgDown</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3304"/>
+ <source>Define framing and do correction of image or movie</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1074"/>
- <source>Make visible or hidden the active block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3313"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3316"/>
+ <source>Cut the video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1109"/>
- <source>Give the sound, during this shot, to the current video block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3376"/>
+ <source>Display detailled information on current block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1151"/>
- <source>Define the properties of the text block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1120"/>
+ <source>Define X position of current block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1161"/>
- <source>F5</source>
- <translation type="unfinished">F5</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3238"/>
+ <source>Undo</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1189"/>
- <source>Define framing and do correction of image or movie</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="216"/>
+ <source>Add
+text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1199"/>
- <source>F6</source>
- <translation type="unfinished">F6</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="261"/>
+ <source>Add
+file</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1227"/>
- <source>Cut the video</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="313"/>
+ <source>Edit
+block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1237"/>
- <source>F7</source>
- <translation type="unfinished">F7</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="355"/>
+ <source>Arrange
+block</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1339"/>
- <source>Coordinates :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="397"/>
+ <source>Block
+information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1526"/>
- <source>Define X position of current block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="473"/>
+ <source>Slide :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="511"/>
+ <source>Start chapter from here</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1599"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1193"/>
<source>Define Y position of current block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1682"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1276"/>
<source>Define width of current block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1755"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1349"/>
<source>Define height of current block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1833"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1872"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1427"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1466"/>
<source>Define rotation according to the Z axis (defined in degree).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1950"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1989"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1485"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1582"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1710"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2415"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2521"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2651"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2757"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2863"/>
+ <source>Reset to 0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1527"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1566"/>
<source>Define rotation according to the Y axis (defined in degree).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2064"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2103"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1655"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1694"/>
<source>Define rotation according to the X axis (defined in degree).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2135"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1740"/>
<source>Block shape :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2225"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1830"/>
<source>Shape :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2253"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1858"/>
<source>Select a shape for current block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2275"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1880"/>
<source>Opacity :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2303"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1908"/>
<source>Defined the opaqueness of the block.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2310"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1915"/>
<source>Border :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2345"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1950"/>
<source>Defined the thickness of the border</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2373"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1978"/>
<source>Defined the color of the line to be used to draw the border</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2404"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2009"/>
<source>Defined the type of line (solid, dotted line, etc.)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2457"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2062"/>
<source>Shadow :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2479"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2084"/>
<source>Defined in which corner the shadow will be positioned (or no shadow)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2517"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2122"/>
<source>Defined the distance between the block and its shadow</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2545"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2150"/>
<source>Defined the color of the shadow</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2645"/>
- <source>Propertie</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2199"/>
+ <source>Text animation :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2655"/>
- <source>Value</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2209"/>
+ <source>Zoom :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2696"/>
- <source>Enable or disable rulers corresponding to the margins of television sets.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2245"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2287"/>
+ <source>Define a zoom value for the text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2699"/>
- <source>TV margins</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2309"/>
+ <source>Reset to 100%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2726"/>
- <source>Accept modification and go to previous slide</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2351"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2393"/>
+ <source>Scroll text from left to right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2729"/>
- <source>Previous</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2457"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2499"/>
+ <source>Scroll text from bottom to up</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2740"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished">Potvrdit změny a opustit nastavení</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2551"/>
+ <source>Block animation :</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2743"/>
- <source>&Ok</source>
- <translation type="unfinished">&Ok</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2587"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2632"/>
+ <source>Define the number of turn to be made around the Z axis during this shot</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2754"/>
- <source>Accept modification and go to next slide</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2693"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2738"/>
+ <source>Define the number of turn to be made around the X axis during this shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2757"/>
- <source>Next</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2799"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2844"/>
+ <source>Define the number of turn to be made around the Y axis during this shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2793"/>
- <source>Cancel modification and exit dialog box</source>
- <translation type="unfinished">Zrušit změny a opustit nastavení</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3065"/>
+ <source>Type :</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2796"/>
- <source>&Cancel</source>
- <translation type="unfinished">&Storno</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3078"/>
+ <source>Dissolve :</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2807"/>
- <source>Open help page describing this dialog box</source>
- <translation type="unfinished">Otevřít stránku nápovědy popisující tento formulář</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3097"/>
+ <source>Block coordinates :</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2810"/>
- <source>&Help</source>
- <translation type="unfinished">&Nápověda</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="508"/>
+ <source>Start a new chapter from this slide</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2817"/>
- <source>F1</source>
- <translation type="unfinished">F1</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="531"/>
+ <source>Total duration :</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="561"/>
- <source>No style for nonstandard geometry image</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3144"/>
+ <source>Rullers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="626"/>
- <source>Select a file</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3289"/>
+ <source>Edit text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3301"/>
+ <source>Do image correct or reframming</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3337"/>
+ <source>Move to foreground</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3589"/>
+ <source>Lock properties</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3592"/>
+ <source>Lock properties to the same values as define for the previous shot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3601"/>
+ <source>Unlock properties from this shot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3604"/>
+ <source>Define properties from this shot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3613"/>
+ <source>Hide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3616"/>
+ <source>Make hide the active block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3352"/>
+ <source>Make visible the active block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3361"/>
+ <source>Take the sound</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3373"/>
+ <source>Display information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3418"/>
+ <source>Remove current block(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3445"/>
+ <source>Align top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3448"/>
+ <source>Align blocks to the top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3457"/>
+ <source>Align middle</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3460"/>
+ <source>Align blocks to the middle</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3469"/>
+ <source>Align bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3472"/>
+ <source>Align blocks to the bottom</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3481"/>
+ <source>Align left</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3484"/>
+ <source>Align blocks to the left</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3493"/>
+ <source>Align center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3496"/>
+ <source>Align blocks to the center</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3505"/>
+ <source>Align right</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3508"/>
+ <source>Align blocks to the right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="101"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3517"/>
+ <source>Add text block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1845"/>
+ <source>Remove block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3141"/>
+ <source>Enable or disable rulers corresponding to the margins of television sets.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3168"/>
+ <source>Accept modification and go to previous slide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3171"/>
+ <source>Previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3182"/>
+ <source>Accept modification and exit dialog box</source>
+ <translation type="unfinished">Potvrdit změny a opustit nastavení</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3185"/>
+ <source>&Ok</source>
+ <translation type="unfinished">&Ok</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3196"/>
+ <source>Accept modification and go to next slide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3199"/>
+ <source>Next</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3252"/>
+ <source>Cancel modification and exit dialog box</source>
+ <translation type="unfinished">Zrušit změny a opustit nastavení</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3255"/>
+ <source>&Cancel</source>
+ <translation type="unfinished">&Storno</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3266"/>
+ <source>Open help page describing this dialog box</source>
+ <translation type="unfinished">Otevřít stránku nápovědy popisující tento formulář</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3269"/>
+ <source>&Help</source>
+ <translation type="unfinished">&Nápověda</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3276"/>
+ <source>F1</source>
+ <translation type="unfinished">F1</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="156"/>
<source>Slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="146"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="193"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="234"/>
<source>None</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="147"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="194"/>
<source>Shadow upper left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="148"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="195"/>
<source>Shadow upper right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="149"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="196"/>
<source>Shadow bottom left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="150"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="197"/>
<source>Shadow bottom right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="626"/>
- <source>Lengthened to %1 sec</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="235"/>
+ <source>Multiple block turn</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1039"/>
- <source>Object type</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="236"/>
+ <source>Dissolve</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1040"/>
- <source>Title</source>
- <translation type="unfinished">Titul</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="239"/>
+ <source>Appear</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1041"/>
- <source>Image</source>
- <translation type="unfinished">Obrázek</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="240"/>
+ <source>Disappear</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1042"/>
- <source>Video</source>
- <translation type="unfinished">Video</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="241"/>
+ <source>Blink at slow speed</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1046"/>
- <source>Filename</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="242"/>
+ <source>Blink at medium speed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1056"/>
- <source>Image size</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="243"/>
+ <source>Blink at fast speed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1572"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="244"/>
+ <source>Blink at very fast speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1332"/>
+ <source>Lengthened to %1 sec</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1845"/>
+ <source>Are you sure to want to delete this block?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1848"/>
+ <source>Remove blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1848"/>
+ <source>Are you sure to want to delete these blocks?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3553"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1200"/>
<source>Remove shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1572"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1200"/>
<source>Are you sure to want to delete this shot?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1715"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1564"/>
<source>Text</source>
<comment>Default text value</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1740"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1623"/>
<source>Add files</source>
<translation type="unfinished">Přidat soubory</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1957"/>
- <source>Remove bloc</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1957"/>
- <source>Are you sure to want to delete this bloc?</source>
+ <location filename="../src/ffDiaporama/DlgSlide/cCustomBlockTable.cpp" line="136"/>
+ <source>Duration:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DlgTextEdit</name>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="26"/>
<source>Edit text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="158"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="109"/>
<source>Select font family</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="187"/>
- <source>Properties for all shots</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="230"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="512"/>
<source>Set text to Bold</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="262"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="544"/>
<source>Set text to Italic</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="291"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="573"/>
<source>Set text to Underline</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="339"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="134"/>
<source>Select font size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="364"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="159"/>
<source>Select font color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="412"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="289"/>
<source>Align left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="447"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="356"/>
<source>Align center</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="479"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="324"/>
<source>Align justify</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="511"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="45"/>
+ <source>Text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="200"/>
+ <source>Bullet list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="235"/>
+ <source>Numbered list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="388"/>
<source>Align right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="556"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="602"/>
+ <source>Set text to superscript</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="631"/>
+ <source>Set text to subscript</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="679"/>
+ <source>Increase indent</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="708"/>
+ <source>decrease indent</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="756"/>
<source>Align top</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="588"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="788"/>
<source>Align in the middle</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="620"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="820"/>
<source>Align bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="682"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="870"/>
+ <source>Background</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="916"/>
+ <source>Background properties :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="967"/>
<source>Define the background brush type for the shape</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="734"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1019"/>
<source>Define the color (or first color for a gradient brush)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="759"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1063"/>
<source>Define the second gradient brush color </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="784"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1107"/>
<source>Define the third gradient brush color </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="843"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1166"/>
<source>Select the pattern</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="904"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1227"/>
<source>Define orientation of the gradient brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="948"/>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="987"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1258"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1297"/>
<source>Define position of the second color in the gradient brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1077"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1400"/>
<source>Select an image among that present in the library</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1123"/>
- <source>Block background style :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1215"/>
- <source>Texte style :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1267"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="443"/>
<source>Select font effect (outerline, shadow)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1298"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="474"/>
<source>Select outerline/shadow color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1357"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1456"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished">Potvrdit změny a opustit nastavení</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1360"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1459"/>
<source>&Ok</source>
<translation type="unfinished">&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1371"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1495"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1498"/>
+ <source>Undo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1505"/>
+ <source>Ctrl+Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1512"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished">Zrušit změny a opustit nastavení</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1374"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1515"/>
<source>&Cancel</source>
<translation type="unfinished">&Storno</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1385"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1526"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished">Otevřít stránku nápovědy popisující tento formulář</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1388"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1529"/>
<source>&Help</source>
<translation type="unfinished">&Nápověda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1395"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1536"/>
<source>F1</source>
<translation type="unfinished">F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="74"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="118"/>
<source>No effect</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="75"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="119"/>
<source>Outerline</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="76"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="120"/>
<source>Shadow upper left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="77"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="121"/>
<source>Shadow upper right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="78"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="122"/>
<source>Shadow bottom left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="79"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="123"/>
<source>Shadow bottom right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="85"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="129"/>
<source>No brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="86"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="130"/>
<source>Solid brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="87"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="131"/>
<source>Pattern brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="88"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="132"/>
<source>Gradient 2 colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="89"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="133"/>
<source>Gradient 3 colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="90"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="134"/>
<source>Image from library</source>
<translation type="unfinished"></translation>
</message>
@@ -3469,108 +3923,123 @@ Do you want to overwrite it ?</source>
<context>
<name>DlgVideoEdit</name>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="26"/>
<source>Cut video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="52"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="52"/>
<source>Properties for all shots</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="110"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="110"/>
<source>Start :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="117"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="117"/>
<source>Move to start position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="131"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="131"/>
<source>Use current position as start position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="157"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="157"/>
<source>Define the start position to use for</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="179"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="179"/>
<source>End :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="201"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="201"/>
<source>Define the end position to use for</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="220"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="220"/>
<source>Use current position as end position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="234"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="234"/>
<source>Move to end position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="254"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="254"/>
<source>Duration :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="286"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="286"/>
<source>Volume :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="314"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="314"/>
<source>Define the " Master Volume " for the movie</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="355"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="355"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished">Potvrdit změny a opustit nastavení</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="358"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="358"/>
<source>&Ok</source>
<translation type="unfinished">&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="369"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="394"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="397"/>
+ <source>Undo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="404"/>
+ <source>Ctrl+Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="411"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished">Zrušit změny a opustit nastavení</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="372"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="414"/>
<source>&Cancel</source>
<translation type="unfinished">&Storno</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="383"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="425"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished">Otevřít stránku nápovědy popisující tento formulář</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="386"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="428"/>
<source>&Help</source>
<translation type="unfinished">&Nápověda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="393"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="435"/>
<source>F1</source>
<translation type="unfinished">F1</translation>
</message>
@@ -3578,87 +4047,87 @@ Do you want to overwrite it ?</source>
<context>
<name>DlgffDPjrProperties</name>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="19"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="20"/>
<source>Project properties</source>
<translation>Vlastnosti projektu</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="33"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="34"/>
<source>Title :</source>
<translation>Titul :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="50"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="51"/>
<source>Author :</source>
<translation>Autor :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="60"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="61"/>
<source>Album :</source>
<translation>Album :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="70"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="71"/>
<source>Year :</source>
<translation>Rok :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="120"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="121"/>
<source>Language :</source>
<translation>Jazyk :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="153"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="154"/>
<source>und</source>
<translation>a</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="163"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="164"/>
<source>(ISO 639 language code)</source>
<translation>(ISO 639 jazyková sada)</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="172"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="173"/>
<source>Comment :</source>
<translation>Komentář :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="182"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="183"/>
<source>Chapters :</source>
<translation>Kapitoly :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="222"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="223"/>
<source>Accept modification and exit dialog box</source>
<translation>Potvrdit změny a opustit nastavení</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="225"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="226"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="236"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="237"/>
<source>Cancel modification and exit dialog box</source>
<translation>Zrušit změny a opustit nastavení</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="239"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="240"/>
<source>&Cancel</source>
<translation>&Storno</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="250"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="251"/>
<source>Open help page describing this dialog box</source>
<translation>Otevřít stránku nápovědy popisující tento formulář</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="253"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="254"/>
<source>&Help</source>
<translation>&Nápověda</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="260"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="261"/>
<source>F1</source>
<translation>F1</translation>
</message>
@@ -3678,13 +4147,13 @@ Do you want to overwrite it ?</source>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="156"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1385"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1397"/>
<source>Create a new empty project (Ctrl+N)</source>
<translation>Vytvořit nový prázdný projekt (Ctrl+N)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="159"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1388"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1400"/>
<source>New
project</source>
<translation>Nový
@@ -3692,19 +4161,19 @@ projekt</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="173"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1402"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1414"/>
<source>Ctrl+N</source>
<translation>Ctrl+N</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="207"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1436"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1448"/>
<source>Open a previously saved project (Ctrl+O)</source>
<translation>Otevřít existující projekt (Ctrl+O)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="210"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1439"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1451"/>
<source>Open
project</source>
<translation>Otevřít
@@ -3712,19 +4181,19 @@ projekt</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="224"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1453"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1465"/>
<source>Ctrl+O</source>
<translation>Ctrl+O</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="258"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1487"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1499"/>
<source>Open a recently used project file</source>
<translation>Otevřít posledně použitý projekt</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="261"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1490"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1502"/>
<source>Open
recent</source>
<translation>Otevřít
@@ -3732,13 +4201,13 @@ poslední</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="306"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1535"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1547"/>
<source>Save current project (Ctrl+S)</source>
<translation>Uložit aktuální projekt (Ctrl+S)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="309"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1538"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1550"/>
<source>Save
project</source>
<translation>Uložit
@@ -3746,19 +4215,19 @@ projekt</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="323"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1552"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1564"/>
<source>Ctrl+S</source>
<translation>Ctrl+S</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="357"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1586"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1598"/>
<source>Save current project to a new project file</source>
<translation>Uložit aktuální projekt do nového projektu</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="360"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1589"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1601"/>
<source>Save
project as</source>
<translation>Uložit
@@ -3766,13 +4235,13 @@ projekt jako</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="400"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1629"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1641"/>
<source>Define project properties</source>
<translation>Nastavit vlastnosti projektu</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="403"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1632"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1644"/>
<source>Project
properties</source>
<translation>Vlastnosti
@@ -3780,31 +4249,31 @@ projektu</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="442"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1671"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1683"/>
<source>Change application and project settings</source>
<translation>Změnit nastavení programu a projektu</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="445"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1674"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1686"/>
<source>Settings</source>
<translation>Nastavení</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="483"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1712"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1724"/>
<source>Exit application (Ctrl+W)</source>
<translation>Ukončit aplikaci (Ctrl+W)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="486"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1715"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1727"/>
<source>Exit</source>
<translation>Konec</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="499"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1728"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1740"/>
<source>Ctrl+W</source>
<translation>Ctrl+W</translation>
</message>
@@ -3815,13 +4284,14 @@ projektu</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="559"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1786"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1798"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3212"/>
<source>Add an empty slide</source>
<translation>Vložit prázdný snímek</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="562"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1789"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1801"/>
<source>Add
title</source>
<translation>Vložit
@@ -3829,13 +4299,14 @@ snímek</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="607"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1834"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1846"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3224"/>
<source>Add image or video as slide (INS)</source>
<translation>Vložit obrázek nebo video (INS)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="610"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1837"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1849"/>
<source>Add
files</source>
<translation>Vložit
@@ -3843,19 +4314,21 @@ soubor</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="624"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1851"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1863"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3227"/>
<source>Ins</source>
<translation>Insert</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="652"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1879"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1891"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3239"/>
<source>Add a previously saved project at the end of this project</source>
<translation>Vložit existující projekt na konec aktuálního projektu</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="655"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1882"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1894"/>
<source>Add
project</source>
<translation>Vložit
@@ -3863,389 +4336,401 @@ projekt</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="701"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1928"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1940"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3167"/>
<source>Copy current slide to clipboard and remove it (Ctrl+X)</source>
<translation>Kopírovat aktuální snímek do schránky a vymazat (Ctrl+X)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="704"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1931"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1943"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3164"/>
<source>Cut</source>
<translation>Vyjmout</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="717"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1944"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1956"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3170"/>
<source>Ctrl+X</source>
<translation>Ctrl+X</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="745"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1972"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1984"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3182"/>
<source>Copy current slide to clipboard (Ctrl+C)</source>
<translation>Kopírovat aktuální snímek do schránky (Ctrl+C)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="748"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1975"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1987"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3179"/>
<source>Copy</source>
<translation>Kopírovat</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="761"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1988"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2000"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3185"/>
<source>Ctrl+C</source>
<translation>Crtl+C</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="789"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2016"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2028"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3197"/>
<source>Paste current slide from clipboard (Ctrl+V)</source>
<translation>Vložit aktuální snímek ze schránky (Ctrl+V)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="792"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2019"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2031"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3194"/>
<source>Paste</source>
<translation>Vložit</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="805"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2032"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2044"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3200"/>
<source>Ctrl+V</source>
<translation>Crtl+V</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="846"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2073"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2085"/>
<source>Edit</source>
<translation>Editovat</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="884"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2111"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2123"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3152"/>
<source>Remove current slide (DEL)</source>
<translation>Vymazat aktuální snímek (DEL)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="887"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2114"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2126"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3149"/>
<source>Remove</source>
<translation>Vymazat</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="900"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2127"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2139"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3155"/>
<source>Del</source>
<translation>Delete</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="918"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="924"/>
<source>Render video</source>
<translatorcomment>alternative is "Renderovat video"</translatorcomment>
<translation>Exportovat video</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="954"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2185"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="960"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2197"/>
<source>Player and
smartphone</source>
<translation>Přehrávač a
telefon</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="999"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2230"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1005"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2242"/>
<source>Multimedia
system</source>
<translation>Multimediální
systém</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1038"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2269"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1044"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2281"/>
<source>For the
WEB</source>
<translation>Pro
web</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1077"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2308"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1083"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2320"/>
<source>Lossless</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1121"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2352"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1127"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2364"/>
<source>Render project as a video</source>
<translation>Exportovat projekt jako video</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1124"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2355"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1130"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2367"/>
<source>Advanced</source>
<translation>Pokročilé</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1152"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1164"/>
<source>Help</source>
<translation>Nápověda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1188"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2406"/>
- <source>Display informations about ffDiaporama</source>
- <translation>Zobrazit informace o ffDiaporama</translation>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1200"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2418"/>
+ <source>Display information about ffDiaporama</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1191"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2409"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1203"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2421"/>
<source>About</source>
<translation>O programu</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1235"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2453"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1247"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2465"/>
<source>Call ffDiaporama WIKI</source>
<translation>Navštívit ffDiaporama WIKI</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1238"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2456"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1250"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2468"/>
<source>Support
and help</source>
<translation>Nápověda
a pomoc</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1252"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2470"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1264"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2482"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1286"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2504"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1298"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2516"/>
<source>Display blog/news page from internet WEB site</source>
<translation>Zobrazit blog/novinky na internetové stránce</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1289"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2507"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1301"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2519"/>
<source>What's new</source>
<translation>Co je nového</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2881"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2893"/>
<source>Slide : xx/xxx</source>
<translation>Snímek : xx/xxx</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2922"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2934"/>
<source>Switch display to preview mode</source>
<translation>Přepnout zobrazení do režimu náhledu</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2939"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2951"/>
<source>...</source>
<translation>...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2962"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2974"/>
<source>Switch display to sheet mode</source>
<translation>Přepnout zobrazení do režimu filmového pásu</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3002"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3014"/>
<source>Enlarge thumbnails</source>
<translation>Zvětšit náhledy</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3042"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3054"/>
<source>Reduce thumbnails</source>
<translation>Zmenšit náhledy</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3073"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3089"/>
<source>Edit background</source>
<translation>Editovat pozadí</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3076"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3092"/>
<source>Edit the background image for the slide</source>
<translation>Editovat pozadí snímku</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3079"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3095"/>
<source>F5</source>
<translation>F5</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3084"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3104"/>
<source>Edit slide</source>
<translation>Editovat snímek</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3087"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3107"/>
<source>Edit the slide</source>
<translation>Editovat snímek</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3090"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3110"/>
<source>F6</source>
<translation>F6</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3095"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3119"/>
<source>Edit music</source>
<translation>Editovat audio</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3098"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3122"/>
<source>Edit the slide musical playlist</source>
<translation>Editovat seznam audia</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3101"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3125"/>
<source>F7</source>
<translation>F7</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3106"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3134"/>
<source>Edit object transition</source>
<translation>Editovat nastavení přechodu</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3109"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3137"/>
<source>Edit entering transition for the slide</source>
<translation>Editovat vstupní přechod snímku</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3112"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3140"/>
<source>F8</source>
<translation>F8</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3117"/>
- <source>Edit background transition</source>
- <translation>Nastavit pozadí přechodu</translation>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3209"/>
+ <source>Add title</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3120"/>
- <source>Edit the entering background transition for the slide</source>
- <translation>Nastavit vstupní pozadí přechodu snímku</translation>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3236"/>
+ <source>Add project</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="641"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1773"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1389"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="580"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1665"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1439"/>
<source>Format not supported</source>
<comment>Error message</comment>
<translation>Nepodporovaný formát</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="649"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1815"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1409"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="588"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1707"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1459"/>
<source>This application support only audio track with unsigned 8 bits or signed 16 bits sample format</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="653"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1819"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1417"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="592"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1467"/>
<source>This application support only mono or stereo audio track</source>
<comment>Error message</comment>
<translation>Tato aplikace podporuje pouze mono nebo stereo audio stopy</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="659"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1943"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1399"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1445"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1458"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1508"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1514"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1521"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1530"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1398"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1410"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1418"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1497"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="598"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1832"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1602"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1648"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1653"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1661"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1717"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1724"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1733"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1448"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1460"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1468"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1547"/>
<source>Error</source>
<comment>Error message</comment>
<translation>Chyba</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="857"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1052"/>
<source>Title</source>
<comment>Default slide name when no file</comment>
<translation>Titul</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1399"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1400"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1602"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1603"/>
<source>Error creating data file</source>
<comment>Error message</comment>
<translation>Chyba při vytvoření souboru</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1421"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1624"/>
<source>Open project file</source>
<translation>Otevřít soubor projektu</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1422"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1625"/>
<source>Impossible to open file </source>
<translation>Soubor nelze otevřít</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1422"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1625"/>
<source>Do you want to select another file ?</source>
<translation>Chcete vybrat jiný soubor ?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1425"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1628"/>
<source>Select another file for </source>
<translation>Vyberte nový soubor pro </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1434"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1637"/>
<source>Impossible to open project file %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1444"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1508"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1509"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1647"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1712"/>
<source>Error reading project file</source>
<comment>Error message</comment>
<translation>Chyba při čtení souboru projektu</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1451"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1514"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1515"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1653"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1654"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1717"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1718"/>
<source>Error reading content of project file</source>
<comment>Error message</comment>
<translation>Chyba při načítání obsahu projektu</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1458"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1459"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1521"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1522"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1661"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1662"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1724"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1725"/>
<source>The file is not a valid project file</source>
<comment>Error message</comment>
<translation>Tento soubor není platným souborem projektu</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1530"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1531"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1733"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1734"/>
<source>Impossible to import this file :
Image geometry in this file is not the same than the current project</source>
<comment>Error message</comment>
@@ -4254,8 +4739,8 @@ Rozlišení v tomto souboru neodpovídá rozlišení aktuálního projektu</tran
</message>
<message>
<location filename="../src/ffDiaporama/cCustomTableWidget.cpp" line="80"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1348"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1628"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1398"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1678"/>
<source>Add file to project :</source>
<translation>Vložit soubor do projektu :</translation>
</message>
@@ -4265,148 +4750,123 @@ Rozlišení v tomto souboru neodpovídá rozlišení aktuálního projektu</tran
<translation>Startuji SDL...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="109"/>
- <source>Starting ffmpeg...</source>
- <translation>Startuji ffmpeg...</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="118"/>
- <source>Registered video codecs for encoding :</source>
- <translation>Registruji video kodeky pro enkodování :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="120"/>
- <source>Registered audio codecs for encoding :</source>
- <translation>Registruji audio kodeky pro enkódování :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="122"/>
- <source>Registered container formats for encoding :</source>
- <translation>Registruji formáty souborů pro enkódování :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="124"/>
- <source> Device registered for rendering</source>
- <translation> Zařízení registrováno pro renderování</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="126"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="117"/>
<source>Library :</source>
<translation>Knihovna :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="128"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="119"/>
<source>Loading background library...</source>
<translation>Načítám galerii obrázků pozadí...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="129"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="120"/>
<source> images loaded into the background-library from </source>
<translation> obrázků načteno do galerie pozadí z </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="130"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="121"/>
<source>Loading no-luma transitions...</source>
<translation>Načítám no-luma přechody...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="136"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="127"/>
<source> no-luma transitions loaded into the transition-library</source>
<translation> no-luma přechodů načteno do galerie přechodů</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="137"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="128"/>
<source>Loading luma transitions...</source>
<translation>Načítám luma přechody...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="138"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="139"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="140"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="141"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="142"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="143"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="129"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="130"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="131"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="132"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="133"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="134"/>
<source> luma transitions loaded into the transition-library from </source>
<translation> luma přechodů načteno do galerie přechodů z </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="144"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="135"/>
<source> Total:</source>
<translation> Celkem:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="144"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="135"/>
<source> transitions loaded into the transition-library</source>
<translation> přechodů načteno do galerie přechodů</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="234"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="496"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="265"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="538"/>
<source>Slide : </source>
<translation>Snímek : </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="357"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="388"/>
<source>Close application</source>
<translation>Zavřít aplikaci</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="357"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="388"/>
<source>Want to save the project before closing?</source>
<translation>Chcete uložit soubor před ukončením?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="432"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="463"/>
<source>A new ffDiaporama release is available from WEB site. Please update from http://ffdiaporama.tuxfamily.org !</source>
<translation>Nová verze programu ffDiaporama je dostupná na webové stránce. Prosím aktualizujte aplikaci z http://ffdiaporama.tuxfamily.org !</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="506"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="548"/>
<source><new project></source>
<comment>when project have no name define</comment>
<translation><nový projekt></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="534"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="582"/>
<source>Configuration not correct!</source>
<translation>Nastavení není správné!</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="858"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="907"/>
<source><html><body>Visit the ffDiaporama Web site to use the forum,<br>consult tutorials and learn the lastest news:<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html></source>
<translation><html><body>Navštivte webovou stránku ffDiaporama a forum,<br>Podívejte se na návody, postupy a podívejte se na poslední novinky:<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1002"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1051"/>
<source>Saving configuration file and applying new configuration ...</source>
<translation>Ukládám soubor nastavení a aplikuji nová nastavení ...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1038"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1087"/>
<source>New project</source>
<translation>Nový projekt</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1038"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1090"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1112"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1087"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1139"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1161"/>
<source>Current project has been modified.
Do you want to save-it ?</source>
<translation>Aktuální projekt byl modifikován.
Chcete změny uložit ?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1094"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1117"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1126"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1143"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1166"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1175"/>
<source>Open file :</source>
<translation>Otevřít soubor :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1090"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1112"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1115"/>
<location filename="../src/ffDiaporama/mainwindow.cpp" line="1139"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1161"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1164"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1188"/>
<source>Open project</source>
<translation>Otevřít projekt</translation>
</message>
@@ -4416,22 +4876,27 @@ Chcete změny uložit ?</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="849"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="109"/>
+ <source>Starting libav...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="898"/>
<source><html><body>Select a project to open or to create a new project<br>To discover ffDiaporama:<br><a href="%1">Consult the WIKI</a></body></html></source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="852"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="901"/>
<source><html><body>Add empty slides or slides based on photos or videos<br>To discover how to build your slide show and to animate slides:<br><a href="%1">Discover the principles of functioning of ffDiaporama</a></body></html></source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="855"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="904"/>
<source><html><body>Select the equipment type that you plan to use for your video<br>To discover how to render videos:<br><a href="%1">Consult the rendering videos WIKI page</a></body></html></source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1140"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1189"/>
<source>This project was created with a newer version of ffDiaporama.
If you continue, you take the risk of losing data!
Do you want to open it nevertheless?</source>
@@ -4440,105 +4905,112 @@ Pokud budete pokračovat, hrozí ztráta dat!
Chcete projekt přesto otevřít?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1202"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1239"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1252"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1289"/>
<source>Saving project file ...</source>
<translation>Ukládám soubor porjektu ...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1228"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1278"/>
<source>Save project as</source>
<translation>ULožit projekt jako</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1308"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3221"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1358"/>
<source>Add files</source>
<translation>Přidat soubory</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1431"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1481"/>
<source>This video files contains more than one chapter.
Do you want to create one slide for each chapters ?</source>
<translation>Tento video soubor obsahuje více než jednu kapitolu.
Chcete vytvořit jeden snímek pro každou z kapitol ?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1649"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
<source>Add a sub project</source>
<translation>Vložit podprojekt</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1660"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1710"/>
<source>Add project file :</source>
<translation>Vložit projektový soubor :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1740"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1745"/>
+ <source>Capture the image </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1837"/>
<source>Remove slide</source>
<translatorcomment>alternative is "Vymazat snímek"</translatorcomment>
<translation>Odstranit snímek</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1837"/>
<source>Are you sure to want to delete this slide?</source>
<translation>Jste si jisti, že chcete vymazat tento snímek?</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="60"/>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="74"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="61"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="75"/>
<source>Search Raster mode in configuration file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="274"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="275"/>
<source>All suported file (</source>
<translation>Všechny podporované soubory (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="281"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="282"/>
<source>Image file (</source>
<translation>Soubory obrazů (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="287"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="288"/>
<source>Video file (</source>
<translation>Soubory videa (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="293"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="294"/>
<source>Music file (</source>
<translation>Soubory audia (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="461"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="387"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="464"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="388"/>
<source>Read configuration file</source>
<translation>Načíst konfigurační soubor</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="463"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="397"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="466"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="398"/>
<source>Error reading configuration file</source>
<comment>Error message</comment>
<translation>Chyba při čtení konfiguračního souboru</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="468"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="402"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="471"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="403"/>
<source>Error reading content of configuration file</source>
<comment>Error message</comment>
<translation>Chyba při čtení obsahu konfiguračního souboru</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="475"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="409"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="478"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="410"/>
<source>The file is not a valid configuration file</source>
<comment>Error message</comment>
<translation>Tento soubor není platným konfiguračním souborem</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="642"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="456"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="645"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="457"/>
<source>Error creating configuration file</source>
<comment>Error message</comment>
<translation>Echy při vytváření konfiguračního souboru</translation>
@@ -4604,29 +5076,59 @@ Chcete vytvořit jeden snímek pro každou z kapitol ?</translation>
<source>Applying sharpen filter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.cpp" line="156"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1751"/>
+ <source>Capture image</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.cpp" line="157"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1752"/>
+ <source>Select destination file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="64"/>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="116"/>
+ <source>Error during startup</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="65"/>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="117"/>
+ <source>Error during initialisation of sound system. Check your configuration and try again</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="531"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="562"/>
+ <source>ffDiaporama initialisation</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCustomFolderTree</name>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="99"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
<source>Kb</source>
<comment>Unit Kb</comment>
<translation>Kb</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
<source>Mb</source>
<comment>Unit Mb</comment>
<translation>Mb</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
<source>Gb</source>
<comment>Unit Gb</comment>
<translation>Gb</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="103"/>
<source>Tb</source>
<comment>Unit Tb</comment>
<translation>Tb</translation>
@@ -4635,7 +5137,7 @@ Chcete vytvořit jeden snímek pro každou z kapitol ?</translation>
<context>
<name>cBaseMediaFile</name>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1430"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1480"/>
<source>Add video file</source>
<translation>Vložit video soubor</translation>
</message>
@@ -4728,41 +5230,41 @@ Chcete vytvořit jeden snímek pro každou z kapitol ?</translation>
<message>
<location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1099"/>
<location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1143"/>
- <source>Impossible to start exiv2 - no exif informations will be decode for %1</source>
+ <source>Impossible to start exiv2 - no exif information will be decode for %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1104"/>
<location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1148"/>
- <source>Error during exiv2 process - no exif informations will be decode for %1</source>
+ <source>Error during exiv2 process - no exif information will be decode for %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1108"/>
<location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1152"/>
- <source>exiv2 return error %1 - no exif informations will be decode for %2</source>
+ <source>exiv2 return error %1 - no exif information will be decode for %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1491"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1479"/>
<source>Mono</source>
<comment>Audio channels mode</comment>
<translation>Mono</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1492"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1480"/>
<source>Stereo</source>
<comment>Audio channels mode</comment>
<translation>Stereo</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1647"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1627"/>
<source>Video</source>
<comment>File type</comment>
<translation>Video</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1646"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1626"/>
<source>Music</source>
<comment>File type</comment>
<translation>Audio</translation>
@@ -4771,98 +5273,98 @@ Chcete vytvořit jeden snímek pro každou z kapitol ?</translation>
<context>
<name>cDeviceModelList</name>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="504"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
<source>Advanced</source>
<comment>Device database type</comment>
<translation type="unfinished">Pokročilé</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
<source>Smartphone</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
<source>Multimedia system</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
<source>For the WEB</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
<source>Lossless</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
<source>Portable Player</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
<source>Netbook/NetPC</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
<source>Handheld game console</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
<source>Tablet computer</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
<source>Multimedia hard drive and gateway</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
<source>Player</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
<source>ADSL Box</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
<source>Game console</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
<source>SWF Flash Player</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
<source>Video-sharing and social WebSite</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="521"/>
<source>HTML 5</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
@@ -4871,19 +5373,11 @@ Chcete vytvořit jeden snímek pro každou z kapitol ?</translation>
<context>
<name>wgt_QImageFilterTransform</name>
<message>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="558"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="608"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="630"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="651"/>
- <source>Gray</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="559"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="609"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="631"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="652"/>
- <source>Equalize</source>
+ <source>Gray</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -4891,7 +5385,7 @@ Chcete vytvořit jeden snímek pro každou z kapitol ?</translation>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="610"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="632"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="653"/>
- <source>Despeckle</source>
+ <source>Equalize</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -4899,6 +5393,14 @@ Chcete vytvořit jeden snímek pro každou z kapitol ?</translation>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="611"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="633"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="654"/>
+ <source>Despeckle</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="562"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="612"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="634"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="655"/>
<source>No transformation</source>
<translation type="unfinished"></translation>
</message>
@@ -4911,5 +5413,11 @@ Chcete vytvořit jeden snímek pro každou z kapitol ?</translation>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/wgt_QVideoPlayer.ui" line="361"/>
+ <source>Save this image of the movie</source>
+ <extracomment>Tooltip in dialog box</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
diff --git a/locale/ffDiaporama_de.qm b/locale/ffDiaporama_de.qm
index 1578ae7..4fd9819 100755
Binary files a/locale/ffDiaporama_de.qm and b/locale/ffDiaporama_de.qm differ
diff --git a/locale/ffDiaporama_de.ts b/locale/ffDiaporama_de.ts
index e6c128d..cb2895f 100755
--- a/locale/ffDiaporama_de.ts
+++ b/locale/ffDiaporama_de.ts
@@ -30,11 +30,6 @@
<translation>Quellnachweise</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgAbout.ui" line="258"/>
- <source>This application was developped using Open Source version of Qt 4.7 SDK</source>
- <translation>Dieses Programm wurde mit der Open Source Variante von Qt 4.7 SDK entwickelt </translation>
- </message>
- <message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="268"/>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="318"/>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="349"/>
@@ -47,9 +42,14 @@
<translation>Homepage & Lizenz :</translation>
</message>
<message>
+ <location filename="../src/ffDiaporama/DlgAbout.ui" line="258"/>
+ <source>This application was developed using Open Source version of Qt 4.8 SDK</source>
+ <translation>Diese Anwendung wurde mit der Open Source Version von Qt 4.8 SDK erstellt</translation>
+ </message>
+ <message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="305"/>
- <source>Video decoding and encoding engines are based on ffmpeg</source>
- <translation>Die Videoverarbeitung basiert auf ffmpeg</translation>
+ <source>Video decoding and encoding engines are based on libav</source>
+ <translation>Video Dekodierung und Kodierung basieren auf libav </translation>
</message>
<message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="336"/>
@@ -89,7 +89,7 @@
</message>
<message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="665"/>
- <source>System informations</source>
+ <source>System information</source>
<translation>Systeminformationen</translation>
</message>
<message>
@@ -101,656 +101,656 @@
<context>
<name>DlgApplicationSettings</name>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="32"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="32"/>
<source>Application settings</source>
<translation>Anwendungseinstellungen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2865"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2865"/>
<source>Project options (default values)</source>
<translation>Projekteinstellungen (Vorgabewerte)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="574"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="574"/>
<source>Project geometry:</source>
<translation>Geometrie:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="639"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="639"/>
<source>1st shot duration:</source>
<translation>Dauer Einstiegsbild:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="692"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="692"/>
<source>Next shot duration:</source>
<translation>Dauer Folgebilder:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="745"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="745"/>
<source>Speed wave:</source>
<translation>Art der Übergänge:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="54"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="54"/>
<source>Application Options</source>
<translation>Anwendungsoptionen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="90"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="90"/>
<source>If this box is checked, the sizes and the positions of all the windows and dialogue box of ffDiaporama will be saved to be reused the next time which you will use ffDiaporama.</source>
<translation>Wenn diese Option aktiviert ist, werden die Größen und Positonen der Fenster/Dialoge von ffDiaporama
gespeichert und beim nächsten Programmeinstieg wiederverwendet.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="93"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="93"/>
<source>Remember Windows size and positions</source>
<translation>merken der Fenstergröße/-position</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="100"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="100"/>
<source>If this box is checked, the directories that you use for the images, the videos, the projects, the musics and the generations of movie will be saved to be reused the next time which you will use ffDiaporama.</source>
<translation>Ist diese Option aktiviert, merkt sich ffDiaporama die Ordner für Bilder; Video; Projekte; Musik sowie den Ordner für die generierten
Filme. Die letzten verwendeten Ordner werden gespeichert und beim nächsten mal wiederverwendet. </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="103"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="103"/>
<source>Remember last used folders</source>
<translation>speichern des zuletzt verwendeten Ordners</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="117"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="117"/>
<source>Application options</source>
<translation>Anwendungseinstellungen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="143"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="143"/>
<source>Preview options</source>
<translation>Vorschaueinstellungen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="153"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="153"/>
<source>Frame rate :</source>
<translation>Bildrate :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="171"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="171"/>
<source>Defined the number of images by seconds which will be generated to show the preview.</source>
<translation>Anzahl Bilder pro Sekunde die für die Vorschau generiert werden.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="209"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="209"/>
<source>fps (Reduce this value for slow computer)</source>
<translation>fps (Bilder pro Sekunde; Veringern Sie diesen Wert für langsamere Computer)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="218"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="218"/>
<source>Image transformation :</source>
<translation>Bildeffekte :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="228"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="228"/>
<source>If this box is checked, The effects of transformations will be applied to the images of videos during the preview.</source>
<translation>Ist diese Option aktiviert, werden die gewählten Effekte auch in der Vorschau dargestellt.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="231"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="231"/>
<source>Apply to video during preview</source>
<translation>anwenden während der Vorschau</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="257"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="257"/>
<source>Editor options (when adding objects)</source>
<translation>Editoreinstellungen (beim Hinzufügen von Objekten)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="267"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="267"/>
<source>Object position :</source>
<translation>Position des Objects :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="280"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="280"/>
<source>Define the position which occupy the new objects in the timeline during the insertions</source>
<translation>Hier legen Sie die Position von neuen Objekten fest</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="284"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="284"/>
<source>Insert after current object</source>
<translation>Nach dem aktuellen Objekt einfügen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="289"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="289"/>
<source>Append at project end</source>
<translation>Am Ende des Projektes anfügen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="297"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="297"/>
<source>Multiple file insertion :</source>
<translation>Mehrere Objekte einfügen :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="307"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="307"/>
<source>Adjust the way will be sorted out files when you select several files in Add file.</source>
<translation>Legen Sie hier die Sotierung fest, wenn mehrere Dateien hinzugefügt werden. </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="310"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="310"/>
<source>Sort file by last number</source>
<translation>Dateisortierung nach letzter Nummer</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="822"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="822"/>
<source>Defined the transition to be inserted between slides during the insertions:
Chosen randomly a transition in the library</source>
<translation>Legen Sie fest welchen Effekt beim Einfügen von neuen Bilder verwendet werden soll:
Es wird ein zufälliger Effekt aus der Bibliothek gewählt </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="833"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="857"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="881"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="833"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="857"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="881"/>
<source>TransitionButtons</source>
<translatorcomment>?? not found in the current mask ?? hope its correct...</translatorcomment>
<translation>Effektknöpfe</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="846"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="846"/>
<source>Defined the transition to be inserted between slides during the insertions:
No transition</source>
<translation>Legen Sie fest welchen Effekt beim Einfügen von neuen Bilder verwendet werden soll:
Kein Effekt wird angewendet</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="870"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="870"/>
<source>Defined the transition to be inserted between slides during the insertions:
Crossfade transition</source>
<translation>Legen Sie fest welchen Effekt beim Einfügen von neuen Bilder verwendet werden soll:
Überblenden wird angewendet</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="906"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="906"/>
<source>Define the transition duration</source>
<translation>Festlegen der Dauer eines Überganges</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="670"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="723"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="953"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="670"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="723"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="953"/>
<source>sec</source>
<translation>Sekunden</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="330"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="330"/>
<source>If this box is checked, a confirmation will display every time you remove an object</source>
<translation>Ist diese Option aktiviert, werden Sie beim löschen von Objekten zur Bestätigung aufgefordert</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="333"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="333"/>
<source>Ask user confirmation to remove slide, object or shot</source>
<translation>Immer nachfragen beim löschen von Slides; Objekten oder Bildern </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="340"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="340"/>
<source>Object deletion :</source>
<translation>löschen von Objekten :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="350"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="350"/>
<source>Coordinates unit :</source>
<translation>Koordinateneinheiten :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="360"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="360"/>
<source>Select the unit of the coordinates which will be used in properties dialog box</source>
<translation>Wählen sie die Einheiten in denen die Koordinaten angezeigt werden sollen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="364"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="364"/>
<source>Percent</source>
<translation>Prozent</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="369"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="369"/>
<source>Pixel</source>
<translation>Bildpunkte</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="377"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="377"/>
<source>Enable "raster" Graphics System (Need application restart)</source>
<translation>aktiviere das "Raster Grafik System" von Qt (braucht einen Neustart der Anwendung) </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="503"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="503"/>
<source>Automatically crop 1920x1088 video to 1920x1080</source>
<translation>Automatisches Beschneiden eines Videos von 1920x1088 auf 1920x1080</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="418"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="418"/>
<source>SDL Audio use old mode</source>
<translation>verwenden des alten SDL Audio Modus</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="438"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="438"/>
<source>256 Mb</source>
<translation>256 MB</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="443"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="443"/>
<source>512 Mb</source>
<translation>512 MB</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="448"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="448"/>
<source>1 Gb</source>
<translation>1 GB</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="453"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="453"/>
<source>2 Gb</source>
<translation>2 GB</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="427"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="427"/>
<source>Memory profil :</source>
<translation>Speicherprofil :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="384"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="384"/>
<source>Image smoothing :</source>
<translation>Kantenglättung :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="394"/>
<source>Smooth image during preview</source>
<translation>verwenden während der Vorschau</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="401"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="401"/>
<source>Use quick resampler during preview</source>
<translation>verwende Schnellberechnung während der Vorschau</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="408"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="408"/>
<source>Audio resampling :</source>
<translation>Audio resampling :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="476"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="476"/>
<source>Transformed image :</source>
<translation>Umgewandelte Bilder :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="486"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="486"/>
<source>Create cache file (with _ffd suffix) for transformed images</source>
<translation>Erzeuge Pufferdatei (mit _ffd Endung) für umgewandelte Bilder</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="493"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="493"/>
<source>Video :</source>
<translation>Video :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="515"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="515"/>
<source>Project Options</source>
<translation>Projektoptionen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="564"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="564"/>
<source>Project properties (default values)</source>
<translation>Projekteigenschaften (Standardwerte)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="592"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="592"/>
<source>Select the geometry of image to be used for the creation of the projects.</source>
<translation>Wähle die Geometrie die für das neu erstellte Projekte verwendet werden soll. </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="599"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="599"/>
<source>Old TV (4:3)</source>
<translation>alter TV (4:3)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="604"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="604"/>
<source>TV Wide (16:9)</source>
<translation>Breitbildfernseher (16:9)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="609"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="609"/>
<source>Cinema (2.35:1)</source>
<translation>Kinoformat (2.35:1)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="617"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="617"/>
<source>(Only for new project)</source>
<translation>(nur für neue Projekte)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="657"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="657"/>
<source>Defined the default duration of the first shot of slides during their creation.</source>
<translation>Legen sie die Anzeigedauer des ersten Bildes eines Slides bei der Anlage fest. </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="710"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="710"/>
<source>Defined the default duration of next shots.</source>
<translation>Legen Sie die Anzeigedauer der Folgebilder in einem Slide fest.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="763"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="763"/>
<source>Defined the curve of speed to be used for the transitions and the animations.</source>
<translation>Wählen Sie die Kurve für die Geschwindigkeit von Effekten und Animationen. </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="770"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="770"/>
<source>Linear</source>
<translation>Linear</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="775"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="775"/>
<source>Quarter sine</source>
<translation>ansteigende Sinuskurve</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="798"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="798"/>
<source>Default transition:</source>
<translation>Standardübergang: </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="994"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="994"/>
<source>Default options for new text block</source>
<translation>Standardoptionen für neuen Textblock</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1010"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1010"/>
<source>Text</source>
<translation>Text</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1026"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1026"/>
<source>Background</source>
<translation>Hintergrund</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1061"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1061"/>
<source>Default options for new image or video block (when adding block in slide dialog)</source>
<translation>Standardeinstellungen für neuen Bild- oder Videoblock (beim Hinzufügen eines Blocks im Slide Dialog)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1079"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1223"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1441"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1502"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1563"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1624"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1685"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1814"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1875"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1936"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2233"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2294"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2355"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2416"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2477"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2538"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2599"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2660"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2721"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1079"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1223"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1441"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1502"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1563"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1624"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1685"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1814"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1875"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1936"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2233"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2294"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2355"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2416"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2477"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2538"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2599"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2660"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2721"/>
<source>For 4:3 project:</source>
<translation>für 4:3 Projekt:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1096"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1230"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1448"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1509"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1570"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1631"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1692"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1821"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1882"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1943"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2240"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2301"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2362"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2423"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2484"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2545"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2606"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2667"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2728"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1096"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1230"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1448"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1509"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1570"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1631"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1692"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1821"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1882"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1943"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2240"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2301"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2362"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2423"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2484"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2545"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2606"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2667"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2728"/>
<source>For 16:9 project:</source>
<translation>für 16:9 Projekt:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1103"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1237"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1455"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1516"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1577"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1638"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1699"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1828"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1889"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1950"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2247"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2308"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2369"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2430"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2491"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2552"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2613"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2674"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2735"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1103"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1237"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1455"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1516"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1577"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1638"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1699"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1828"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1889"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1950"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2247"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2308"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2369"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2430"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2491"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2552"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2613"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2674"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2735"/>
<source>For cinema project:</source>
<translation>für Kinoformat Projekt:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1138"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1138"/>
<source>Coordinates</source>
<translation>Koordinaten</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1167"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1167"/>
<source>Default options for new image or video block (when creating slide)</source>
<translation>Standardeinstellungen für neuen Bild- oder Videoblock (beim erstellen von Slides)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1183"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2810"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1183"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2810"/>
<source>Text style</source>
<translation>Textstil</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1202"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1282"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2829"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1202"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1282"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2829"/>
<source>Shape</source>
<translation>Form</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2842"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2842"/>
<source>Title :</source>
<translation>Title :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2875"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2875"/>
<source>Author :</source>
<translation>Autor : </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2893"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2893"/>
<source>No automatic filling</source>
<translation>Nicht automatisch ausfüllen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2898"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2898"/>
<source>Fill with project name when project save (if not yet defined)</source>
<translation>Ersetzen mit Projektname wenn es gespeichert wird (wenn noch nicht definiert)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2903"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2903"/>
<source>Fill with project folder name when project save (if not yet defined)</source>
<translation>Ersetzen mit Projektordnername wenn gespeichert wird (wenn noch nicht definiert)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2911"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2911"/>
<source>Default language :</source>
<translation>Standardsprache :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2944"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2944"/>
<source>und</source>
<translatorcomment>it exists in two variants: 'deu' or 'ger' </translatorcomment>
<translation>deu</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2954"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2954"/>
<source>(ISO 639 language code)</source>
<translation>(ISO 639 Sprachcode)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2968"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2968"/>
<source>Rendering Options</source>
<translation>Wiedergabeeinstellungen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3036"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3036"/>
<source>Default advanced rendering options</source>
<translation>Standardeinstellungen erweiterte Wiedergabe </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3263"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3263"/>
<source>Video standard :</source>
<translation>Videonorm : </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3386"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3386"/>
<source>Use title project as video name</source>
<translation>Verwende Projektname als Videoname</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3407"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3407"/>
<source>Lossless :</source>
<translation>Verlustfrei :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3464"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3464"/>
<source>Manage Devices</source>
<translation>Geräte verwalten</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3043"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3043"/>
<source>Video codec :</source>
<translation>Videocodec :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3056"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3056"/>
<source>File format :</source>
<translation>Dateiformat :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3322"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3322"/>
<source>Format :</source>
<translation>Bildgrösse :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3341"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3423"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3341"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3423"/>
<source>Select the default image format to use for the rendering among the proposed list. </source>
<translation>wählen Sie die Standardauflösung aus der Liste.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3284"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3284"/>
<source>Select the default video standard to use, PAL or NTSC.</source>
<translation>Wählen Sie die zu verwendende Videonorm, PAL oder NTSC.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3288"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3288"/>
<source>PAL</source>
<translation>PAL</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3293"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3293"/>
<source>NTSC</source>
<translation>NTSC</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3075"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3146"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3075"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3146"/>
<source>Bit rate :</source>
<translation>Bitrate :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3100"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3100"/>
<source>Select the default bit rate to use for video during the rendering among the proposed list. </source>
<translation>wählen sie die zu verwendende Standard Bitrate für die Videoerzeugung. </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3113"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3113"/>
<source>Select the default video codec to use for the rendering among the proposed list. </source>
<translation>wählen Sie den zu verwendenden Standard Videocodec für die Videoerzeugung. </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3120"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3120"/>
<source>Select the default audio codec to use for the rendering among the proposed list. </source>
<translation>wählen Sie den zu verwendenden Standard Audiocodec für die Videoerzeugung. </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3127"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3127"/>
<source>Audio codec :</source>
<translation>Audiocodec :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3171"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3171"/>
<source>Select the default bit rate to use for audio during the rendering among the proposed list. </source>
<translation>wählen Sie die Standard Audio Bitrate für die Videoerstellung. </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3368"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3368"/>
<source>Default device mode rendering options</source>
<translation>Standardeinstellungen für Gerätemodelle</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3178"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3178"/>
<source>Smartphone :</source>
<translation>Smartphone :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3188"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3188"/>
<source>Multimedia system :</source>
<translation>Multimediasystem :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3198"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3198"/>
<source>For the WEB :</source>
<translation>Internet :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3208"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3208"/>
<source>Select the type of equipment which will be proposed by default when you will click the "Player and Smartphone" button of the "Render movie" menu</source>
<translation>wählen Sie das Zielgerät das als Vorgabewert angezeigt werden soll wenn Sie im Menü "Video erzeugen" den Knopf "Mobil" klicken </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3215"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3215"/>
<source>Select the type of equipment which will be proposed by default when you will click the "For the WEB" button of the "Render movie" menu</source>
<translation>wählen Sie das Zielgerät das als Vorgabewert angezeigt werden soll wenn Sie im Menü "Video erzeugen" den Knopf "Internet" klicken</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3222"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3222"/>
<source>Select the type of equipment which will be proposed by default when you will click the "Multimedia system" button of the "Render movie" menu</source>
<translation>wählen Sie das Zielgerät das als Vorgabewert angezeigt werden soll wenn Sie im Menü "Video erzeugen" den Knopf "Bildschirm" anklicken</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3256"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3256"/>
<source>Select the default file type to use for the rendering among the proposed list.</source>
<translation>wählen Sie den zu vernwendenten Standard Dateitype für die Videoerstellung. </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3229"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3229"/>
<source>Select the model of equipment which will be proposed by default when you will click the "Player and Smartphone" button of the "Render movie" menu</source>
<translation>wählen Sie das Zielgerät das als Vorgabewert angezeigt werden soll wenn Sie im Menü "Video erzeugen" auf "Mobil" klicken </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1301"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2025"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1301"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2025"/>
<source>Coordinates
for 3:2
image in
@@ -762,8 +762,8 @@ Bilder im
Querbildmodus</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1324"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2048"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1324"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2048"/>
<source>Coordinates
for 3:2
image in
@@ -775,8 +775,8 @@ Bilder im
Hochbildmodus </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1347"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2071"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1347"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2071"/>
<source>Coordinates
for 4:3
image in
@@ -788,8 +788,8 @@ Bilder im
Querbildmodus </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1370"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2094"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1370"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2094"/>
<source>Coordinates
for 4:3
image in
@@ -801,8 +801,8 @@ Bilder im
Hochbildmodus</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1393"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2117"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1393"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2117"/>
<source>Coordinates
for 16:9
image in
@@ -814,8 +814,8 @@ Bilder im
Querbildmodus</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1416"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2140"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1416"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2140"/>
<source>Coordinates
for 16:9
image in
@@ -827,8 +827,8 @@ Bilder im
Hochbildmodus</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1744"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2163"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1744"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2163"/>
<source>Coordinates
for cinema
image in
@@ -840,8 +840,8 @@ Bilder im
Querbildmodus</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1767"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2186"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1767"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2186"/>
<source>Coordinates
for cinema
image in
@@ -853,8 +853,8 @@ Bilder im
Hochbildmodus</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1790"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2209"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1790"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2209"/>
<source>Coordinates
for
nonstandard
@@ -864,101 +864,101 @@ standardabweichende
Bilder</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3236"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3236"/>
<source>Select the model of equipment which will be proposed by default when you will click the "Multimedia system" button of the "Render movie" menu</source>
<translation>wählen Sie das Zielgerät welches als Vorgabewert angezeigt wird, wenn Sie im Menü "Video erzeugen" auf "Bildschirm" klicken </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3243"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3243"/>
<source>Select the model of equipment which will be proposed by default when you will click the "For the WEB" button of the "Render movie" menu</source>
<translation>wählen Sie das Zielgerät welches als Vorgabewert angezeigt wird, wenn Sie im Menü "Video erzeugen" auf "Internet" klicken</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3351"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3351"/>
<source>Default video name :</source>
<translation>Vorgabe für Videoname :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3381"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3381"/>
<source>Use project name as video name</source>
<translation>Verwende Projektname als Videoname</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3376"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3376"/>
<source>Use project folder's name as video name</source>
<translation>Verwende Namen des Projektordners als Videoname </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3453"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3453"/>
<source>Check Configuration</source>
<translation>Überprüfe Konfiguration</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3488"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3488"/>
<source>Accept modification and exit dialog box</source>
<translation>Änderungen speichern und Fenster schliessen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3491"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3491"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3502"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3502"/>
<source>Cancel modification and exit dialog box</source>
<translation>Änderungen verwerfen und Fenster schliessen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3505"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3505"/>
<source>&Cancel</source>
<translation>&Abbrechen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3516"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3516"/>
<source>Open help page describing this dialog box</source>
<translation>Hilfe zum aktuellen Fenster anzeigen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3519"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3519"/>
<source>&Help</source>
<translation>&Hilfe</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3526"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3526"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="173"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="180"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="176"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="183"/>
<source>Lock to image geometry</source>
<translation>verwende die Bildgeometrie</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="174"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="181"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="177"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="184"/>
<source>Lock to project geometry-to full image</source>
<translation>verwende die Werte für Vollbild aus der Projektgeometrie </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="175"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="182"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="178"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="185"/>
<source>Lock to project geometry-to width</source>
<translation>verwende die Breite der Projektgeometrie</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="176"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="183"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="179"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="186"/>
<source>Lock to project geometry-to height</source>
<translation>verwende die Höhe der Projektgeometrie</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="361"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="364"/>
<source>Language selection</source>
<translation>Sprachauswahl</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="362"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="365"/>
<source>Language must be empty or an ISO 639 language code (3 characters)
See help for more details!</source>
<translation>Sprache muss leer oder eine der ISO 639 Sprachcodes (3-stellig) beinhalten. Schauen Sie in der Hilfe für Details!</translation>
@@ -967,77 +967,92 @@ See help for more details!</source>
<context>
<name>DlgBackgroundProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="26"/>
<source>Background properties</source>
<translation>Einstellungen Hintergrund</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="44"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="44"/>
<source>Same background as precedent object</source>
<translation>Selber Hintergrund wie das vorherige Objekt</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="57"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="57"/>
<source>Select a new background</source>
<translation>neuer Hintergrund</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="261"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="261"/>
<source>Keep aspect ratio</source>
<translation>behalte Seitenverhältnis</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="224"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="224"/>
<source>Full filling (deform image)</source>
<translation>Bildfüllend (verzehrt ev. das Bild)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="655"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="655"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="666"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="691"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Letzte Aktion Rückgängig (STRG+Z)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="694"/>
+ <source>Undo</source>
+ <translation>Rückgänig</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="701"/>
+ <source>Ctrl+Z</source>
+ <translation>STRG+Z</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="708"/>
<source>&Cancel</source>
<translation>&Abbrechen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="677"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="719"/>
<source>&Help</source>
<translation>&Hilfe</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="684"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="726"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="47"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="73"/>
<source>Solid brush</source>
<translation>Einfärbiger</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="49"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="75"/>
<source>Gradient 2 colors</source>
<translation>Farbverlauf aus 2 Farben</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="51"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="77"/>
<source>Gradient 3 colors</source>
<translation>Farbverlauf aus 3 Farben</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="53"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="79"/>
<source>Image from library</source>
<translation>Bild aus Bibliothek</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="55"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="81"/>
<source>Image from disk</source>
<translation>gespeichertes Bild </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="305"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="310"/>
<source>Select a file</source>
<translation>Datei auswählen</translation>
</message>
@@ -1080,124 +1095,124 @@ See help for more details!</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="63"/>
- <source>ffmpeg not found - critical - application will stop !</source>
- <translation>Kritischer Fehler: Das Programm ffmpeg wurde nicht gefunden. Anwendung kann nicht fortgesetzt werden !</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="165"/>
- <source>ffmpeg Audio Codecs</source>
- <translation>ffmpeg Audio Codecs</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="179"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="177"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="181"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="186"/>
<source>available</source>
<translation>verfügbar</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="60"/>
- <source>Unable to determine ffmpeg version</source>
- <translation>ffmpeg Version konnte nicht erkannt werden</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="67"/>
+ <source>Unable to determine %1 version</source>
+ <translation>Es war nicht möglich dier Version von %1 zu bestimmen</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="70"/>
+ <source>%1 not found - critical - application will stop !</source>
+ <translation>%1 nicht gefunden - Dies ist kritisch - Anwendung wird gestoppt !</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="103"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="110"/>
<source>LibExiv2 version:</source>
<translation>LibExiv2 Version:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="105"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="112"/>
<source>LibExiv2/Exiv2 binary version</source>
<translation>LibExiv2/Exiv2 Binäre Version</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="177"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="181"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="187"/>
<source>not available</source>
<translation>nicht verfügbar</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<source>LibExiv2 support for preview image</source>
<translation>LibExiv2 Unterstützung für Bildvorschau</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="119"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
<source>TAGLib version:</source>
<translation>TAGLib version:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<source>TAGLib support for FLAC</source>
<translation>TAGLib Unterstützung für FLAC</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
<source>TAGLib support for ASF/WMA</source>
<translation>TAGLib Unterstützung für ASF/WMA</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<source>TAGLib support for M4A/MP4</source>
<translation>TAGLib Unterstützung für M4A/MP4</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="149"/>
- <source>ffmpeg version:</source>
- <translation>ffmpeg Version:</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="156"/>
+ <source>encoder version:</source>
+ <translation>Version des Kodierers:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="150"/>
- <source>LIBAVCODEC version:</source>
- <translation>LIBAVCODEC Version:</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
+ <source>LIBAV support for TAG and CHAPTERS</source>
+ <translation>LIBAV unterstützung für TAG und KAPITEL</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="151"/>
- <source>LIBAVFORMAT version:</source>
- <translation>LIBAVFORMAT Version:</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="172"/>
+ <source>libav Audio Codecs</source>
+ <translation>libav Audio Codecs</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="152"/>
- <source>LIBSWSCALE version:</source>
- <translation>LIBSWSCALE Version:</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="176"/>
+ <source>libav Video Codecs</source>
+ <translation>libav Video Codecs</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <source>ffmpeg support for TAG and CHAPTERS</source>
- <translation>ffmpeg Unterstützung für TAG und KAPITEL</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <source>libav Container Formats</source>
+ <translation>libac Kontainer Formate</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="169"/>
- <source>ffmpeg Video Codecs</source>
- <translation>ffmpeg Video Codecs</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="157"/>
+ <source>LIBAVCODEC version:</source>
+ <translation>LIBAVCODEC Version:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
- <source>ffmpeg Container Formats</source>
- <translation>ffmpeg Containerformate</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="158"/>
+ <source>LIBAVFORMAT version:</source>
+ <translation>LIBAVFORMAT Version:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="178"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <source>LIBSWSCALE version:</source>
+ <translation>LIBSWSCALE Version:</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="185"/>
<source>Lossless</source>
<translation>Verlustfrei</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="179"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="186"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="187"/>
<source>Lossless rendering</source>
<translation>Verlustfreie Umwandlung</translation>
</message>
@@ -1205,298 +1220,328 @@ See help for more details!</source>
<context>
<name>DlgImageCorrection</name>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="26"/>
<source>Image framing and correction</source>
<translation>Bildpositionierung und Anpassung</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="107"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="110"/>
<source>Properties for this shot</source>
<translation>Eigenschaften dieser Aufnahme </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="158"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="161"/>
<source>Define the horizontal position from the left (X).</source>
<translation>Festlegen der horizontalen Position vom Linken Bildrand (X).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="223"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="226"/>
<source>Define the vertical position from the top of the image ( Y ).</source>
<translation>Festlegen der vertikalen Position von der Oberkante des Bildes (Y).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1345"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1348"/>
<source>Properties for all shots</source>
<translation>Einstellungen für alle Aufnahmen </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1735"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1423"/>
+ <source>Select another file</source>
+ <translation>Weitere Datei wählen</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1738"/>
<source>Define automatically the framing to the width of the image.</source>
<translation>automatischer Rahmen auf Basis der Breite des Bildes.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1755"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1758"/>
<source>Define automatically the framing to the height of the image.</source>
<translation>automatischer Rahmen auf Basis der Höhe des Bildes.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1787"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1790"/>
<source>Define automatically the framing to the diagonal of the image.</source>
<translation>automatischer Rahmen auf Basis der Diagonale des Bildes.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="244"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1843"/>
+ <source>Enable or disable rulers corresponding to the margins of television sets.</source>
+ <translation>Hilfslinien ein- oder ausschalten (in Anlehnung des sichtbaren Bereichs eines Fernsehers). </translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1846"/>
+ <source>Rullers</source>
+ <translation>Lineal</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1915"/>
+ <source>Undo</source>
+ <translation>Rückgänig</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1922"/>
+ <source>Ctrl+Z</source>
+ <translation>STRG+Z</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="247"/>
<source>Define the width</source>
<translation>Festlegen der Breite</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="314"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="317"/>
<source>Define the height</source>
<translation>Festlegen der Höhe</translation>
</message>
<message utf8="true">
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1601"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1604"/>
<source>Turn the image to the left (on the multiple fellow man of 90°).</source>
<translation>Drehen des Bildes nach Links (in 90°-Schritten).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1638"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1641"/>
<source>Define the rotation angle for z axis.</source>
<translation>Festlegen des Winkels der Drehung.</translation>
</message>
<message utf8="true">
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1669"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1672"/>
<source>Turn the image to the right (on the multiple fellow man of 90°).</source>
<translation>Drehen des Bildes nach Rechts (in 90°-Schritten).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="398"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="431"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="401"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="434"/>
<source>Adjust luminosity</source>
<translation>Helligkeit einstellen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="512"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="545"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="515"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="548"/>
<source>Adjust contrast</source>
<translation>Kontrast einstellen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="613"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="649"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="616"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="652"/>
<source>Adjust gamma</source>
<translation>Gamma einstellen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="726"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="759"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="729"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="762"/>
<source>Adjust red chanel</source>
<translation>Rote Farbwerte einstellen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="833"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="866"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="836"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="869"/>
<source>Adjust green chanel</source>
<translation>Grüne Farbwerte einstellen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="940"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="973"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="943"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="976"/>
<source>Adjust blue chanel</source>
<translation>Blaue Farbwerte einstellen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="447"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="561"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="668"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="775"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="882"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="989"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1169"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="450"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="564"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="671"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="778"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="885"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="992"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1172"/>
<source>Reset to zero</source>
<translation>Zurücksetzen auf Null</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1028"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1031"/>
<source>Apply a filter to the photo or the images of the video</source>
<translation>Anwenden eines Filters auf das Foto bzw. die Bilder des Filmes</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1107"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1238"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1283"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1110"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1241"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1286"/>
<source>Define a blur/sharpen filter to the photo</source>
<translation>Weichzeichner / Bildschärfe einstellen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1305"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1308"/>
<source>Reset to 5</source>
<translation>Zurücksetzen auf 5</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1398"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1401"/>
<source>Name of image/video file</source>
<translation>Dateiname des Bildes/Filmes</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1420"/>
- <source>Select an other file</source>
- <translation>Anderes Bild/Anderen Film auswählen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1473"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1476"/>
<source>Framing :</source>
<translation>Bildpositionierung :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1504"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1507"/>
<source>Image correction :</source>
<translation>Bildkorrektur :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1834"/>
- <source>Show/Hide rullers</source>
- <translation>Anzeigen/Verbergen Hilfslinien</translation>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1912"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Rückgängig letzte Aktion (STRG+Z)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1867"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1870"/>
<source>Accept modification and exit dialog box</source>
<translation>Änderungen speichern und schliessen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1870"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1873"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1881"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1929"/>
<source>Cancel modification and exit dialog box</source>
<translation>Änderungen verwerfen und schliessen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1884"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1932"/>
<source>&Cancel</source>
<translation>&Abbrechen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1895"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1943"/>
<source>Open help page describing this dialog box</source>
<translation>Hilfe des aktuellen Fensters öffnen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1898"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1946"/>
<source>&Help</source>
<translation>&Hilfe</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1905"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1953"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="65"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="521"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="524"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="101"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="747"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="750"/>
<source>Unlock</source>
<translation>Entsperren</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="66"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="525"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="102"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="751"/>
<source>Lock to this geometry</source>
<translation>Festlegen auf Basis dieser Geometrie</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="67"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="526"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="103"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="752"/>
<source>Lock to project geometry</source>
<translation>Festlegen auf Basis der Projektgeometrie</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="68"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="104"/>
<source>Lock to image geometry</source>
<translation>Festlegen auf Basis der Bildgeometrie</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="379"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="343"/>
<source>Creating cached filtered file ...</source>
<translation>Erzeuge Puffer für gefilterte Datei ...</translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="515"/>
+ <source>No style for nonstandard geometry image</source>
+ <translation>Keinen Stil für standardabweichende Bilder</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="564"/>
+ <source>Select a file</source>
+ <translation>Datei auswählen</translation>
+ </message>
</context>
<context>
<name>DlgInfoFile</name>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="25"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="26"/>
<source>File information</source>
<translation>Dateiinformationen</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="93"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="94"/>
<source>File name :</source>
<translation>Dateiname :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="100"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="101"/>
<source>File type :</source>
<translation>Dateitype :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="133"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="134"/>
<source>File size :</source>
<translation>Dateigröße :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="153"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="154"/>
<source>File created :</source>
<translation>Datei erstellt am :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="167"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="168"/>
<source>File modify :</source>
<translation>Datei verändert am :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="219"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="220"/>
<source>Video track information</source>
<translation>Informationen Videospur</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="323"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="324"/>
<source>Chapter information</source>
<translation>Informationen Kapitel</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="288"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="289"/>
<source>Audio track information</source>
<translation>Informationen Audiospur</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="379"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="380"/>
<source>Additional information</source>
<translation>zusätzliche Informationen</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="418"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="419"/>
<source>Accept modification and exit dialog box</source>
<translation>Änderungen annehmen und Dialog schliessen</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="421"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="422"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="432"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="433"/>
<source>Open help page describing this dialog box</source>
<translation>Hilfe zum aktuellen Fenster anzeigen</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="435"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="436"/>
<source>&Help</source>
<translation>&Hilfe</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="442"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="443"/>
<source>F1</source>
<translation>F1</translation>
</message>
@@ -2013,30 +2058,30 @@ Please select another name!</source>
Bitte wählen Sie einen anderen Namen!</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="563"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="771"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="377"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="398"/>
<source>Adjust to image width</source>
<translation>Ausrichten auf Bildbreite</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="564"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="772"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="378"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="399"/>
<source>Adjust to image height</source>
<translation>Ausrichten auf Bildhöhe</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="565"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="773"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="379"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="400"/>
<source>Adjust to full image</source>
<translation>Ausrichten auf Vollbild</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="544"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="546"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="566"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="774"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="785"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="787"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="380"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="401"/>
<source>Custom</source>
@@ -2046,175 +2091,175 @@ Bitte wählen Sie einen anderen Namen!</translation>
<context>
<name>DlgMusicProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="26"/>
<source>Music properties</source>
<translation>Musikeigenschaften</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="38"/>
- <source>Allows to continue to play the play list define by a previous slide</source>
- <translation>Die Playlist aus den vorherigen Dia weiterverwenden</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="41"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="41"/>
<source>Continue current playlist (defined in a previous slide)</source>
<translation>Fortsetzen mit aktueller Playlist aus vorigem Dia</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="44"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="201"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="44"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="201"/>
<source>buttonGroup</source>
<translation>buttonGroup</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="68"/>
- <source>Allows to indicate that from now on, the sound volume is reduced.</source>
- <translation>Ab hier die Laustärke reduzieren.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="71"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="71"/>
<source>Change volume level to :</source>
<translation>Ändere Lautstärke zu:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="74"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="173"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="186"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="74"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="173"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="186"/>
<source>buttonGroup_2</source>
<translation>buttonGroup_2</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="99"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="99"/>
<source>Define the sound volume for this slide</source>
<translation>Festlegen der Lautstärke für dieses Dia</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="167"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="167"/>
<source>Set music to pause during this slide</source>
<translation>Musik auf Pause setzen während dieses Dia</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="170"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="170"/>
<source>Set to pause</source>
<translation>Pause setzen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="180"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="180"/>
<source>No specific settings</source>
<translation>Keine eigenen Einstellungen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="183"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="183"/>
<source>Normal</source>
<translation>Normal</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="195"/>
- <source>Allows to start a new playlist.</source>
- <translation>Ab hier mit neuer Playlist starten.</translation>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="38"/>
+ <source>Allows one to continue to play the play list define by a previous slide</source>
+ <translation>Ermöglicht das Fortsetzen mit aktueller Playlist aus vorigem Dia</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="68"/>
+ <source>Allows one to indicate that from now on, the sound volume is reduced.</source>
+ <translation>Ermöglicht die Lautstärke ab hier zu reduzieren.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="198"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="195"/>
+ <source>Allows one to start a new playlist.</source>
+ <translation>Ermöglicht das starten einer neuen Playlist.</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="198"/>
<source>Start a new playlist from this slide</source>
<translation>Ab hier mit neuer Playlist starten</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="216"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="216"/>
<source>Add a file to the playlist</source>
<translation>Datei zur Playliste hinzufügen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="230"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="230"/>
<source>Remove the current selected file</source>
<translation>Löschen der gewählten Datei</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="244"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="244"/>
<source>Change the order in which will be played the music files:
Move the current selected file of a notch upward.</source>
<translation>Wechseln der Reihenfolge der Musikstücke:
Verschieben der gewählten Datei nach oben.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="259"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="259"/>
<source>Change the order in which will be played the music files:
Move the current selected file of a notch downward.</source>
<translation>Wechseln der Reihenfolge der Musikstücke:
Verschieben der gewählten Datei nach unten.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="274"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="274"/>
<source>Total playlist duration : </source>
<translation>Gesamtlänge der Playlist :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="324"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="324"/>
<source>File</source>
<translation>Datei</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="334"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="334"/>
<source>Duration</source>
<translation>Spieldauer</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="344"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="344"/>
<source>Volume</source>
<translation>Volume</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="354"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="354"/>
<source>Source folder</source>
<translation>Dateiordner</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="392"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="392"/>
<source>Accept modification and exit dialog box</source>
<translation>Änderungen speichern und schliessen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="395"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="395"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="406"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="406"/>
<source>Cancel modification and exit dialog box</source>
<translation>Änderungen verwerfen und schliessen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="409"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="409"/>
<source>&Cancel</source>
<translation>&Abbrechen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="420"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="420"/>
<source>Open help page describing this dialog box</source>
<translation>Hilfe zum aktuellen Fenster anzeigen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="423"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="423"/>
<source>&Help</source>
<translation>&Hilfe</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="430"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="430"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="235"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="217"/>
<source>Add music files</source>
<translation>Musik hinzufügen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="268"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="250"/>
<source>Error</source>
<comment>Error message</comment>
<translation>Fehler</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="269"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="251"/>
<source>Format not supported</source>
<comment>Error message</comment>
<translation>Format nicht unterstützt</translation>
@@ -2512,873 +2557,1288 @@ Verschieben der gewählten Datei nach unten.</translation>
<translation>Film</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="324"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="325"/>
<source>Select destination file</source>
<translation>wähle Zieldatei</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="584"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="658"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="585"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="863"/>
<source>Stop rendering</source>
<translation>Umwandlung stoppen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="665"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="875"/>
<source>Range selection</source>
<translation>Auswahl Bereich</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="666"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="876"/>
<source>Slide range is defined to incorrect values</source>
<translation>Diabereich ist ausserhalb des möglichen Bereiches gewählt</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="674"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="884"/>
<source>Language selection</source>
<translation>Sprachauswahl</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="675"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="885"/>
<source>Language must be empty or an ISO 639 language code (3 characters)
See help for more details!</source>
<translation>Sprache muss leer oder eine der ISO 639 Sprachcodes (3-stellig) beinhalten. Schauen Sie in der Hilfe für Details!</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="682"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="892"/>
<source>Overwrite file ?</source>
<translation>Datei überschreiben ?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="683"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="893"/>
<source>The file you selected already exist.
Do you want to overwrite it ?</source>
<translation>Die gewählte Datei ist schon vorhanden.
Möchten Sie diese überschreiben ?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="701"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="713"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="910"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="941"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1186"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1241"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1250"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1261"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1276"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1291"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1316"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1336"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1345"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1357"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1506"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1510"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1073"/>
+ <source>Start avconv encoder</source>
+ <translation>Starten des avconv Kodierers</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1110"/>
+ <source>Error starting avconv</source>
+ <comment>Error message</comment>
+ <translation>Fehler beim starten von avconv</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1193"/>
+ <source>avconv error</source>
+ <comment>Error message</comment>
+ <translation>avconv Fehler</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1230"/>
+ <source>Error during avconv process</source>
+ <comment>Error message</comment>
+ <translation>Fehler während der Ausführung von avconv</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1234"/>
+ <source>Error exiting avconv</source>
+ <comment>Error message</comment>
+ <translation>Fehler beim beenden von avconv</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="668"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="753"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="907"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="919"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1246"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1301"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1310"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1327"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1342"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1363"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1379"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1388"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1395"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1488"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1540"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1544"/>
<source>Render video</source>
<translation>Video erzeugen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="739"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="946"/>
<source>Device model selection</source>
<translation>Gerät auswählen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="740"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="947"/>
<source>A device model is require!</source>
<translation>Ein Gerät ist erforderlich!</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="823"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1031"/>
<source>Encoding sound</source>
<translation>Sound hinzufügen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1010"/>
- <source>Start ffmpeg encoder</source>
- <translation>starten des ffmpeg Encoders</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1061"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1126"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1133"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1170"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1174"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1109"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1184"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1193"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1230"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1234"/>
<source>Error</source>
<comment>Error message</comment>
<translation>Fehler</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1062"/>
- <source>Error starting ffmpeg</source>
- <comment>Error message</comment>
- <translation>Fehler beim starten von ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1096"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1144"/>
<source> - Estimated time left : </source>
<translation> - noch benötigte Zeit :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1126"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1184"/>
<source>Error sending image to ffmpeg</source>
<comment>Error message</comment>
<translation>Fehler beim senden des Bildes zu ffmpeg</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1133"/>
- <source>ffmpeg error</source>
- <comment>Error message</comment>
- <translation>ffmpeg Fehler</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1155"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1215"/>
<source>Closing encoder</source>
<translation>Encoder schliessen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1170"/>
- <source>Error during ffmpeg process</source>
- <comment>Error message</comment>
- <translation>Fehler während des ffmpeg Prozesses</translation>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1246"/>
+ <source>Job completed successfully!</source>
+ <translation>Auftrag erfolgreich beendet !</translation>
</message>
+</context>
+<context>
+ <name>DlgRulerDef</name>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1174"/>
- <source>Error exiting ffmpeg</source>
- <comment>Error message</comment>
- <translation>Fehler beim beenden von ffmpeg</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="20"/>
+ <source>Ruler properties</source>
+ <translation>Linealeigenschaften</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="76"/>
+ <source>Horizontal rulers</source>
+ <translation>Horizontales Lineal</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="97"/>
+ <source>Vertical rulers</source>
+ <translation>Vertikales Lineal</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="110"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="123"/>
+ <source>screen borders</source>
+ <translation>Bildschirmrand</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="136"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="149"/>
+ <source>TV margins</source>
+ <translation>TV Seitenränder</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="162"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="175"/>
+ <source>Screen center</source>
+ <translation>Bildmitte</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="195"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="202"/>
+ <source>Unselected objects</source>
+ <translation>nicht ausgewählte Objekte</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="241"/>
+ <source>Accept modification and exit dialog box</source>
+ <translation>Änderungen speichern und Fenster schliessen</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="244"/>
+ <source>&Ok</source>
+ <translation>&Ok</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="255"/>
+ <source>Cancel modification and exit dialog box</source>
+ <translation>Änderungen verwerfen und Fenster schliessen</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="258"/>
+ <source>&Cancel</source>
+ <translation>&Abbrechen</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="269"/>
+ <source>Open help page describing this dialog box</source>
+ <translation>Hilfe zum aktuellen Fenster anzeigen</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="272"/>
+ <source>&Help</source>
+ <translation>&Hilfe</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1186"/>
- <source>Job completed succesfully!</source>
- <translation>Auftrag vollständig ausgeführt!</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="279"/>
+ <source>F1</source>
+ <translation>F1</translation>
</message>
</context>
<context>
<name>DlgSlideProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="29"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="29"/>
<source>Slide properties</source>
<translation>Diaeigenschaften</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="139"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="116"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3544"/>
<source>Append a shot to end of the timeline</source>
<translation>am Ende der Zeitleiste ein Bild hinzufügen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="142"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3529"/>
+ <source>Add file</source>
+ <translation>Datei hinzufügen</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3541"/>
<source>Add shot</source>
<translation>Bild hinzufügen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="180"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="164"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3556"/>
<source>Remove current selected shot</source>
<translation>lösche aktuelles Foto</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="183"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3415"/>
<source>Remove</source>
<translation>Entfernen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="221"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3568"/>
<source>Change the order of the shot by moving the current selected shot, of a notch towards the left</source>
<translation>die Reihenfolge des Fotos ändern. Nach Links verschieben </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="224"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3565"/>
<source>Move left</source>
<translation>nach Links</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="256"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3580"/>
<source>Change the order of the shot by moving the current selected shot, of a notch towards the right</source>
<translation>die Reihenfolge des Fotos ändern. Nach Rechts verschieben </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="259"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3577"/>
<source>Move right</source>
<translation>nach Rechts</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="687"/>
<source>Indicate the duration for the current selected shot.</source>
<translation>Dauer für dieses Bild anzeigen.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="417"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="710"/>
<source>HH:mm:ss.zzz</source>
<translation>HH:mm:ss.zzz</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="444"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="660"/>
<source>Shot duration :</source>
<translation>Anzeigedauer :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="466"/>
- <source>Total slide duration :</source>
- <translation>gesamte Anzeigedauer :</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="501"/>
+ <source>Indicate a name for the slide. It is this name which will appear on the thumbnail in the main window timeline.</source>
+ <translation>Name des Dia. Dieser wird in der Vorschau als Bildtitel verwendet. </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="504"/>
- <source>Slide name :</source>
- <translation>Dianame :</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="213"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3520"/>
+ <source>Add a new text block</source>
+ <translation>Neuen Textblock hinzufügen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="532"/>
- <source>Indicate a name for the slide. It is this name which will appear on the thumbnail in the main window timeline.</source>
- <translation>Name des Dia. Dieser wird in der Vorschau als Bildtitel verwendet. </translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3238"/>
+ <source>Undo</source>
+ <translation>Rückgänig</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="986"/>
- <source>Change the order of blocks by moving the active block upward (towards the background)</source>
- <translation>Ändern der Reihenfolge der Blöcke. Diesen um eine Eben heben </translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="216"/>
+ <source>Add
+text</source>
+ <translation>Text
+hinzufügen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1002"/>
- <source>PgUp</source>
- <translation>Bild hinauf</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="261"/>
+ <source>Add
+file</source>
+ <translation>Datei
+hinzufügen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1030"/>
- <source>Change the order of blocks by moving the active block downward (towards the foreground)</source>
- <translation>Ändern der Reihenfolge der Blöcke. Diesen um eine Eben senken </translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="313"/>
+ <source>Edit
+block</source>
+ <translation>Block
+ändern</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1046"/>
- <source>PgDown</source>
- <translation>Bild runter</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="352"/>
+ <source>Arrange blocks</source>
+ <translation>Blöcke anordnen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="744"/>
- <source>Add a new title block</source>
- <translation>Neuen Block hinzufügen</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="355"/>
+ <source>Arrange
+block</source>
+ <translation>Block
+anordnen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="539"/>
- <source>Start a new chapter from here</source>
- <translation>Ab hier mit neuem Kapitel starten</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="397"/>
+ <source>Block
+information</source>
+ <translation>Blockinformationen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="546"/>
- <source>Chapter :</source>
- <translation>Kapitel :</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2199"/>
+ <source>Text animation :</source>
+ <translation>Textanimation:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="754"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2209"/>
+ <source>Zoom :</source>
+ <translation>Zoom:</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2245"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2287"/>
+ <source>Define a zoom value for the text</source>
+ <translation>Festlegen eines Zoomwertes für den Text</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2309"/>
+ <source>Reset to 100%</source>
+ <translation>Zurücksetzen auf 100%</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2351"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2393"/>
+ <source>Scroll text from left to right</source>
+ <translation>Laufschrift von links nach rechts</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2457"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2499"/>
+ <source>Scroll text from bottom to up</source>
+ <translation>Laufschrift von unten nach oben</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2551"/>
+ <source>Block animation :</source>
+ <translation>Blockanimation :</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2587"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2632"/>
+ <source>Define the number of turn to be made around the Z axis during this shot</source>
+ <translation>Festlegen der Anzahl an Drehungen um die Z-Achse während dieser Aufnahme</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2693"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2738"/>
+ <source>Define the number of turn to be made around the X axis during this shot</source>
+ <translation>Festlegen der Anzahl an Drehungen um die X-Achse während dieser Aufnahme</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2799"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2844"/>
+ <source>Define the number of turn to be made around the Y axis during this shot</source>
+ <translation>Festlegen der Anzahl an Drehungen um die Y-Achse während dieser Aufnahme</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3065"/>
+ <source>Type :</source>
+ <translation>Typ :</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3078"/>
+ <source>Dissolve :</source>
+ <translation>Überblendung :</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3097"/>
+ <source>Block coordinates :</source>
+ <translation>Blockkoordinaten :</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="508"/>
+ <source>Start a new chapter from this slide</source>
+ <translation>Startet ein neues Kapitel ab diesem Dia</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="531"/>
+ <source>Total duration :</source>
+ <translation>Gesamtdauer:</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3144"/>
+ <source>Rullers</source>
+ <translation>Lineale</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3289"/>
+ <source>Edit text</source>
+ <translation>Text bearbeiten</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3301"/>
+ <source>Do image correct or reframming</source>
+ <translation>Bildkorrekturen /-anpassungen durchführen</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3337"/>
+ <source>Move to foreground</source>
+ <translation>In den Vordergrund holen</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3589"/>
+ <source>Lock properties</source>
+ <translation>Eigenschaften sperren</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3592"/>
+ <source>Lock properties to the same values as define for the previous shot</source>
+ <translation>Eigenschaften sperren auf die Werte des vorherigen Dia</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3601"/>
+ <source>Unlock properties from this shot</source>
+ <translation>Eigenschaften entsperren in diesem Dia</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3604"/>
+ <source>Define properties from this shot</source>
+ <translation>Eigenschaften festlegen für dieses Dia</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3613"/>
+ <source>Hide</source>
+ <translation>Verstecken</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3616"/>
+ <source>Make hide the active block</source>
+ <translation>Verstecken des aktiven Blocks</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3352"/>
+ <source>Make visible the active block</source>
+ <translation>Sichtbar machen des aktiven Blocks</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="473"/>
+ <source>Slide :</source>
+ <translation>Dia:</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="511"/>
+ <source>Start chapter from here</source>
+ <translation>Kapitel ab hier starten</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3361"/>
+ <source>Take the sound</source>
+ <translation>Verwende den Ton</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3373"/>
+ <source>Display information</source>
+ <translation>Anzeigeinformationen</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3418"/>
+ <source>Remove current block(s)</source>
+ <translation>Entferne aktuellen Block / aktuelle Blöcke</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3445"/>
+ <source>Align top</source>
+ <translation>Ausrichtung Oberkante</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3448"/>
+ <source>Align blocks to the top</source>
+ <translation>Ausrichten der Blöcke nach oben</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3457"/>
+ <source>Align middle</source>
+ <translation>Ausrichtung mittig</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3460"/>
+ <source>Align blocks to the middle</source>
+ <translation>Ausrichtung der Blöcke mittig</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3469"/>
+ <source>Align bottom</source>
+ <translation>Ausrichtung Unterkante</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3472"/>
+ <source>Align blocks to the bottom</source>
+ <translation>Ausrichtung der Blöcke an Unterkante</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3481"/>
+ <source>Align left</source>
+ <translation>Ausrichtung Links</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3484"/>
+ <source>Align blocks to the left</source>
+ <translation>Ausrichtung der Blöcke nach Links</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3493"/>
+ <source>Align center</source>
+ <translation>zentriert</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3496"/>
+ <source>Align blocks to the center</source>
+ <translation>Zentriere Blöcke</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3505"/>
+ <source>Align right</source>
+ <translation>Ausrichtung Rechts</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3508"/>
+ <source>Align blocks to the right</source>
+ <translation>Ausrichtung der Blöcke nach rechts </translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3517"/>
+ <source>Add text block</source>
+ <translation>Textblock hinzufügen</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1845"/>
+ <source>Remove block</source>
+ <translation>Block entfernen</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="230"/>
<source>Ctrl+Ins</source>
<translation>Strg+Einfg</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="782"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="258"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3532"/>
<source>Add a new block of type image or video.</source>
<translation>Neuen Block hinzufügen (Bild oder Video).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="792"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="275"/>
<source>Ins</source>
<translation>Einfg</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="941"/>
- <source>Remove the current block</source>
- <translation>aktuellen Block entfernen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="951"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3421"/>
<source>Del</source>
<translation>Entf</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="827"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3388"/>
<source>Copy the current block to the ffDiaporama clipboard.</source>
<translation>kopieren des aktuellen Blocks in die ffDiaporama Zwischenablage.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="837"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3325"/>
+ <source>Move to background</source>
+ <translation>in den Hintergrund schieben</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3328"/>
+ <source>Change the order of blocks by moving the active block towards the background</source>
+ <translation>Aktiven Block um eine Ebene in den Hintergrund schieben</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3340"/>
+ <source>Change the order of blocks by moving the active block towards the foreground</source>
+ <translation>Aktiven Block um eine Ebene in den Vodergrund holen</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3349"/>
+ <source>Visible</source>
+ <translation>Sichtbar</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3385"/>
+ <source>Copy block</source>
+ <translation>Block kopieren</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3391"/>
<source>Ctrl+C</source>
<translation>Strg+C</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="865"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3400"/>
+ <source>Cut block</source>
+ <translation>Block ausschneiden</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3403"/>
<source>Copy the current block to the ffDiaporama clipboard and remove it from the slide</source>
<translation>Ausschneiden in Zwischenablage (Strg+X)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="875"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3406"/>
<source>Ctrl+X</source>
<translation>Strg+X</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="903"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3430"/>
+ <source>Paste block</source>
+ <translation>Block einfügen</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3433"/>
<source>Paste block from the ffDiaporama clipboard and insert it.</source>
<translation>Einfügen Block aus Zwischenablage (Strg+V).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="913"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3436"/>
<source>Ctrl+V</source>
<translation>Strg+V</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1074"/>
- <source>Make visible or hidden the active block</source>
- <translation>anzeigen oder verbergen des aktiven Blocks</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1109"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3364"/>
<source>Give the sound, during this shot, to the current video block</source>
<translation>Während dieses Shot die Musik abspielen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1151"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3292"/>
<source>Define the properties of the text block</source>
<translation>Eigenschaften des Textblockes</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1161"/>
- <source>F5</source>
- <translation>F5</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1189"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3304"/>
<source>Define framing and do correction of image or movie</source>
<translation>Rahmen und Bildkorrekturen des Bildes/Videos</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1199"/>
- <source>F6</source>
- <translation>F6</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1227"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3313"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3316"/>
<source>Cut the video</source>
<translation>Video ausschneiden</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1237"/>
- <source>F7</source>
- <translation>F7</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3376"/>
+ <source>Display detailled information on current block</source>
+ <translation>Detailierte Informationen des aktuellen Blocks anzeigen</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1485"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1582"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1710"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2415"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2521"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2651"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2757"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2863"/>
+ <source>Reset to 0</source>
+ <translation>Zurücksetzen auf 0</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2310"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1915"/>
<source>Border :</source>
<translation>Umrandung :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2225"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1830"/>
<source>Shape :</source>
<translation>Form :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2253"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3235"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Letzte Aktion Rückgängig (STRG+Z)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3245"/>
+ <source>Ctrl+Z</source>
+ <translation>STRG+Z</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="119"/>
+ <source>Add
+shot</source>
+ <translation>Dia
+hinzufügen</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="167"/>
+ <source>Remove
+shot</source>
+ <translation>Dia
+entfernen</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="310"/>
+ <source>Edit block</source>
+ <translation>Block ändern</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1858"/>
<source>Select a shape for current block</source>
<translation>wählen die die Form für diesen Block</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2275"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1880"/>
<source>Opacity :</source>
<translation>Deckkraft :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2303"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1908"/>
<source>Defined the opaqueness of the block.</source>
<translation>Die Deckkraft dieses Blocks festlegen.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2345"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1950"/>
<source>Defined the thickness of the border</source>
<translation>Stärke der Umrandung festlegen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2373"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1978"/>
<source>Defined the color of the line to be used to draw the border</source>
<translation>Linienfarbe der Umrandung auswählen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2404"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2009"/>
<source>Defined the type of line (solid, dotted line, etc.)</source>
<translation>Linientyp auswählen (durchgehen, punktiert, etc.)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2064"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2103"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1655"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1694"/>
<source>Define rotation according to the X axis (defined in degree).</source>
<translation>Drehwinkel der X-Achse (in Grad). </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1950"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1989"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1527"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1566"/>
<source>Define rotation according to the Y axis (defined in degree).</source>
<translation>Drehwinkel der Y-Achse (in Grad).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1833"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1872"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1427"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1466"/>
<source>Define rotation according to the Z axis (defined in degree).</source>
<translation>Drehwinkel der Z-Achse (in Grad).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2517"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2122"/>
<source>Defined the distance between the block and its shadow</source>
<translation>Abstand zwischen Block und Schatten festlegen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2545"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2150"/>
<source>Defined the color of the shadow</source>
<translation>Farbe des Schattens</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1682"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1276"/>
<source>Define width of current block</source>
<translation>Breite des Blocks</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1755"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1349"/>
<source>Define height of current block</source>
<translation>Höhe des Blocks</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1526"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1120"/>
<source>Define X position of current block</source>
<translation>X-Position des Blocks</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1599"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1193"/>
<source>Define Y position of current block</source>
<translation>Y-Position des Blocks</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2479"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2084"/>
<source>Defined in which corner the shadow will be positioned (or no shadow)</source>
<translation>An welchem Eck soll der Schatten gezeichnet werden (oder keinen Schatten)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2457"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2062"/>
<source>Shadow :</source>
<translation>Schatten : </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2135"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1740"/>
<source>Block shape :</source>
<translation>Form des Blocks :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1339"/>
- <source>Coordinates :</source>
- <translation>Koordinaten :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2645"/>
- <source>Propertie</source>
- <translation>Eigenschaft</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2655"/>
- <source>Value</source>
- <translation>Wert</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2696"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3141"/>
<source>Enable or disable rulers corresponding to the margins of television sets.</source>
<translation>Hilfslinien ein- oder ausschalten (in Anlehnung des sichtbaren Bereichs eines Fernsehers). </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2699"/>
- <source>TV margins</source>
- <translation>Hilfslinien</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2726"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3168"/>
<source>Accept modification and go to previous slide</source>
<translation>Änderungen übernehmen und zu vorherigem Dia gehen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2729"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3171"/>
<source>Previous</source>
<translation>vorheriges</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2740"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3182"/>
<source>Accept modification and exit dialog box</source>
<translation>Änderungen speichern und schliessen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2743"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3185"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2754"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3196"/>
<source>Accept modification and go to next slide</source>
<translation>Änderungen speichern und zu nächstem Dia wechseln</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2757"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3199"/>
<source>Next</source>
<translation>nächstes</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2793"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3252"/>
<source>Cancel modification and exit dialog box</source>
<translation>Änderungen verwerfen und schliessen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2796"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3255"/>
<source>&Cancel</source>
<translation>&Abbrechen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2807"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3266"/>
<source>Open help page describing this dialog box</source>
<translation>Hilfe zum aktuellen Fenster anzeigen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2810"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3269"/>
<source>&Help</source>
<translation>&Hilfe</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2817"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3276"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="101"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="156"/>
<source>Slide</source>
<translation>Dia </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="146"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="193"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="234"/>
<source>None</source>
<translation>keiner</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="147"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="194"/>
<source>Shadow upper left</source>
<translation>Schatten links oben</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="148"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="195"/>
<source>Shadow upper right</source>
<translation>Schatten rechts oben</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="149"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="196"/>
<source>Shadow bottom left</source>
<translation>Schatten links unten</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="150"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="197"/>
<source>Shadow bottom right</source>
<translation>Schatten rechts unten</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="626"/>
- <source>Lengthened to %1 sec</source>
- <translation>Ausdehnen auf %1 sek</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="235"/>
+ <source>Multiple block turn</source>
+ <translation>mehrere Blöcke drehen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1039"/>
- <source>Object type</source>
- <translation>Objekttyp</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="236"/>
+ <source>Dissolve</source>
+ <translation>Überblenden</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1040"/>
- <source>Title</source>
- <translation>Titel</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="239"/>
+ <source>Appear</source>
+ <translation>Einblenden</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1041"/>
- <source>Image</source>
- <translation>Bild</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="240"/>
+ <source>Disappear</source>
+ <translation>Ausblenden</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1042"/>
- <source>Video</source>
- <translation>Video</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="241"/>
+ <source>Blink at slow speed</source>
+ <translation>langsam Blinken</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1046"/>
- <source>Filename</source>
- <translation>Dateiname</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="242"/>
+ <source>Blink at medium speed</source>
+ <translation>mittleres Blinken</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1056"/>
- <source>Image size</source>
- <translation>Bildgröße</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="243"/>
+ <source>Blink at fast speed</source>
+ <translation>schnelles Blinken</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="561"/>
- <source>No style for nonstandard geometry image</source>
- <translation>Keinen Stil für standardabweichende Bilder</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="244"/>
+ <source>Blink at very fast speed</source>
+ <translation>sehr schnelles Blinken</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="626"/>
- <source>Select a file</source>
- <translation>Datei auswählen</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1332"/>
+ <source>Lengthened to %1 sec</source>
+ <translation>Ausdehnen auf %1 sek</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1845"/>
+ <source>Are you sure to want to delete this block?</source>
+ <translation>Sicher dass Sie diesen Block löschen wollen ?</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1848"/>
+ <source>Remove blocks</source>
+ <translation>Blöcke entfernen</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1848"/>
+ <source>Are you sure to want to delete these blocks?</source>
+ <translation>Sicher dass Sie diese Blöcke löschen wollen ?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1572"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3553"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1200"/>
<source>Remove shot</source>
<translation>Shot löschen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1572"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1200"/>
<source>Are you sure to want to delete this shot?</source>
<translation>Sicher dass Sie diesen Shot löschen wollen ?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1715"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1564"/>
<source>Text</source>
<comment>Default text value</comment>
<translation>Text</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1740"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1623"/>
<source>Add files</source>
<translation>Dateien hinzufügen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1957"/>
- <source>Remove bloc</source>
- <translation>Block löschen</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1957"/>
- <source>Are you sure to want to delete this bloc?</source>
- <translation>Sicher dass Sie diesen Block löschen wollen ?</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/cCustomBlockTable.cpp" line="136"/>
+ <source>Duration:</source>
+ <translation>Dauer: </translation>
</message>
</context>
<context>
<name>DlgTextEdit</name>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="26"/>
<source>Edit text</source>
<translation>Text bearbeiten</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="187"/>
- <source>Properties for all shots</source>
- <translation>Eigenschaften für alle Shots</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="158"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="109"/>
<source>Select font family</source>
<translation>Schriftart</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="339"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="134"/>
<source>Select font size</source>
<translation>Schriftgröße</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="364"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="159"/>
<source>Select font color</source>
<translation>Textfarbe</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1267"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="443"/>
<source>Select font effect (outerline, shadow)</source>
<translation>Texttyp (umrandet, mit Schatten)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1298"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="474"/>
<source>Select outerline/shadow color</source>
<translation>Umrandungs-/Schattenfarbe</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="230"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="512"/>
<source>Set text to Bold</source>
<translation>Fettschrift</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="262"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="544"/>
<source>Set text to Italic</source>
<translation>Kursiv</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="291"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="573"/>
<source>Set text to Underline</source>
<translation>Unterstrichen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="412"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="289"/>
<source>Align left</source>
<translation>Ausrichtung Links</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="447"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="356"/>
<source>Align center</source>
<translation>zentriert</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="479"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="324"/>
<source>Align justify</source>
<translation>Blockanordnung</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="511"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="45"/>
+ <source>Text</source>
+ <translation>Text</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="200"/>
+ <source>Bullet list</source>
+ <translation>Aufzählungsliste</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="235"/>
+ <source>Numbered list</source>
+ <translation>Nummerierungsliste</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="388"/>
<source>Align right</source>
<translation>Ausrichtung Rechts</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="556"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="602"/>
+ <source>Set text to superscript</source>
+ <translation>Hochgestellt</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="631"/>
+ <source>Set text to subscript</source>
+ <translation>Tiefgestellt</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="679"/>
+ <source>Increase indent</source>
+ <translation>Einzug erhöhen</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="708"/>
+ <source>decrease indent</source>
+ <translation>Einzug vermindern</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="756"/>
<source>Align top</source>
<translation>Ausrichtung Oberkante</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="588"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="788"/>
<source>Align in the middle</source>
<translation>Ausrichtung mittig</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="620"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="820"/>
<source>Align bottom</source>
<translation>Ausrichtung Unterkante</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="682"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="870"/>
+ <source>Background</source>
+ <translation>Hintergrund</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="916"/>
+ <source>Background properties :</source>
+ <translation>Hintergrundeigenschaften :</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="967"/>
<source>Define the background brush type for the shape</source>
<translation>Hintergrundverlauf für die Form festlegen </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="734"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1019"/>
<source>Define the color (or first color for a gradient brush)</source>
<translation>Farbe festlegen (bzw. die Startfarbe für Farbverlauf)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="759"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1063"/>
<source>Define the second gradient brush color </source>
<translation>Zweite Farbe für Verlauf festlegen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="784"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1107"/>
<source>Define the third gradient brush color </source>
<translation>Dritte Farbe für Verlauf festlegen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="843"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1166"/>
<source>Select the pattern</source>
<translation>Muster auswählen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="904"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1227"/>
<source>Define orientation of the gradient brush</source>
<translation>Ausrichtung für Farbverlauf festlegen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="948"/>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="987"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1258"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1297"/>
<source>Define position of the second color in the gradient brush</source>
<translation>Durchmesser der zweite Farbe für Verlauf festlegen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1077"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1400"/>
<source>Select an image among that present in the library</source>
<translation>Bild aus der Bibliothek wählen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1215"/>
- <source>Texte style :</source>
- <translation>Texteigenschaften :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1123"/>
- <source>Block background style :</source>
- <translation>Eigenschaften Hintergrundblock :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1357"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1456"/>
<source>Accept modification and exit dialog box</source>
<translation>Änderungen speichern und Fenster schliessen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1360"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1459"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1371"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1495"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Letzte Aktion Rückgängig (STRG+Z)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1498"/>
+ <source>Undo</source>
+ <translation>Rückgänig</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1505"/>
+ <source>Ctrl+Z</source>
+ <translation>STRG+Z</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1512"/>
<source>Cancel modification and exit dialog box</source>
<translation>Änderungen verwerfen und Fenster schliessen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1374"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1515"/>
<source>&Cancel</source>
<translation>&Abbrechen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1385"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1526"/>
<source>Open help page describing this dialog box</source>
<translation>Hilfe zum aktuellen Fenster anzeigen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1388"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1529"/>
<source>&Help</source>
<translation>&Hilfe</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1395"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1536"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="74"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="118"/>
<source>No effect</source>
<translation>kein Effekt</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="75"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="119"/>
<source>Outerline</source>
<translation>Umrahmt</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="76"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="120"/>
<source>Shadow upper left</source>
<translation>Schatten links oben</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="77"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="121"/>
<source>Shadow upper right</source>
<translation>Schatten rechts oben</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="78"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="122"/>
<source>Shadow bottom left</source>
<translation>Schatten links unten</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="79"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="123"/>
<source>Shadow bottom right</source>
<translation>Schatten rechts unten</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="85"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="129"/>
<source>No brush</source>
<translation>keine Farbe</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="86"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="130"/>
<source>Solid brush</source>
<translation>Einfärbig</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="87"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="131"/>
<source>Pattern brush</source>
<translation>Muster</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="88"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="132"/>
<source>Gradient 2 colors</source>
<translation>Farbverlauf aus 2 Farben</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="89"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="133"/>
<source>Gradient 3 colors</source>
<translation>Farbverlauf aus 3 Farben</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="90"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="134"/>
<source>Image from library</source>
<translation>Bild aus Bibliothek</translation>
</message>
@@ -3509,108 +3969,123 @@ Möchten Sie diese überschreiben ?</translation>
<context>
<name>DlgVideoEdit</name>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="26"/>
<source>Cut video</source>
<translation>Video schneiden</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="52"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="52"/>
<source>Properties for all shots</source>
<translation>Eigenschaften aller Shots</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="110"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="110"/>
<source>Start :</source>
<translation>Start: </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="117"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="117"/>
<source>Move to start position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation>zum Anfang</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="131"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="131"/>
<source>Use current position as start position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation>aktuelle Position als Start setzen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="157"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="157"/>
<source>Define the start position to use for</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation>Anfangsposition festlegen für</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="179"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="179"/>
<source>End :</source>
<translation>Ende: </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="201"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="201"/>
<source>Define the end position to use for</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation>Endposition festlegen für</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="220"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="220"/>
<source>Use current position as end position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation>aktuelle Position als Ende festlegen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="234"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="234"/>
<source>Move to end position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation>zum Ende gehen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="254"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="254"/>
<source>Duration :</source>
<translation>Länge: </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="286"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="286"/>
<source>Volume :</source>
<translation>Lautstärke: </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="314"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="314"/>
<source>Define the " Master Volume " for the movie</source>
<translation>Festlegen der Gesamtlautstärke für das Video</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="355"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="355"/>
<source>Accept modification and exit dialog box</source>
<translation>Änderungen speichern und Fenster schliessen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="358"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="358"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="369"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="394"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Letzte Aktion Rückgängig (STRG+Z)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="397"/>
+ <source>Undo</source>
+ <translation>Rückgänig</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="404"/>
+ <source>Ctrl+Z</source>
+ <translation>STRG+Z</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="411"/>
<source>Cancel modification and exit dialog box</source>
<translation>Änderungen verwerfen und Fenster schliessen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="372"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="414"/>
<source>&Cancel</source>
<translation>&Abbrechen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="383"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="425"/>
<source>Open help page describing this dialog box</source>
<translation>Hilfe zum aktuellen Fenster anzeigen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="386"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="428"/>
<source>&Help</source>
<translation>&Hilfe</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="393"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="435"/>
<source>F1</source>
<translation>F1</translation>
</message>
@@ -3618,87 +4093,87 @@ Möchten Sie diese überschreiben ?</translation>
<context>
<name>DlgffDPjrProperties</name>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="19"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="20"/>
<source>Project properties</source>
<translation>Projekteigenschaften</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="33"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="34"/>
<source>Title :</source>
<translation>Titel :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="50"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="51"/>
<source>Author :</source>
<translation>Autor : </translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="60"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="61"/>
<source>Album :</source>
<translation>Album :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="70"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="71"/>
<source>Year :</source>
<translation>Jahr :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="120"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="121"/>
<source>Language :</source>
<translation>Sprache :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="153"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="154"/>
<source>und</source>
<translation>deu</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="163"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="164"/>
<source>(ISO 639 language code)</source>
<translation>(ISO 639 Sprachcode)</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="172"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="173"/>
<source>Comment :</source>
<translation>Kommentar :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="182"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="183"/>
<source>Chapters :</source>
<translation>Kapitel :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="222"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="223"/>
<source>Accept modification and exit dialog box</source>
<translation></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="225"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="226"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="236"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="237"/>
<source>Cancel modification and exit dialog box</source>
<translation>Änderungen verwerfen und Fenster schliessen</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="239"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="240"/>
<source>&Cancel</source>
<translation>&Abbrechen</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="250"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="251"/>
<source>Open help page describing this dialog box</source>
<translation>Hilfe zum aktuellen Fenster anzeigen</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="253"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="254"/>
<source>&Help</source>
<translation>&Hilfe</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="260"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="261"/>
<source>F1</source>
<translation>F1</translation>
</message>
@@ -3718,13 +4193,13 @@ Möchten Sie diese überschreiben ?</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="156"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1385"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1397"/>
<source>Create a new empty project (Ctrl+N)</source>
<translation>Neues Projekt (Strg+N)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="159"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1388"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1400"/>
<source>New
project</source>
<translation>Neues
@@ -3732,19 +4207,19 @@ Projekt</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="173"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1402"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1414"/>
<source>Ctrl+N</source>
<translation>Strg+N</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="207"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1436"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1448"/>
<source>Open a previously saved project (Ctrl+O)</source>
<translation>Projekt Öffnen (Strg+O)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="210"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1439"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1451"/>
<source>Open
project</source>
<translation>Öffne
@@ -3752,19 +4227,19 @@ Projekt</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="224"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1453"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1465"/>
<source>Ctrl+O</source>
<translation>Strg+O</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="258"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1487"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1499"/>
<source>Open a recently used project file</source>
<translation>Öffne zuletzt verwendetes Projekt</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="261"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1490"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1502"/>
<source>Open
recent</source>
<translation>Öffne
@@ -3772,13 +4247,13 @@ letzte Projekte</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="306"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1535"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1547"/>
<source>Save current project (Ctrl+S)</source>
<translation>Projekt sichern (Strg+S)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="309"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1538"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1550"/>
<source>Save
project</source>
<translation>Projekt
@@ -3786,19 +4261,19 @@ sichern</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="323"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1552"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1564"/>
<source>Ctrl+S</source>
<translation>Strg+S</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="357"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1586"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1598"/>
<source>Save current project to a new project file</source>
<translation>Projekt sichern als</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="360"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1589"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1601"/>
<source>Save
project as</source>
<translation>Projekt
@@ -3806,44 +4281,44 @@ sichern als</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="400"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1629"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1641"/>
<source>Define project properties</source>
<translation>Festlegen der Projekteigenschaften</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="403"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1632"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1644"/>
<source>Project
properties</source>
<translation>Projekteigenschaften</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="442"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1671"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1683"/>
<source>Change application and project settings</source>
<translation>Einstellungen</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="445"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1674"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1686"/>
<source>Settings</source>
<translation>Einstellungen</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="483"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1712"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1724"/>
<source>Exit application (Ctrl+W)</source>
<translation>Programm beenden (Strg+W)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="486"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1715"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1727"/>
<source>Exit</source>
<translation>Beenden</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="499"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1728"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1740"/>
<source>Ctrl+W</source>
<translation>Strg+W</translation>
</message>
@@ -3854,13 +4329,14 @@ properties</source>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="559"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1786"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1798"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3212"/>
<source>Add an empty slide</source>
<translation>Leeres Dia hinzufügen</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="562"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1789"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1801"/>
<source>Add
title</source>
<translation>Titel
@@ -3868,13 +4344,14 @@ hinzufügen</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="607"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1834"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1846"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3224"/>
<source>Add image or video as slide (INS)</source>
<translation>Bild oder Video als Dia hinzufügen (Einfg)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="610"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1837"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1849"/>
<source>Add
files</source>
<translation>Dateien
@@ -3882,19 +4359,21 @@ hinzufügen</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="624"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1851"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1863"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3227"/>
<source>Ins</source>
<translation>Einf</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="652"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1879"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1891"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3239"/>
<source>Add a previously saved project at the end of this project</source>
<translation>Gespeichertes Projekt an aktuelles Projekt anfügen</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="655"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1882"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1894"/>
<source>Add
project</source>
<translation>Projekt
@@ -3902,443 +4381,455 @@ hinzufügen</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="701"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1928"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1940"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3167"/>
<source>Copy current slide to clipboard and remove it (Ctrl+X)</source>
<translation>Ausschneiden des Dia in die Zwischenablage (Strg+X)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="704"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1931"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1943"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3164"/>
<source>Cut</source>
<translation>Ausschneiden</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="717"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1944"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1956"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3170"/>
<source>Ctrl+X</source>
<translation>Strg+X</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="745"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1972"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1984"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3182"/>
<source>Copy current slide to clipboard (Ctrl+C)</source>
<translation>Kopieren des Dia in die Zwischenablage (Strg+C)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="748"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1975"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1987"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3179"/>
<source>Copy</source>
<translation>Kopieren</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="761"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1988"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2000"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3185"/>
<source>Ctrl+C</source>
<translation>Strg+C</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="789"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2016"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2028"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3197"/>
<source>Paste current slide from clipboard (Ctrl+V)</source>
<translation>Einfügen des Dia aus der Zwischenablage (Strg+V)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="792"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2019"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2031"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3194"/>
<source>Paste</source>
<translation>Einfügen</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="805"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2032"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2044"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3200"/>
<source>Ctrl+V</source>
<translation>Strg+V</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="846"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2073"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2085"/>
<source>Edit</source>
<translation>Bearbeiten</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="884"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2111"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2123"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3152"/>
<source>Remove current slide (DEL)</source>
<translation>Entferne aktuelles Dia (Entf)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="887"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2114"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2126"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3149"/>
<source>Remove</source>
<translation>Entfernen</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="900"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2127"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2139"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3155"/>
<source>Del</source>
<translation>Entf</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="918"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="924"/>
<source>Render video</source>
<translation>Video erzeugen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="954"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2185"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="960"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2197"/>
<source>Player and
smartphone</source>
<translation>Mobil</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="999"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2230"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1005"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2242"/>
<source>Multimedia
system</source>
<translation>Bildschirm</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1038"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2269"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1044"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2281"/>
<source>For the
WEB</source>
<translation>Internet</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1077"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2308"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1083"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2320"/>
<source>Lossless</source>
<translation>Verlustfrei</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1121"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2352"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1127"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2364"/>
<source>Render project as a video</source>
<translation>Video erzeugen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1124"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2355"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1130"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2367"/>
<source>Advanced</source>
<translation>Erweitert</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1152"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1164"/>
<source>Help</source>
<translation>Hilfe</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1188"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2406"/>
- <source>Display informations about ffDiaporama</source>
- <translation>Programmhinweise über ffDiaporama</translation>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1200"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2418"/>
+ <source>Display information about ffDiaporama</source>
+ <translation>Informationen über fFDiaporama anzeigen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1191"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2409"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1203"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2421"/>
<source>About</source>
<translation>Info</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1235"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2453"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1247"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2465"/>
<source>Call ffDiaporama WIKI</source>
<translation>Aufruf der ffDiaporama WIKI</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1238"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2456"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1250"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2468"/>
<source>Support
and help</source>
<translation>Support
und Hilfe</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1252"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2470"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1264"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2482"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1286"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2504"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1298"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2516"/>
<source>Display blog/news page from internet WEB site</source>
<translation>Anzeige des Blogs/der News von der Homepage</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1289"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2507"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1301"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2519"/>
<source>What's new</source>
<translation>Neuigkeiten</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2881"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2893"/>
<source>Slide : xx/xxx</source>
<translation>Dia: xx/xxx</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2922"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2934"/>
<source>Switch display to preview mode</source>
<translation>Wechseln der Darstellung in Voransicht</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2939"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2951"/>
<source>...</source>
<translation>...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2962"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2974"/>
<source>Switch display to sheet mode</source>
<translation>Wechseln der Darstellung in Balkenmodus </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3002"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3014"/>
<source>Enlarge thumbnails</source>
<translation>Vorschaubilder vergrößern</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3042"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3054"/>
<source>Reduce thumbnails</source>
<translation>Vorschaubilder verkleinern</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3073"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3089"/>
<source>Edit background</source>
<translation>Hintergrund bearbeiten</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3076"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3092"/>
<source>Edit the background image for the slide</source>
<translation>Hintergrund des Dia bearbeiten</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3079"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3095"/>
<source>F5</source>
<translation>F5</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3084"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3104"/>
<source>Edit slide</source>
<translation>Dia bearbeiten</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3087"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3107"/>
<source>Edit the slide</source>
<translation>Dia bearbeiten</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3090"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3110"/>
<source>F6</source>
<translation>F6</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3095"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3119"/>
<source>Edit music</source>
<translation>Audio bearbeiten</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3098"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3122"/>
<source>Edit the slide musical playlist</source>
<translation>Musikwiedergabeliste des Dia bearbeiten</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3101"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3125"/>
<source>F7</source>
<translation>F7</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3106"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3134"/>
<source>Edit object transition</source>
<translation>Transformation des Objekts bearbeiten</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3109"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3137"/>
<source>Edit entering transition for the slide</source>
<translation>Einstiegstransformation bearbeiten</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3112"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3140"/>
<source>F8</source>
<translation>F8</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3117"/>
- <source>Edit background transition</source>
- <translation>Ändern Übergang des Hintergrundes</translation>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3209"/>
+ <source>Add title</source>
+ <translation>Titel hinzufügen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3120"/>
- <source>Edit the entering background transition for the slide</source>
- <translation>Ändern des Einstiegsüberganges für diesen Slide</translation>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3236"/>
+ <source>Add project</source>
+ <translation>Projekt hinzufügen</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="60"/>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="74"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="61"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="75"/>
<source>Search Raster mode in configuration file</source>
<translation>Suche Rastermodus in Konfigurationsdatei</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="274"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="275"/>
<source>All suported file (</source>
<translation>Unterstützte Dateien (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="281"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="282"/>
<source>Image file (</source>
<translation>Bilddateien (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="287"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="288"/>
<source>Video file (</source>
<translation>Videodateien (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="293"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="294"/>
<source>Music file (</source>
<translation>Musikdateien (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="461"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="387"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="464"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="388"/>
<source>Read configuration file</source>
<translation>Lesen der Konfigurationsdatei</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="649"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1815"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1409"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="588"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1707"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1459"/>
<source>This application support only audio track with unsigned 8 bits or signed 16 bits sample format</source>
<comment>Error message</comment>
<translation>Diese Anwendung unterstützt nur Audiospuren mit unsigniertem 8-Bit oder signiertem 16-Bit Sample Format</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="653"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1819"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1417"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="592"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1467"/>
<source>This application support only mono or stereo audio track</source>
<comment>Error message</comment>
<translation>Dieses Programm unterstützt nur Mono und Stereo Audiospuren</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="659"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1943"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1399"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1445"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1458"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1508"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1514"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1521"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1530"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1398"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1410"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1418"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1497"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="598"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1832"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1602"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1648"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1653"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1661"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1717"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1724"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1733"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1448"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1460"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1468"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1547"/>
<source>Error</source>
<comment>Error message</comment>
<translation>Fehlermeldung</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="463"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="397"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="466"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="398"/>
<source>Error reading configuration file</source>
<comment>Error message</comment>
<translation>Fehler beim lesen der Konfigurationsdatei</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="468"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="402"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="471"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="403"/>
<source>Error reading content of configuration file</source>
<comment>Error message</comment>
<translation>Fehler beim lesen des Inhaltes der Konfigurationsdatei</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="475"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="409"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="478"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="410"/>
<source>The file is not a valid configuration file</source>
<comment>Error message</comment>
<translation>Diese Datei ist keine gültige Konfigurationsdatei </translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="642"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="456"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="645"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="457"/>
<source>Error creating configuration file</source>
<comment>Error message</comment>
<translation>Fehler beim erstellen der Konfigurationsdatei</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="857"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1052"/>
<source>Title</source>
<comment>Default slide name when no file</comment>
<translation>Titel</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1202"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1239"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1252"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1289"/>
<source>Saving project file ...</source>
<translation>Speichern Projektdatei ...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1399"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1400"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1602"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1603"/>
<source>Error creating data file</source>
<comment>Error message</comment>
<translation>Fehler beim Erzeugen der Datei </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1421"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1624"/>
<source>Open project file</source>
<translation>Projekt öffnen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1422"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1625"/>
<source>Impossible to open file </source>
<translation>Öffnen der Datei nicht möglich </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1422"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1625"/>
<source>Do you want to select another file ?</source>
<translation>Möchten Sie eine andere Datei auswählen ?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1425"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1628"/>
<source>Select another file for </source>
<translation>Andere Datei wählen für</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1434"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1637"/>
<source>Impossible to open project file %1</source>
<translation>Öffnen der Projektdatei %1 nicht möglich</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1444"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1508"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1509"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1647"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1712"/>
<source>Error reading project file</source>
<comment>Error message</comment>
<translation>Fehler beim lesen der Projektdatei</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1451"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1514"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1515"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1653"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1654"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1717"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1718"/>
<source>Error reading content of project file</source>
<comment>Error message</comment>
<translation>Fehler beim lesen des Inhaltes der Projektdatei</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1458"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1459"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1521"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1522"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1661"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1662"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1724"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1725"/>
<source>The file is not a valid project file</source>
<comment>Error message</comment>
<translation>Diese Datei ist keine kültige Projektdatei</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1530"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1531"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1733"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1734"/>
<source>Impossible to import this file :
Image geometry in this file is not the same than the current project</source>
<comment>Error message</comment>
@@ -4387,133 +4878,108 @@ Bildgeometrie des Bildes entspricht nicht der des aktuellen Projektes</translati
<translation>Starten SDL...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="109"/>
- <source>Starting ffmpeg...</source>
- <translation>Starten ffmpeg...</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="118"/>
- <source>Registered video codecs for encoding :</source>
- <translation>Registrieren der Videocodes :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="120"/>
- <source>Registered audio codecs for encoding :</source>
- <translation>Registrieren der Audiocodecs :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="122"/>
- <source>Registered container formats for encoding :</source>
- <translation>Registrieren Containerformate :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="124"/>
- <source> Device registered for rendering</source>
- <translation>Gerät für Umwandlung registriert</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="126"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="117"/>
<source>Library :</source>
<translation>Bibliothek :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="128"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="119"/>
<source>Loading background library...</source>
<translation>Laden der Bibliothek für die Hintergründe...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="129"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="120"/>
<source> images loaded into the background-library from </source>
<translation>Bilder in die Hintergrundbibliothek geladen von </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="130"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="121"/>
<source>Loading no-luma transitions...</source>
<translation>Laden der einfachen Überblendungen... </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="136"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="127"/>
<source> no-luma transitions loaded into the transition-library</source>
<translation>Einfache Überblendungen sind geladen in die Bibliothek der Überblendungen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="137"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="128"/>
<source>Loading luma transitions...</source>
<translation>Laden der Luma-Überblendungen...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="138"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="139"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="140"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="141"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="142"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="143"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="129"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="130"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="131"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="132"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="133"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="134"/>
<source> luma transitions loaded into the transition-library from </source>
<translation>Luma-Überblendungen wurden in die Bibliothek der Überblendungen geladen von</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="144"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="135"/>
<source> Total:</source>
<translation> Total:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="144"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="135"/>
<source> transitions loaded into the transition-library</source>
<translation>Überblendungen in die Bibliothek geladen </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="234"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="496"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="265"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="538"/>
<source>Slide : </source>
<translation>Dia: </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="357"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="388"/>
<source>Close application</source>
<translation>Beenden</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="357"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="388"/>
<source>Want to save the project before closing?</source>
<translation>Möchten Sie die Änderungen des Projekt vorher speichern?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="432"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="463"/>
<source>A new ffDiaporama release is available from WEB site. Please update from http://ffdiaporama.tuxfamily.org !</source>
<translation>Eine neue Version von ffDiaporama ist auf der Homepage verfügbar. Bitte das Update von http://ffdiaporama.tuxfamily.org einspielen !</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="534"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="582"/>
<source>Configuration not correct!</source>
<translation>Konfiguration ist nicht korrekt!</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="858"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="907"/>
<source><html><body>Visit the ffDiaporama Web site to use the forum,<br>consult tutorials and learn the lastest news:<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html></source>
<translation><html><body>Besuchen Sie das Forum von ffDiaporama auf unserer Webseite.<br>Dort finden Sie weitere Informationen und Neuigkeiten rund um ffDiaporama:<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1002"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1051"/>
<source>Saving configuration file and applying new configuration ...</source>
<translation>Speichern und Anwenden der neuen Konfiguration ...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1038"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1090"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1112"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1087"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1139"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1161"/>
<source>Current project has been modified.
Do you want to save-it ?</source>
<translation>Aktuelles Projekt wurde geändert
Möchten Sie es speichern ?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1431"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1481"/>
<source>This video files contains more than one chapter.
Do you want to create one slide for each chapters ?</source>
<translation>Die Videodatei enthält mehr als ein Kapitel. Möchten sie ein Dia pro Kapitel erstellen ?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="506"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="548"/>
<source><new project></source>
<comment>when project have no name define</comment>
<translation><Neues Projekt></translation>
@@ -4524,89 +4990,101 @@ Do you want to create one slide for each chapters ?</source>
<translation>Laden der Systemsymbole...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="849"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="109"/>
+ <source>Starting libav...</source>
+ <translation>libav starten ...</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="898"/>
<source><html><body>Select a project to open or to create a new project<br>To discover ffDiaporama:<br><a href="%1">Consult the WIKI</a></body></html></source>
<translation><html><body>Wählen Sie ein bestehendes Projekt über <b><i>Öffne Projekt</i></b>, oder erstellen Sie ein neues Projekt über <b><I>Neues Projekt</i></b> <br>Um mehr über ffDiaporama zu erfahren::<br><a href="%1">Besuchen Sie die WIKI</a></body></html></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="852"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="901"/>
<source><html><body>Add empty slides or slides based on photos or videos<br>To discover how to build your slide show and to animate slides:<br><a href="%1">Discover the principles of functioning of ffDiaporama</a></body></html></source>
<translation><html><body>Fügen Sie leere Dias, oder bestehende Dias aus Fotos und Videos, zur Zeitleiste hinzu<br>Um zu erfahren wie Sie animierte Diashows erzeugen können:<br><a href="%1">Lesen Sie das Kapitel <I>Wie ffDiaporama arbeitet</i> in unserer WIKI</a></body></html></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="855"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="904"/>
<source><html><body>Select the equipment type that you plan to use for your video<br>To discover how to render videos:<br><a href="%1">Consult the rendering videos WIKI page</a></body></html></source>
<translation><html><body>Wählen Sie den Gerätetype für den Sie Ihr Video erstellen möchten<br>Um zu erfahren wie Videos zu erstellen sind:<br><a href="%1">Lesen Sie das Kapitel <b></i>Videos erstellen</i></b> in unserer WIKI</a></body></html></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1038"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1087"/>
<source>New project</source>
<translation>Projekt neu anlegen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1090"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1112"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1115"/>
<location filename="../src/ffDiaporama/mainwindow.cpp" line="1139"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1161"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1164"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1188"/>
<source>Open project</source>
<translation>Projekt öffnen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1094"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1117"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1126"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1143"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1166"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1175"/>
<source>Open file :</source>
<translation>Datei öffnen: </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1140"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1189"/>
<source>This project was created with a newer version of ffDiaporama.
If you continue, you take the risk of losing data!
Do you want to open it nevertheless?</source>
<translation>Dieses Projekt wurde mit einer aktuelleren Programmversion von ffDiaporama bearbeitet. Wenn Sie fortfahren riskieren Sie Datenverluste! Möchten Sie das Projekt dennoch öffnen?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1228"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1278"/>
<source>Save project as</source>
<translation>Projekt sichern als</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1308"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3221"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1358"/>
<source>Add files</source>
<translation>Dateien hinzufügen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="641"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1773"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1389"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="580"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1665"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1439"/>
<source>Format not supported</source>
<comment>Error message</comment>
<translation>Format nicht unterstützt</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1649"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
<source>Add a sub project</source>
<translation>Hinzufügen eines Unterprojektes</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1660"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1710"/>
<source>Add project file :</source>
<translation>Hinzufügen Projektdatei :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1740"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1745"/>
+ <source>Capture the image </source>
+ <translation>Bild speichern</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1837"/>
<source>Remove slide</source>
<translation>Dia löschen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1837"/>
<source>Are you sure to want to delete this slide?</source>
<translation>Sicher dass Sie dieses Dia löschen wollen ?</translation>
</message>
<message>
<location filename="../src/ffDiaporama/cCustomTableWidget.cpp" line="80"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1348"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1628"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1398"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1678"/>
<source>Add file to project :</source>
<translation>Datei zum Projekt hinzufügen:</translation>
</message>
@@ -4635,29 +5113,59 @@ Do you want to open it nevertheless?</source>
<source>Applying sharpen filter</source>
<translation>Anwenden Schärfefilter</translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.cpp" line="156"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1751"/>
+ <source>Capture image</source>
+ <translation>Bild speichern</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.cpp" line="157"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1752"/>
+ <source>Select destination file</source>
+ <translation>wähle Zieldatei</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="64"/>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="116"/>
+ <source>Error during startup</source>
+ <translation>Fehler beim starten</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="65"/>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="117"/>
+ <source>Error during initialisation of sound system. Check your configuration and try again</source>
+ <translation>Fehler beim initialisieren des Soundsystems. Überprüfen Sie die Konfigration und versuchen Sie es noch einmal</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="531"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="562"/>
+ <source>ffDiaporama initialisation</source>
+ <translation>ffDiaporama initialisieren</translation>
+ </message>
</context>
<context>
<name>QCustomFolderTree</name>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="99"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
<source>Kb</source>
<comment>Unit Kb</comment>
<translation>Kb</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
<source>Mb</source>
<comment>Unit Mb</comment>
<translation>Mb</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
<source>Gb</source>
<comment>Unit Gb</comment>
<translation>Gb</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="103"/>
<source>Tb</source>
<comment>Unit Tb</comment>
<translation>Tb</translation>
@@ -4725,37 +5233,19 @@ Do you want to open it nevertheless?</source>
<translation>Bild hat keine EXIF Metadaten %1</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1099"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1143"/>
- <source>Impossible to start exiv2 - no exif informations will be decode for %1</source>
- <translation>Exiv2 konnte nicht gestartet werden - Es wird keine Exif Information für %1 dekodiert</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1104"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1148"/>
- <source>Error during exiv2 process - no exif informations will be decode for %1</source>
- <translation>Fehler beim verarbeiten vom Exiv2-Prozess - Es wird keine Exif Information für %1 dekodiert</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1108"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1152"/>
- <source>exiv2 return error %1 - no exif informations will be decode for %2</source>
- <translation>Exiv2 meldet den Fehler %1 - Es wird keine Exif Information für %2 dekodiert</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1647"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1627"/>
<source>Video</source>
<comment>File type</comment>
<translation>Video</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1646"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1626"/>
<source>Music</source>
<comment>File type</comment>
<translation>Musik</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1491"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1479"/>
<source>Mono</source>
<comment>Audio channels mode</comment>
<translation>Mono</translation>
@@ -4782,7 +5272,25 @@ Do you want to open it nevertheless?</source>
<translation>ffDiaporama</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1492"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1099"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1143"/>
+ <source>Impossible to start exiv2 - no exif information will be decode for %1</source>
+ <translation>Exiv2 konnte nicht gestartet werden - es werden keine exif Informationen für %1 erzeugt </translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1104"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1148"/>
+ <source>Error during exiv2 process - no exif information will be decode for %1</source>
+ <translation>Fehler während exiv2 Ausführung - es werden keine exif Informationen für %1 erzeugt</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1108"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1152"/>
+ <source>exiv2 return error %1 - no exif information will be decode for %2</source>
+ <translation>Exiv2 meldete den Fehler %1 - es werden keine exif Informationen für %2 erzeugt</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1480"/>
<source>Stereo</source>
<comment>Audio channels mode</comment>
<translation>Stereo</translation>
@@ -4794,7 +5302,7 @@ Do you want to open it nevertheless?</source>
<translation>Ordner</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1430"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1480"/>
<source>Add video file</source>
<translation>Videoclip hinzufügen</translation>
</message>
@@ -4802,98 +5310,98 @@ Do you want to open it nevertheless?</source>
<context>
<name>cDeviceModelList</name>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="504"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
<source>Advanced</source>
<comment>Device database type</comment>
<translation>Erweitert</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
<source>Smartphone</source>
<comment>Device database type</comment>
<translation>Smartphone</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
<source>Multimedia system</source>
<comment>Device database type</comment>
<translation>Multimediasystem</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
<source>For the WEB</source>
<comment>Device database type</comment>
<translation>Für das Web</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
<source>Lossless</source>
<comment>Device database type</comment>
<translation>Verlustfrei</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
<source>Portable Player</source>
<comment>Device database type</comment>
<translation>Portable Player</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
<source>Netbook/NetPC</source>
<comment>Device database type</comment>
<translation>Netbook/NetPC</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
<source>Handheld game console</source>
<comment>Device database type</comment>
<translation>Handheld Spielkonsole</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
<source>Tablet computer</source>
<comment>Device database type</comment>
<translation>Tablet Computer</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
<source>Multimedia hard drive and gateway</source>
<comment>Device database type</comment>
<translation>Multimediaharddisk</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
<source>Player</source>
<comment>Device database type</comment>
<translation>Player</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
<source>ADSL Box</source>
<comment>Device database type</comment>
<translation>ADSL Box</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
<source>Game console</source>
<comment>Device database type</comment>
<translation>Spielkonsole</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
<source>SWF Flash Player</source>
<comment>Device database type</comment>
<translation>SWF Flash Player</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
<source>Video-sharing and social WebSite</source>
<comment>Device database type</comment>
<translation>Videosharing und soziale Plattformen</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="521"/>
<source>HTML 5</source>
<comment>Device database type</comment>
<translation>HTML 5</translation>
@@ -4902,34 +5410,34 @@ Do you want to open it nevertheless?</source>
<context>
<name>wgt_QImageFilterTransform</name>
<message>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="558"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="608"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="630"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="651"/>
- <source>Gray</source>
- <translation>Grau</translation>
- </message>
- <message>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="559"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="609"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="631"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="652"/>
- <source>Equalize</source>
- <translation>Angleichen</translation>
+ <source>Gray</source>
+ <translation>Grau</translation>
</message>
<message>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="560"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="610"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="632"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="653"/>
- <source>Despeckle</source>
- <translation>Flecken entfernen</translation>
+ <source>Equalize</source>
+ <translation>Angleichen</translation>
</message>
<message>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="561"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="611"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="633"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="654"/>
+ <source>Despeckle</source>
+ <translation>Flecken entfernen</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="562"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="612"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="634"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="655"/>
<source>No transformation</source>
<translation>Keine Transformation</translation>
</message>
@@ -4942,5 +5450,11 @@ Do you want to open it nevertheless?</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation>Zum Start klicken. Erneut klicken zum anhalten des Videos</translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/wgt_QVideoPlayer.ui" line="361"/>
+ <source>Save this image of the movie</source>
+ <extracomment>Tooltip in dialog box</extracomment>
+ <translation>Speichern Sie dieses Bild als Titielbild für den Film</translation>
+ </message>
</context>
</TS>
diff --git a/locale/ffDiaporama_el.qm b/locale/ffDiaporama_el.qm
index f8101f7..d01b69f 100755
Binary files a/locale/ffDiaporama_el.qm and b/locale/ffDiaporama_el.qm differ
diff --git a/locale/ffDiaporama_el.ts b/locale/ffDiaporama_el.ts
index 841bcad..bb14cfa 100755
--- a/locale/ffDiaporama_el.ts
+++ b/locale/ffDiaporama_el.ts
@@ -29,11 +29,6 @@
<translation>Ευχαριστίες</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgAbout.ui" line="258"/>
- <source>This application was developped using Open Source version of Qt 4.7 SDK</source>
- <translation>Αυτό το πρόγραμμα αναπτύχθηκε χρησιμοποιώντας την έκδοση ανοιχτού λογισμικού της Qt 4.7 SDK</translation>
- </message>
- <message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="268"/>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="318"/>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="349"/>
@@ -45,9 +40,14 @@
<translation>Ιστοσελίδα & άδεια χρήσης:</translation>
</message>
<message>
+ <location filename="../src/ffDiaporama/DlgAbout.ui" line="258"/>
+ <source>This application was developed using Open Source version of Qt 4.8 SDK</source>
+ <translation type="unfinished">Αυτή η εφαρμογή αναπτύχθηκε χρησιμοποιώντας την ανοιχτού κώδικα έκδοση της Qt 4.7 SDK {4.8 ?}</translation>
+ </message>
+ <message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="305"/>
- <source>Video decoding and encoding engines are based on ffmpeg</source>
- <translation>Οι μηχανές κωδικοποίησης και αποκωδικοποίησης είναι βασισμένες στο ffmpeg</translation>
+ <source>Video decoding and encoding engines are based on libav</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="336"/>
@@ -86,7 +86,7 @@
</message>
<message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="665"/>
- <source>System informations</source>
+ <source>System information</source>
<translation>Πληροφορίες συστήματος</translation>
</message>
<message>
@@ -98,470 +98,470 @@
<context>
<name>DlgApplicationSettings</name>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="32"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="32"/>
<source>Application settings</source>
<translation>Ρυθμίσεις εφαρμογής</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2865"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2865"/>
<source>Project options (default values)</source>
<translation>Επιλογές έργου (προκαθορισμένες ρυθμίσεις)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="574"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="574"/>
<source>Project geometry:</source>
<translation>Γεωμετρία έργου:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="639"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="639"/>
<source>1st shot duration:</source>
<translation>Διάρκεια 1ου στιγμιότυπου:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="692"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="692"/>
<source>Next shot duration:</source>
<translation>Διάρκεια επόμενων στιγμιότυπων:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="745"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="745"/>
<source>Speed wave:</source>
<translation>Καμπύλη ταχύτητας:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="54"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="54"/>
<source>Application Options</source>
<translation>Επιλογές εφαρμογής</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="90"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="90"/>
<source>If this box is checked, the sizes and the positions of all the windows and dialogue box of ffDiaporama will be saved to be reused the next time which you will use ffDiaporama.</source>
<translation>Αν επιλέξετε αυτό το πλαίσιο, τα μεγέθη και οι θέσεις όλων των παραθύρων και διαλόγων του ffDiaporama θα αποθηκεύονται και θα χρησιμοποιούνται την επόμενη φορά που θα χρησιμοποιήσετε το ffDiaporama.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="93"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="93"/>
<source>Remember Windows size and positions</source>
<translation>Απομνημόνευση της θέσης και του μεγέθους των παραθύρων</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="100"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="100"/>
<source>If this box is checked, the directories that you use for the images, the videos, the projects, the musics and the generations of movie will be saved to be reused the next time which you will use ffDiaporama.</source>
<translation>Αν επιλέξετε αυτό το πλαίσιο, οι κατάλογοι που χρησιμοποιείτε για τις εικόνες, τα βίντεο, τα έργα, την μουσική, και τις δημιουργίες των έργων θα αποθηκεύονται για να επαναχρησιμοποιηθούν την επόμενη φορά που θα χρησιμοποιήσετε το ffDiaporama.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="103"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="103"/>
<source>Remember last used folders</source>
<translation>Απομνημόνευση των τελευταία χρησιμοποιημένων φακέλων</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="117"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="117"/>
<source>Application options</source>
<translation>Επιλογές εφαρμογής</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="143"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="143"/>
<source>Preview options</source>
<translation>Επιλογές προεπισκόπησης</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="153"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="153"/>
<source>Frame rate :</source>
<translation>Ρυθμός καρέ:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="171"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="171"/>
<source>Defined the number of images by seconds which will be generated to show the preview.</source>
<translation>Καθορίζει τον αριθμό των εικόνων ανά δευτερόλεπτο που θα δημιουργηθούν για την εμφάνιση της προεπισκόπησης.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="209"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="209"/>
<source>fps (Reduce this value for slow computer)</source>
<translation>fps (Αν έχετε αργό σύστημα μειώστε αυτήν την τιμή)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="218"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="218"/>
<source>Image transformation :</source>
<translation>Μετασχηματισμός εικόνας:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="228"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="228"/>
<source>If this box is checked, The effects of transformations will be applied to the images of videos during the preview.</source>
<translation>Αν αυτό το πλαίσιο είναι ενεργοποιημένο, τα εφέ μετασχηματισμού θα εφαρμόζονται στις εικόνες των βίντεο κατά την προεπισκόπηση.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="231"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="231"/>
<source>Apply to video during preview</source>
<translation>Εφαρμογή στο βίντεο κατά την προεπισκόπηση</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="257"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="257"/>
<source>Editor options (when adding objects)</source>
<translation>Επιλογές επεξεργαστή (κατά την προσθήκη αντικειμένων)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="267"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="267"/>
<source>Object position :</source>
<translation>Θέση αντικειμένου:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="280"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="280"/>
<source>Define the position which occupy the new objects in the timeline during the insertions</source>
<translation>Καθορίζει την θέση που καταλαμβάνουν τα νέα αντικείμενα στο χρονοδιάγραμμα κατά την εισαγωγή</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="284"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="284"/>
<source>Insert after current object</source>
<translation>Εισαγωγή μετά από το τρέχον αντικείμενο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="289"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="289"/>
<source>Append at project end</source>
<translation>Προσάρτηση στο τέλος του έργου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="297"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="297"/>
<source>Multiple file insertion :</source>
<translation>Πολλαπλή εισαγωγή αρχείων:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="307"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="307"/>
<source>Adjust the way will be sorted out files when you select several files in Add file.</source>
<translation>Προσαρμόζει τον τρόπο που θα ταξινομούνται τα αρχεία όταν επιλέγετε πολλά αρχεία από το Προσθήκη αρχείου.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="310"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="310"/>
<source>Sort file by last number</source>
<translation>Ταξινόμηση κατά τελευταίου αριθμού</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="822"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="822"/>
<source>Defined the transition to be inserted between slides during the insertions:
Chosen randomly a transition in the library</source>
<translation>Καθορίζει την μετάβαση που θα εισαχθεί μεταξύ των διαφανειών κατά την εισαγωγή:
Τυχαία επιλογή μετάβασης από την βιβλιοθήκη</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="833"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="857"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="881"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="833"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="857"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="881"/>
<source>TransitionButtons</source>
<translation>Κουμπιά μετάβασης</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="846"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="846"/>
<source>Defined the transition to be inserted between slides during the insertions:
No transition</source>
<translation>Καθορίζει την μετάβαση που θα εισαχθεί μεταξύ των διαφανειών κατά την εισαγωγή:
Καμία μετάβαση</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="870"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="870"/>
<source>Defined the transition to be inserted between slides during the insertions:
Crossfade transition</source>
<translation>Καθορίζει την μετάβαση που θα εισαχθεί μεταξύ των διαφανειών κατά την εισαγωγή:
Ομαλή μετάβαση</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="906"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="906"/>
<source>Define the transition duration</source>
<translation>Καθορίστε την διάρκεια της μετάβασης</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="670"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="723"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="953"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="670"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="723"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="953"/>
<source>sec</source>
<translation>sec</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="330"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="330"/>
<source>If this box is checked, a confirmation will display every time you remove an object</source>
<translation>Αν αυτό το πλαίσιο είναι επιλεγμένο, θα απαιτείται επιβεβαίωση κάθε φορά που αφαιρείτε ένα αντικείμενο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="333"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="333"/>
<source>Ask user confirmation to remove slide, object or shot</source>
<translation>Αίτηση επιβεβαίωσης από τον χρήστη για την αφαίρεση διαφανειών, αντικειμένων, ή στιγμιοτύπων</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="340"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="340"/>
<source>Object deletion :</source>
<translation>Διαγραφή αντικειμένου:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="350"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="350"/>
<source>Coordinates unit :</source>
<translation>Μονάδα συντεταγμένων:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="360"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="360"/>
<source>Select the unit of the coordinates which will be used in properties dialog box</source>
<translation>Επιλέξτε την μονάδα των συντεταγμένων που θα χρησιμοποιείται στο πλαίσιο διαλόγου των ιδιοτήτων</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="364"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="364"/>
<source>Percent</source>
<translation>Τοις εκατό</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="369"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="369"/>
<source>Pixel</source>
<translation>Εικονοστοιχείο (pixel)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="377"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="377"/>
<source>Enable "raster" Graphics System (Need application restart)</source>
<translation>Ενεργοποίηση του γραφικού συστήματος «raster» (Απαιτείται επανεκκίνηση της εφαρμογής)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="503"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="503"/>
<source>Automatically crop 1920x1088 video to 1920x1080</source>
<translation>Αυτόματη περικοπή βίντεο 1920x1088 σε 1920x1080</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="418"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="418"/>
<source>SDL Audio use old mode</source>
<translation>Χρήση της παλιά λειτουργίας του SDL Audio</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="438"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="438"/>
<source>256 Mb</source>
<translation>256 Mb</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="443"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="443"/>
<source>512 Mb</source>
<translation>512 Mb</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="448"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="448"/>
<source>1 Gb</source>
<translation>1 Gb</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="453"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="453"/>
<source>2 Gb</source>
<translation>2 Gb</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="427"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="427"/>
<source>Memory profil :</source>
<translation>Προφίλ μνήμης:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="384"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="384"/>
<source>Image smoothing :</source>
<translation>Εξομάλυνση:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="394"/>
<source>Smooth image during preview</source>
<translation>Ενεργοποίηση της εξομάλυνσης των εικόνων στην προεπισκόπηση</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="401"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="401"/>
<source>Use quick resampler during preview</source>
<translation>Χρήση γρήγορης αναδειγματοληψίας κατά την προεπισκόπηση</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="408"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="408"/>
<source>Audio resampling :</source>
<translation>Αναδειγματοληψία ήχου:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="476"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="476"/>
<source>Transformed image :</source>
<translation>Μετασχηματισμένη εικόνα:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="486"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="486"/>
<source>Create cache file (with _ffd suffix) for transformed images</source>
<translation>Δημιουργία προσωρινού αρχείου (με κατάληξη _ffd) για τις μετασχηματισμένες εικόνες</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="493"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="493"/>
<source>Video :</source>
<translation>Βίντεο:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="515"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="515"/>
<source>Project Options</source>
<translation>Επιλογές έργου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="564"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="564"/>
<source>Project properties (default values)</source>
<translation>Ιδιότητες έργου (προκαθορισμένες ρυθμίσεις)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="592"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="592"/>
<source>Select the geometry of image to be used for the creation of the projects.</source>
<translation>Επιλέξτε την γεωμετρία της εικόνας που θα χρησιμοποιείται για την δημιουργία των έργων.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="599"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="599"/>
<source>Old TV (4:3)</source>
<translation>Παλιά TV (4:3)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="604"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="604"/>
<source>TV Wide (16:9)</source>
<translation>TV Wide (16:9)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="609"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="609"/>
<source>Cinema (2.35:1)</source>
<translation>Σινεμά (2.35:1)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="617"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="617"/>
<source>(Only for new project)</source>
<translation>(Μόνο για νέο έργο)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="657"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="657"/>
<source>Defined the default duration of the first shot of slides during their creation.</source>
<translation>Καθορίζει την προκαθορισμένη διάρκεια του πρώτου στιγμιότυπου των διαφανειών κατά την δημιουργία τους.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="710"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="710"/>
<source>Defined the default duration of next shots.</source>
<translation>Καθορίζει την προκαθορισμένη διάρκεια των επόμενων στιγμιοτύπων.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="763"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="763"/>
<source>Defined the curve of speed to be used for the transitions and the animations.</source>
<translation>Καθορίζει την καμπύλη της ταχύτητας που θα χρησιμοποιείται για τις μεταβάσεις και τα εφέ.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="770"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="770"/>
<source>Linear</source>
<translation>Γραμμική</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="775"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="775"/>
<source>Quarter sine</source>
<translation>Τέταρτο ημιτονίου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="798"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="798"/>
<source>Default transition:</source>
<translation>Προκαθορισμένη μετάβαση:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="994"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="994"/>
<source>Default options for new text block</source>
<translation>Προκαθορισμένες επιλογές για το επόμενο νέο τμήμα κειμένου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1010"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1010"/>
<source>Text</source>
<translation>Κείμενο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1026"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1026"/>
<source>Background</source>
<translation>Φόντο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1061"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1061"/>
<source>Default options for new image or video block (when adding block in slide dialog)</source>
<translation>Προκαθορισμένες επιλογές για νέο τμήμα εικόνας ή βίντεο (κατά την προσθήκη ενός τμήματος στο παράθυρο της διαφάνειας)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1079"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1223"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1441"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1502"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1563"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1624"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1685"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1814"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1875"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1936"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2233"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2294"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2355"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2416"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2477"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2538"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2599"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2660"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2721"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1079"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1223"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1441"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1502"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1563"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1624"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1685"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1814"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1875"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1936"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2233"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2294"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2355"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2416"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2477"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2538"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2599"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2660"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2721"/>
<source>For 4:3 project:</source>
<translation>Για έργο 4:3:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1096"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1230"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1448"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1509"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1570"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1631"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1692"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1821"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1882"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1943"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2240"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2301"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2362"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2423"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2484"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2545"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2606"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2667"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2728"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1096"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1230"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1448"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1509"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1570"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1631"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1692"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1821"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1882"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1943"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2240"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2301"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2362"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2423"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2484"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2545"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2606"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2667"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2728"/>
<source>For 16:9 project:</source>
<translation>Για έργο 16:9:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1103"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1237"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1455"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1516"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1577"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1638"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1699"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1828"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1889"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1950"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2247"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2308"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2369"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2430"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2491"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2552"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2613"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2674"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2735"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1103"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1237"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1455"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1516"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1577"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1638"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1699"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1828"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1889"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1950"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2247"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2308"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2369"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2430"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2491"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2552"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2613"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2674"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2735"/>
<source>For cinema project:</source>
<translation>Για έργο σινεμά:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1138"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1138"/>
<source>Coordinates</source>
<translation>Συντεταγμένες</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1167"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1167"/>
<source>Default options for new image or video block (when creating slide)</source>
<translation>Προκαθορισμένες επιλογές για νέο τμήμα εικόνας ή βίντεο (κατά την δημιουργία της διαφάνειας)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1183"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2810"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1183"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2810"/>
<source>Text style</source>
<translation>Στυλ κειμένου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1202"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1282"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2829"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1202"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1282"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2829"/>
<source>Shape</source>
<translation>Σχήμα</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1301"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2025"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1301"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2025"/>
<source>Coordinates
for 3:2
image in
@@ -574,8 +574,8 @@ mode</source>
τοπίου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1324"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2048"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1324"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2048"/>
<source>Coordinates
for 3:2
image in
@@ -588,8 +588,8 @@ mode</source>
πορτρέτο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1347"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2071"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1347"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2071"/>
<source>Coordinates
for 4:3
image in
@@ -602,8 +602,8 @@ mode</source>
τοπίου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1370"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2094"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1370"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2094"/>
<source>Coordinates
for 4:3
image in
@@ -616,8 +616,8 @@ mode</source>
πορτρέτο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1393"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2117"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1393"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2117"/>
<source>Coordinates
for 16:9
image in
@@ -630,8 +630,8 @@ mode</source>
τοπίου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1416"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2140"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1416"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2140"/>
<source>Coordinates
for 16:9
image in
@@ -644,8 +644,8 @@ mode</source>
πορτρέτο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1744"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2163"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1744"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2163"/>
<source>Coordinates
for cinema
image in
@@ -658,8 +658,8 @@ mode</source>
τοπίου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1767"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2186"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1767"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2186"/>
<source>Coordinates
for cinema
image in
@@ -672,8 +672,8 @@ mode</source>
πορτρέτο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1790"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2209"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1790"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2209"/>
<source>Coordinates
for
nonstandard
@@ -684,283 +684,283 @@ image</source>
εικόνα</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2842"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2842"/>
<source>Title :</source>
<translation>Τίτλος:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2875"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2875"/>
<source>Author :</source>
<translation>Συγγραφέας:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2893"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2893"/>
<source>No automatic filling</source>
<translation>Χωρίς αυτόματη συμπλήρωση</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2898"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2898"/>
<source>Fill with project name when project save (if not yet defined)</source>
- <translation>Συμπλήρωση με το όνομα του έργου κατά την αποθήκευση (αν δεν εχει άκόμα οριστεί)</translation>
+ <translation>Συμπλήρωση με το όνομα του έργου κατά την αποθήκευση (αν δεν έχει οριστεί ακόμα)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2903"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2903"/>
<source>Fill with project folder name when project save (if not yet defined)</source>
- <translation>Συμπλήρωση με το όνομα του φακέλου του έργου κατά την αποθήκευση (αν δεν εχει άκόμα οριστεί)</translation>
+ <translation>Συμπλήρωση με το όνομα του φακέλου του έργου κατά την αποθήκευση (αν δεν έχει οριστεί ακόμα)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2911"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2911"/>
<source>Default language :</source>
<translation>Προκαθορισμένη γλώσσα:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2944"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2944"/>
<source>und</source>
<translation>und</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2954"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2954"/>
<source>(ISO 639 language code)</source>
<translation>(Κωδικός γλώσσας ISO 639)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2968"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2968"/>
<source>Rendering Options</source>
<translation>Επιλογές αποτύπωσης</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3036"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3036"/>
<source>Default advanced rendering options</source>
<translation>Προχωρημένες επιλογές αποτύπωσης από προεπιλογή</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3263"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3263"/>
<source>Video standard :</source>
<translation>Πρότυπο βίντεο:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3386"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3386"/>
<source>Use title project as video name</source>
<translation>Χρήση του ονόματος του έργου για το όνομα του βίντεο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3407"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3407"/>
<source>Lossless :</source>
<translation>Χωρίς απώλειες:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3464"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3464"/>
<source>Manage Devices</source>
<translation>Διαχείριση συσκευών</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3043"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3043"/>
<source>Video codec :</source>
<translation>Κωδικοποιητής βίντεο:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3056"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3056"/>
<source>File format :</source>
<translation>Μορφή αρχείου:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3322"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3322"/>
<source>Format :</source>
<translation>Μορφή:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3341"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3423"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3341"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3423"/>
<source>Select the default image format to use for the rendering among the proposed list. </source>
<translation>Επιλέξτε την προκαθορισμένη μορφή εικόνας για την αποτύπωση από την λίστα.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3284"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3284"/>
<source>Select the default video standard to use, PAL or NTSC.</source>
<translation>Επιλέξτε το προκαθορισμένο πρότυπο βίντεο PAL ή NTSC.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3288"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3288"/>
<source>PAL</source>
<translation>PAL</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3293"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3293"/>
<source>NTSC</source>
<translation>NTSC</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3075"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3146"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3075"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3146"/>
<source>Bit rate :</source>
<translation>Ρυθμός bit:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3100"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3100"/>
<source>Select the default bit rate to use for video during the rendering among the proposed list. </source>
<translation>Επιλέξτε τον προκαθορισμένο ρυθμό bit βίντεο κατά την αποτύπωση από την λίστα.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3113"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3113"/>
<source>Select the default video codec to use for the rendering among the proposed list. </source>
<translation>Επιλέξτε τον προκαθορισμένο κωδικοποιητή βίντεο για την αποτύπωση από την λίστα.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3120"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3120"/>
<source>Select the default audio codec to use for the rendering among the proposed list. </source>
<translation>Επιλέξτε τον προκαθορισμένο κωδικοποιητή ήχου για την αποτύπωση από την λίστα.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3127"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3127"/>
<source>Audio codec :</source>
<translation>Κωδικοποιητής ήχου:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3171"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3171"/>
<source>Select the default bit rate to use for audio during the rendering among the proposed list. </source>
<translation>Επιλέξτε τον προκαθορισμένο ρυθμό bit ήχου κατά την αποτύπωση από την λίστα.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3368"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3368"/>
<source>Default device mode rendering options</source>
<translation>Προκαθορισμένες επιλογές αποτύπωσης ανά λειτουργία συσκευής</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3178"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3178"/>
<source>Smartphone :</source>
<translation>Smartphone:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3188"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3188"/>
<source>Multimedia system :</source>
<translation>Σύστημα πολυμέσων:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3198"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3198"/>
<source>For the WEB :</source>
<translation>Για το διαδίκτυο:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3208"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3208"/>
<source>Select the type of equipment which will be proposed by default when you will click the "Player and Smartphone" button of the "Render movie" menu</source>
<translation>Επιλέγει τον τύπο της συσκευής ο οποίος θα προτείνεται από προεπιλογή όταν κάνετε κλικ στο κουμπί «Αναπαραγωγέας και Smartphone» από το μενού «Αποτύπωση ταινίας»</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3215"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3215"/>
<source>Select the type of equipment which will be proposed by default when you will click the "For the WEB" button of the "Render movie" menu</source>
<translation>Επιλέγει τον τύπο της συσκευής ο οποίος θα προτείνεται από προεπιλογή όταν κάνετε κλικ στο κουμπί «Για το διαδίκτυο» από το μενού «Αποτύπωση ταινίας»</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3222"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3222"/>
<source>Select the type of equipment which will be proposed by default when you will click the "Multimedia system" button of the "Render movie" menu</source>
<translation>Επιλέγει τον τύπο της συσκευής ο οποίος θα προτείνεται από προεπιλογή όταν κάνετε κλικ στο κουμπί «Σύστημα πολυμέσων» από το μενού «Αποτύπωση ταινίας»</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3256"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3256"/>
<source>Select the default file type to use for the rendering among the proposed list.</source>
<translation>Επιλέξτε τον προκαθορισμένο τύπο αποτύπωσης από την λίστα.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3229"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3229"/>
<source>Select the model of equipment which will be proposed by default when you will click the "Player and Smartphone" button of the "Render movie" menu</source>
<translation>Επιλέγει το μοντέλο της συσκευής το οποίο θα προτείνεται από προεπιλογή όταν κάνετε κλικ στο κουμπί «Αναπαραγωγέας και Smartphone» από το μενού «Αποτύπωση ταινίας»</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3236"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3236"/>
<source>Select the model of equipment which will be proposed by default when you will click the "Multimedia system" button of the "Render movie" menu</source>
<translation>Επιλέγει το μοντέλο της συσκευής το οποίο θα προτείνεται από προεπιλογή όταν κάνετε κλικ στο κουμπί «Σύστημα πολυμέσων» από το μενού «Αποτύπωση ταινίας»</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3243"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3243"/>
<source>Select the model of equipment which will be proposed by default when you will click the "For the WEB" button of the "Render movie" menu</source>
<translation>Επιλέγει το μοντέλο της συσκευής το οποίο θα προτείνεται από προεπιλογή όταν κάνετε κλικ στο κουμπί «Για το διαδίκτυο» από το μενού «Αποτύπωση ταινίας»</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3351"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3351"/>
<source>Default video name :</source>
<translation>Προκαθορισμένο όνομα βίντεο:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3381"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3381"/>
<source>Use project name as video name</source>
<translation>Χρήση του ονόματος του έργου για το όνομα του βίντεο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3376"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3376"/>
<source>Use project folder's name as video name</source>
<translation>Χρήση του ονόματος του φακέλου του έργου για το όνομα του βίντεο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3453"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3453"/>
<source>Check Configuration</source>
<translation>Έλεγχος της διαμόρφωσης</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3488"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3488"/>
<source>Accept modification and exit dialog box</source>
<translation>Αποδοχή των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3491"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3491"/>
<source>&Ok</source>
<translation>&Εντάξει</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3502"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3502"/>
<source>Cancel modification and exit dialog box</source>
<translation>Ακύρωση των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3505"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3505"/>
<source>&Cancel</source>
<translation>&Ακύρωση</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3516"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3516"/>
<source>Open help page describing this dialog box</source>
<translation>Άνοιγμα της σελίδας βοήθειας σχετικά με αυτό το πλαίσιο διαλόγου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3519"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3519"/>
<source>&Help</source>
<translation>&Βοήθεια</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3526"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3526"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="173"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="180"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="176"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="183"/>
<source>Lock to image geometry</source>
<translation>Κλείδωμα στη γεωμετρία της εικόνας</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="174"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="181"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="177"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="184"/>
<source>Lock to project geometry-to full image</source>
<translation>Κλείδωμα στη γεωμετρία του έργου-Προσαρμογή σε ολόκληρη την εικόνα</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="175"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="182"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="178"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="185"/>
<source>Lock to project geometry-to width</source>
<translation>Κλείδωμα στη γεωμετρία του έργο-Προσαρμογή στο πλάτος της εικόνας</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="176"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="183"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="179"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="186"/>
<source>Lock to project geometry-to height</source>
<translation>Κλείδωμα στη γεωμετρία του έργο-Προσαρμογή στο ύψος της εικόνας</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="361"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="364"/>
<source>Language selection</source>
<translation>Επιλογή γλώσσας</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="362"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="365"/>
<source>Language must be empty or an ISO 639 language code (3 characters)
See help for more details!</source>
<translation>Η γλώσσα θα πρέπει να είναι κενή ή ένας κωδικός γλώσσας ISO 639 (3 χαρακτήρες)
@@ -970,77 +970,92 @@ See help for more details!</source>
<context>
<name>DlgBackgroundProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="26"/>
<source>Background properties</source>
<translation>Ιδιότητες φόντου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="44"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="44"/>
<source>Same background as precedent object</source>
<translation>Ίδιοι φόντο με το προηγούμενο αντικείμενο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="57"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="57"/>
<source>Select a new background</source>
<translation>Επιλογή νέου φόντου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="261"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="261"/>
<source>Keep aspect ratio</source>
<translation>Διατήρηση αναλογίας διαστάσεων</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="224"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="224"/>
<source>Full filling (deform image)</source>
<translation>Γέμισμα (με παραμόρφωση)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="655"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="655"/>
<source>&Ok</source>
<translation>&Εντάξει</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="666"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="691"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Αναίρεση της τελευταίας ενέργειας (CTRL+Z)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="694"/>
+ <source>Undo</source>
+ <translation>Αναίρεση</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="701"/>
+ <source>Ctrl+Z</source>
+ <translation>Ctrl+Z</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="708"/>
<source>&Cancel</source>
<translation>&Ακύρωση</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="677"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="719"/>
<source>&Help</source>
<translation>&Βοήθεια</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="684"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="726"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="47"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="73"/>
<source>Solid brush</source>
<translation>Συμπαγές πινέλο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="49"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="75"/>
<source>Gradient 2 colors</source>
<translation>Διαβάθμιση 2 χρωμάτων</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="51"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="77"/>
<source>Gradient 3 colors</source>
<translation>Διαβάθμιση 3 χρωμάτων</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="53"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="79"/>
<source>Image from library</source>
<translation>Εικόνα από τη βιβλιοθήκη</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="55"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="81"/>
<source>Image from disk</source>
<translation>Εικόνα από ένα αρχείο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="305"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="310"/>
<source>Select a file</source>
<translation>Επιλέξτε ένα αρχείο</translation>
</message>
@@ -1083,124 +1098,124 @@ See help for more details!</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="63"/>
- <source>ffmpeg not found - critical - application will stop !</source>
- <translation>Το ffmpeg δεν βρέθηκε - κρίσιμο - η εφαρμογή θα τερμαστιστεί!</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="165"/>
- <source>ffmpeg Audio Codecs</source>
- <translation>Κωδικοποιητές ήχου ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="179"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="177"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="181"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="186"/>
<source>available</source>
<translation>διαθέσιμο</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="60"/>
- <source>Unable to determine ffmpeg version</source>
- <translation>Αδύνατος ο εντοπισμός της έκδοσης ffmpeg</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="67"/>
+ <source>Unable to determine %1 version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="70"/>
+ <source>%1 not found - critical - application will stop !</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="103"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="110"/>
<source>LibExiv2 version:</source>
<translation>Έκδοση LibExiv2:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="105"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="112"/>
<source>LibExiv2/Exiv2 binary version</source>
<translation>LibExiv2/Exiv2 εκτελέσιμη έκδοση</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="177"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="181"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="187"/>
<source>not available</source>
<translation>δεν είναι διαθέσιμο</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<source>LibExiv2 support for preview image</source>
<translation>Υποστήριξη LibExiv2 για εικόνες προεπισκόπησης</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="119"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
<source>TAGLib version:</source>
<translation>Έκδοση TAGLib:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<source>TAGLib support for FLAC</source>
<translation>Υποστήριξη TAGLib για FLAC</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
<source>TAGLib support for ASF/WMA</source>
<translation>Υποστήριξη TAGLib για ASF/WMA</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<source>TAGLib support for M4A/MP4</source>
<translation>Υποστήριξη TAGLib για M4A/MP4</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="149"/>
- <source>ffmpeg version:</source>
- <translation>Έκδοση ffmpeg:</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="156"/>
+ <source>encoder version:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="150"/>
- <source>LIBAVCODEC version:</source>
- <translation>Έκδοση LIBAVCODEC:</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
+ <source>LIBAV support for TAG and CHAPTERS</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="151"/>
- <source>LIBAVFORMAT version:</source>
- <translation>Έκδοση LIBAVFORMAT:</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="172"/>
+ <source>libav Audio Codecs</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="152"/>
- <source>LIBSWSCALE version:</source>
- <translation>Έκδοση LIBSWSCALE:</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="176"/>
+ <source>libav Video Codecs</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <source>ffmpeg support for TAG and CHAPTERS</source>
- <translation>Υποστήριξη ffmpeg για TAG και CHAPTERS</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <source>libav Container Formats</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="169"/>
- <source>ffmpeg Video Codecs</source>
- <translation>Κωδικοποιητές βίντεο ffmpeg</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="157"/>
+ <source>LIBAVCODEC version:</source>
+ <translation>Έκδοση LIBAVCODEC:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
- <source>ffmpeg Container Formats</source>
- <translation>Μορφές του αρχείου ffmpeg</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="158"/>
+ <source>LIBAVFORMAT version:</source>
+ <translation>Έκδοση LIBAVFORMAT:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="178"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <source>LIBSWSCALE version:</source>
+ <translation>Έκδοση LIBSWSCALE:</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="185"/>
<source>Lossless</source>
<translation>Χωρίς απώλειες</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="179"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="186"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="187"/>
<source>Lossless rendering</source>
<translation>Μη απωλεστική αποτύπωση</translation>
</message>
@@ -1208,298 +1223,329 @@ See help for more details!</source>
<context>
<name>DlgImageCorrection</name>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="26"/>
<source>Image framing and correction</source>
<translation>Πλαισίωση εικόνας και διόρθωση</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="158"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="161"/>
<source>Define the horizontal position from the left (X).</source>
<translation>Καθορίζει την οριζόντια θέση από τα αριστερά (X).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="223"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="226"/>
<source>Define the vertical position from the top of the image ( Y ).</source>
<translation>Καθορίζει την κάθετη θέση από την κορυφή της εικόνας (Y).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1735"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1738"/>
<source>Define automatically the framing to the width of the image.</source>
<translation>Καθορίζει αυτόματα την πλαισίωση στο πλάτος της εικόνας.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1755"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1758"/>
<source>Define automatically the framing to the height of the image.</source>
<translation>Καθορίζει αυτόματα την πλαισίωση στο ύψος της εικόνας.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1787"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1790"/>
<source>Define automatically the framing to the diagonal of the image.</source>
<translation>Καθορίζει αυτόματα την πλαισίωση διαγώνια της εικόνας.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="244"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="247"/>
<source>Define the width</source>
<translation>Καθορισμός του πλάτους</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="107"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="110"/>
<source>Properties for this shot</source>
<translation>Ιδιότητες για αυτό το στιγμιότυπο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="314"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="317"/>
<source>Define the height</source>
<translation>Καθορισμός του ύψους</translation>
</message>
<message utf8="true">
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1601"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1604"/>
<source>Turn the image to the left (on the multiple fellow man of 90°).</source>
<translation>Περιστροφή της εικόνας προς τα αριστερά (στο επόμενο πολλαπλάσιο των 90°).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1638"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1641"/>
<source>Define the rotation angle for z axis.</source>
<translation>Καθορίζει την γωνία περιστροφής για τον άξονα z.</translation>
</message>
<message utf8="true">
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1669"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1672"/>
<source>Turn the image to the right (on the multiple fellow man of 90°).</source>
<translation>Περιστροφή της εικόνας προς τα δεξιά (στο επόμενο πολλαπλάσιο των 90°).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="398"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="431"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="401"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="434"/>
<source>Adjust luminosity</source>
<translation>Ρύθμιση της φωτεινότητας</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="512"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="545"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="515"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="548"/>
<source>Adjust contrast</source>
<translation>Ρύθμιση της αντίθεσης</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="613"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="649"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="616"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="652"/>
<source>Adjust gamma</source>
<translation>Ρύθμιση του γάμμα</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="726"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="759"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="729"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="762"/>
<source>Adjust red chanel</source>
<translation>Ρύθμιση του καναλιού του κόκκινου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="833"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="866"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="836"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="869"/>
<source>Adjust green chanel</source>
<translation>Ρύθμιση του καναλιού του πράσινου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="940"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="973"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="943"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="976"/>
<source>Adjust blue chanel</source>
<translation>Ρύθμιση του καναλιού του μπλε</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="447"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="561"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="668"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="775"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="882"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="989"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1169"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="450"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="564"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="671"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="778"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="885"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="992"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1172"/>
<source>Reset to zero</source>
<translation>Επαναφορά στο μηδέν</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1028"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1031"/>
<source>Apply a filter to the photo or the images of the video</source>
<translation>Εφαρμόζει ένα φίλτρο στην φωτογραφία ή στις εικόνες του βίντεο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1107"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1238"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1283"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1110"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1241"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1286"/>
<source>Define a blur/sharpen filter to the photo</source>
<translation>Καθορίζει ένα φίλτρο θολώματος/όξυνσης στην φωτογραφία</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1305"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1308"/>
<source>Reset to 5</source>
<translation>Επαναφορά σε 5</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1345"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1348"/>
<source>Properties for all shots</source>
<translation>Ιδιότητες για όλα τα στιγμιότυπα</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1398"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1401"/>
<source>Name of image/video file</source>
<translation>Το όνομα του αρχείου εικόνας/βίντεο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1420"/>
- <source>Select an other file</source>
- <translation>Επιλέξτε ένα άλλο αρχείο</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1473"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1476"/>
<source>Framing :</source>
<translation>Πλαισίωση:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1504"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1507"/>
<source>Image correction :</source>
<translation>Διόρθωση εικόνας:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1834"/>
- <source>Show/Hide rullers</source>
- <translation>Εμφάνιση/απόκρυψη χάρακα</translation>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1843"/>
+ <source>Enable or disable rulers corresponding to the margins of television sets.</source>
+ <translation>Ενεργοποιεί ή απενεργοποιεί τους χάρακες που αντιστοιχούν στα περιθώρια των ρυθμίσεων τηλεόρασης.</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1846"/>
+ <source>Rullers</source>
+ <translation>Χάρακες</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1912"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Αναίρεση της τελευταίας ενέργειας (CTRL+Z)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1915"/>
+ <source>Undo</source>
+ <translation>Αναίρεση</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1922"/>
+ <source>Ctrl+Z</source>
+ <translation>Ctrl+Z</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1867"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1870"/>
<source>Accept modification and exit dialog box</source>
<translation>Αποδοχή των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1870"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1423"/>
+ <source>Select another file</source>
+ <translation>Επιλογή ενός άλλου αρχείου</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1873"/>
<source>&Ok</source>
<translation>&Εντάξει</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1881"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1929"/>
<source>Cancel modification and exit dialog box</source>
<translation>Ακύρωση των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1884"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1932"/>
<source>&Cancel</source>
<translation>&Ακύρωση</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1895"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1943"/>
<source>Open help page describing this dialog box</source>
<translation>Άνοιγμα της σελίδας βοήθειας σχετικά με αυτό το πλαίσιο διαλόγου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1898"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1946"/>
<source>&Help</source>
<translation>&Βοήθεια</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1905"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1953"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="65"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="521"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="524"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="101"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="747"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="750"/>
<source>Unlock</source>
<translation>Ξεκλείδωμα</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="66"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="525"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="102"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="751"/>
<source>Lock to this geometry</source>
<translation>Κλείδωμα σε αυτήν τη γεωμετρία</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="67"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="526"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="103"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="752"/>
<source>Lock to project geometry</source>
<translation>Κλείδωμα στη γεωμετρία του έργου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="68"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="104"/>
<source>Lock to image geometry</source>
<translation>Κλείδωμα στη γεωμετρία της εικόνας</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="379"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="343"/>
<source>Creating cached filtered file ...</source>
<translation>Δημιουργία φιλτραρισμένου προσωρινού αρχείου ...</translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="515"/>
+ <source>No style for nonstandard geometry image</source>
+ <translation>Κανένα στυλ για εικόνες χωρίς
+πρότυπο γεωμετρίας</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="564"/>
+ <source>Select a file</source>
+ <translation>Επιλέξτε ένα αρχείο</translation>
+ </message>
</context>
<context>
<name>DlgInfoFile</name>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="25"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="26"/>
<source>File information</source>
<translation>Πληροφορίες αρχείου</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="93"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="94"/>
<source>File name :</source>
<translation>Όνομα αρχείου:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="100"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="101"/>
<source>File type :</source>
<translation>Τύπος αρχείου:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="133"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="134"/>
<source>File size :</source>
<translation>Μέγεθος αρχείου:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="153"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="154"/>
<source>File created :</source>
<translation>Δημιουργία αρχείου:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="167"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="168"/>
<source>File modify :</source>
<translation>Τροποποίηση αρχείου:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="219"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="220"/>
<source>Video track information</source>
<translation>Πληροφορίες κομματιού βίντεο</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="323"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="324"/>
<source>Chapter information</source>
<translation>Πληροφορίες κεφαλαίου</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="288"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="289"/>
<source>Audio track information</source>
<translation>Πληροφορίες κομματιού ήχου</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="379"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="380"/>
<source>Additional information</source>
<translation>Πρόσθετες πληροφορίες</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="418"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="419"/>
<source>Accept modification and exit dialog box</source>
<translation>Αποδοχή των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="421"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="422"/>
<source>&Ok</source>
<translation>&Εντάξει</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="432"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="433"/>
<source>Open help page describing this dialog box</source>
<translation>Άνοιγμα της σελίδας βοήθειας σχετικά με αυτό το πλαίσιο διαλόγου</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="435"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="436"/>
<source>&Help</source>
<translation>&Βοήθεια</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="442"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="443"/>
<source>F1</source>
<translation>F1</translation>
</message>
@@ -2016,30 +2062,30 @@ Please select another name!</source>
Παρακαλώ επιλέξτε ένα άλλο όνομα!</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="563"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="771"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="377"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="398"/>
<source>Adjust to image width</source>
<translation>Προσαρμογή στο πλάτος της εικόνας</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="564"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="772"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="378"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="399"/>
<source>Adjust to image height</source>
<translation>Προσαρμογή στο ύψος της εικόνας</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="565"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="773"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="379"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="400"/>
<source>Adjust to full image</source>
<translation>Προσαρμογή σε πλήρη οθόνη</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="544"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="546"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="566"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="774"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="785"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="787"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="380"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="401"/>
<source>Custom</source>
@@ -2049,175 +2095,175 @@ Please select another name!</source>
<context>
<name>DlgMusicProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="26"/>
<source>Music properties</source>
<translation>Ιδιότητες μουσικής</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="38"/>
- <source>Allows to continue to play the play list define by a previous slide</source>
- <translation>Επιτρέπει την συνέχιση της αναπαραγωγής της λίστας αναπαραγωγής που έχει καθοριστεί σε προηγούμενη διαφάνεια</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="41"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="41"/>
<source>Continue current playlist (defined in a previous slide)</source>
<translation>Συνέχιση της τρέχουσας λίστας αναπαραγωγής (που έχει καθοριστεί σε προηγούμενη διαφάνεια)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="44"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="201"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="44"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="201"/>
<source>buttonGroup</source>
<translation>buttonGroup</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="68"/>
- <source>Allows to indicate that from now on, the sound volume is reduced.</source>
- <translation>Επιτρέπει την ένδειξη ότι στο εξής, η ένταση του ήχου είναι μειωμένη.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="71"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="71"/>
<source>Change volume level to :</source>
<translation>Αλλαγή του επιπέδου έντασης σε:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="74"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="173"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="186"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="74"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="173"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="186"/>
<source>buttonGroup_2</source>
<translation>buttonGroup_2</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="99"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="99"/>
<source>Define the sound volume for this slide</source>
<translation>Καθορίζει την ένταση του ήχου για αυτήν τη διαφάνεια</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="167"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="167"/>
<source>Set music to pause during this slide</source>
<translation>Παύση της μουσικής σε αυτήν τη διαφάνεια</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="170"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="170"/>
<source>Set to pause</source>
<translation>Παύση της μουσικής</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="180"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="180"/>
<source>No specific settings</source>
<translation>Χωρίς ειδικές ρυθμίσεις</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="183"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="183"/>
<source>Normal</source>
<translation>Τυπικό</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="195"/>
- <source>Allows to start a new playlist.</source>
- <translation>Επιτρέπει την έναρξη μιας νέας λίστας αναπαραγωγής.</translation>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="38"/>
+ <source>Allows one to continue to play the play list define by a previous slide</source>
+ <translation>Επιτρέπει σε κάποιον να συνεχίσει την αναπαραγωγή της καθορισμένης λίστας από μια προηγούμενη διαφάνεια</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="68"/>
+ <source>Allows one to indicate that from now on, the sound volume is reduced.</source>
+ <translation>Επιτρέπει σε κάποιον να υποδείξει ότι από τώρα και στο εξής, η ένταση του ήχου είναι μειωμένη.</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="195"/>
+ <source>Allows one to start a new playlist.</source>
+ <translation>Επιτρέπει σε κάποιον την έναρξη μιας νέας λίστας αναπαραγωγής.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="198"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="198"/>
<source>Start a new playlist from this slide</source>
<translation>Έναρξη μιας νέας λίστας αναπαραγωγής από αυτήν τη διαφάνεια</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="216"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="216"/>
<source>Add a file to the playlist</source>
<translation>Προσθήκη ενός αρχείου στην λίστα αναπαραγωγής</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="230"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="230"/>
<source>Remove the current selected file</source>
<translation>Αφαίρεση του επιλεγμένου αρχείου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="244"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="244"/>
<source>Change the order in which will be played the music files:
Move the current selected file of a notch upward.</source>
<translation>Αλλάζει την σειρά με την οποία θα αναπαράγονται τα αρχεία μουσικής:
-Μετακίνει το επιλεγμένο αρχείο μια θέση πάνω.</translation>
+Μετακινεί το επιλεγμένο αρχείο μια θέση πάνω.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="259"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="259"/>
<source>Change the order in which will be played the music files:
Move the current selected file of a notch downward.</source>
<translation>Αλλάζει την σειρά με την οποία θα αναπαράγονται τα αρχεία μουσικής:
-Μετακίνει το επιλεγμένο αρχείο μια θέση κάτω.</translation>
+Μετακινεί το επιλεγμένο αρχείο μια θέση κάτω.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="274"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="274"/>
<source>Total playlist duration : </source>
<translation>Συνολική διάρκεια της λίστας αναπαραγωγής: </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="324"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="324"/>
<source>File</source>
<translation>Αρχείο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="334"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="334"/>
<source>Duration</source>
<translation>Διάρκεια</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="344"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="344"/>
<source>Volume</source>
<translation>Ένταση</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="354"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="354"/>
<source>Source folder</source>
<translation>Πηγαίος φάκελος</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="392"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="392"/>
<source>Accept modification and exit dialog box</source>
<translation>Αποδοχή των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="395"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="395"/>
<source>&Ok</source>
<translation>&Εντάξει</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="406"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="406"/>
<source>Cancel modification and exit dialog box</source>
<translation>Ακύρωση των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="409"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="409"/>
<source>&Cancel</source>
<translation>&Ακύρωση</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="420"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="420"/>
<source>Open help page describing this dialog box</source>
<translation>Άνοιγμα της σελίδας βοήθειας σχετικά με αυτό το πλαίσιο διαλόγου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="423"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="423"/>
<source>&Help</source>
<translation>&Βοήθεια</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="430"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="430"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="235"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="217"/>
<source>Add music files</source>
<translation>Προσθήκη αρχείων μουσικής</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="268"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="250"/>
<source>Error</source>
<comment>Error message</comment>
<translation>Σφάλμα</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="269"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="251"/>
<source>Format not supported</source>
<comment>Error message</comment>
<translation>Μη υποστηριζόμενη μορφή</translation>
@@ -2515,875 +2561,1290 @@ Move the current selected file of a notch downward.</source>
<translation>ταινία</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="324"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="325"/>
<source>Select destination file</source>
<translation>Επιλέξτε αρχείο προορισμού</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="584"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="658"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="585"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="863"/>
<source>Stop rendering</source>
<translation>Διακοπή της κωδικοποίησης</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="665"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="875"/>
<source>Range selection</source>
<translation>Εύρος επιλογής</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="666"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="876"/>
<source>Slide range is defined to incorrect values</source>
<translation>Το εύρος έχει καθοριστεί σε μη έγκυρες τιμές</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="674"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="884"/>
<source>Language selection</source>
<translation>Επιλογή γλώσσας</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="675"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="885"/>
<source>Language must be empty or an ISO 639 language code (3 characters)
See help for more details!</source>
<translation>Η γλώσσα θα πρέπει να είναι κενή ή ένας κωδικός γλώσσας ISO 639 (3 χαρακτήρες)
Δείτε στη Βοήθεια για περισσότερες πληροφορίες!</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="682"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="892"/>
<source>Overwrite file ?</source>
<translation>Αντικατάσταση του αρχείου;</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="683"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="893"/>
<source>The file you selected already exist.
Do you want to overwrite it ?</source>
<translation>Το αρχείο που επιλέξατε υπάρχει ήδη.
Επιθυμείτε την αντικατάστασή του;</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="701"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="713"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="910"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="941"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1186"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1241"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1250"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1261"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1276"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1291"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1316"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1336"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1345"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1357"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1506"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1510"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1073"/>
+ <source>Start avconv encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1110"/>
+ <source>Error starting avconv</source>
+ <comment>Error message</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1193"/>
+ <source>avconv error</source>
+ <comment>Error message</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1230"/>
+ <source>Error during avconv process</source>
+ <comment>Error message</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1234"/>
+ <source>Error exiting avconv</source>
+ <comment>Error message</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="668"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="753"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="907"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="919"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1246"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1301"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1310"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1327"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1342"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1363"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1379"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1388"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1395"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1488"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1540"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1544"/>
<source>Render video</source>
<translation>Δημιουργία του βίντεο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="739"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="946"/>
<source>Device model selection</source>
<translation>Επιλογή μοντέλου συσκευής</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="740"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="947"/>
<source>A device model is require!</source>
<translation>Απαιτείται ένα μοντέλο συσκευής!</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="823"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1031"/>
<source>Encoding sound</source>
<translation>Κωδικοποίηση ήχου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1010"/>
- <source>Start ffmpeg encoder</source>
- <translation>Εκκίνηση του κωδικοποιητή ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1061"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1126"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1133"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1170"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1174"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1109"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1184"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1193"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1230"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1234"/>
<source>Error</source>
<comment>Error message</comment>
<translation>Σφάλμα</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1062"/>
- <source>Error starting ffmpeg</source>
- <comment>Error message</comment>
- <translation>Σφάλμα εκκίνησης του ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1096"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1144"/>
<source> - Estimated time left : </source>
<translation> - Εκτίμηση εναπομένοντος χρόνου: </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1126"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1184"/>
<source>Error sending image to ffmpeg</source>
<comment>Error message</comment>
<translation>Σφάλμα κατά την αποστολή της εικόνας στο ffmpeg</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1133"/>
- <source>ffmpeg error</source>
- <comment>Error message</comment>
- <translation>Σφάλμα ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1155"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1215"/>
<source>Closing encoder</source>
<translation>Κλείσιμο του κωδικοποιητή</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1170"/>
- <source>Error during ffmpeg process</source>
- <comment>Error message</comment>
- <translation>Σφάλμα κατά την διεργασία του ffmpeg</translation>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1246"/>
+ <source>Job completed successfully!</source>
+ <translation>Η εργασία ολοκληρώθηκε επιτυχώς!</translation>
</message>
+</context>
+<context>
+ <name>DlgRulerDef</name>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1174"/>
- <source>Error exiting ffmpeg</source>
- <comment>Error message</comment>
- <translation>Σφάλμα κατά την έξοδο του ffmpeg</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="20"/>
+ <source>Ruler properties</source>
+ <translation>Ιδιότητες χαράκων</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="76"/>
+ <source>Horizontal rulers</source>
+ <translation>Οριζόντιοι χάρακες</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="97"/>
+ <source>Vertical rulers</source>
+ <translation>Κάθετοι χάρακες</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1186"/>
- <source>Job completed succesfully!</source>
- <translation>Η εργασία ολοκληρώθηκε με επιτυχία!</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="110"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="123"/>
+ <source>screen borders</source>
+ <translation>άκρα οθόνης</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="136"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="149"/>
+ <source>TV margins</source>
+ <translation>Περιθώρια TV</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="162"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="175"/>
+ <source>Screen center</source>
+ <translation>Κέντρο οθόνης</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="195"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="202"/>
+ <source>Unselected objects</source>
+ <translation>Μη επιλεγμένα αντικείμενα</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="241"/>
+ <source>Accept modification and exit dialog box</source>
+ <translation>Αποδοχή των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="244"/>
+ <source>&Ok</source>
+ <translation>&Εντάξει</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="255"/>
+ <source>Cancel modification and exit dialog box</source>
+ <translation>Ακύρωση των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="258"/>
+ <source>&Cancel</source>
+ <translation>&Ακύρωση</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="269"/>
+ <source>Open help page describing this dialog box</source>
+ <translation>Άνοιγμα της σελίδας βοήθειας σχετικά με αυτό το πλαίσιο διαλόγου</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="272"/>
+ <source>&Help</source>
+ <translation>&Βοήθεια</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="279"/>
+ <source>F1</source>
+ <translation>F1</translation>
</message>
</context>
<context>
<name>DlgSlideProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="29"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="29"/>
<source>Slide properties</source>
<translation>Ιδιότητες διαφάνειας</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="139"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="116"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3544"/>
<source>Append a shot to end of the timeline</source>
<translation>Προσθήκη ενός στιγμιότυπου στο τέλος του χρονοδιαγράμματος</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="142"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3529"/>
+ <source>Add file</source>
+ <translation>Προσθήκη αρχείου</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3541"/>
<source>Add shot</source>
<translation>Προσθήκη στιγμιότυπου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="180"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="164"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3556"/>
<source>Remove current selected shot</source>
<translation>Αφαίρεση του επιλεγμένου στιγμιότυπου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="183"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3415"/>
<source>Remove</source>
<translation>Αφαίρεση</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="221"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3568"/>
<source>Change the order of the shot by moving the current selected shot, of a notch towards the left</source>
<translation>Αλλάζει την σειρά του στιγμιότυπου μετακινώντας το επιλεγμένο στιγμιότυπο μια θέση προς τα αριστερά</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="224"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3565"/>
<source>Move left</source>
<translation>Μετακίνηση αριστερά</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="256"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3580"/>
<source>Change the order of the shot by moving the current selected shot, of a notch towards the right</source>
<translation>Αλλάζει την σειρά του στιγμιότυπου μετακινώντας το επιλεγμένο στιγμιότυπο μια θέση προς τα δεξιά</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="259"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3577"/>
<source>Move right</source>
<translation>Μετακίνηση δεξιά</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="687"/>
<source>Indicate the duration for the current selected shot.</source>
<translation>Εμφανίζει την διάρκεια για το επιλεγμένο στιγμιότυπο.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="417"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="710"/>
<source>HH:mm:ss.zzz</source>
<translation>ΩΩ:λλ:δδ.zzz</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="444"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="660"/>
<source>Shot duration :</source>
<translation>Διάρκεια στιγμιότυπου:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="466"/>
- <source>Total slide duration :</source>
- <translation>Ολική διάρκεια διαφάνειας:</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="501"/>
+ <source>Indicate a name for the slide. It is this name which will appear on the thumbnail in the main window timeline.</source>
+ <translation>Καθορίστε ένα όνομα για την διαφάνεια. Αυτό το όνομα θα εμφανίζεται στην εικόνα προεπισκόπησης στο χρονοδιάγραμμα του κυρίου παραθύρου.</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="213"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3520"/>
+ <source>Add a new text block</source>
+ <translation>Προσθήκη ενός νέου τμήματος κειμένου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="504"/>
- <source>Slide name :</source>
- <translation>Όνομα διαφάνειας:</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3238"/>
+ <source>Undo</source>
+ <translation>Αναίρεση</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="532"/>
- <source>Indicate a name for the slide. It is this name which will appear on the thumbnail in the main window timeline.</source>
- <translation>Καθορίστε ένα όνομα για την διαφάνεια. Αυτό το όνομα θα εμφανίζεται στην εικόνα προεπισκόπησης στο χρονοδιάγραμμα του κυρίου παραθύρου.</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="216"/>
+ <source>Add
+text</source>
+ <translation>Προσθήκη
+κειμένου</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="261"/>
+ <source>Add
+file</source>
+ <translation>Προσθήκη
+αρχείου</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="313"/>
+ <source>Edit
+block</source>
+ <translation>Επεξεργασία
+τμήματος</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="352"/>
+ <source>Arrange blocks</source>
+ <translation>Διάταξη τμημάτων</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="355"/>
+ <source>Arrange
+block</source>
+ <translation>Διάταξη
+τμήματος</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="397"/>
+ <source>Block
+information</source>
+ <translation>Πληροφορίες
+τμήματος</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2199"/>
+ <source>Text animation :</source>
+ <translation>Κίνηση κειμένου:</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2209"/>
+ <source>Zoom :</source>
+ <translation>Εστίαση:</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2245"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2287"/>
+ <source>Define a zoom value for the text</source>
+ <translation>Καθορίστε μια τιμή εστίασης για το κείμενο</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2309"/>
+ <source>Reset to 100%</source>
+ <translation>Επαναφορά σε 100%</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2351"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2393"/>
+ <source>Scroll text from left to right</source>
+ <translation>Κύλιση κειμένου από αριστερά προς τα δεξιά</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2457"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2499"/>
+ <source>Scroll text from bottom to up</source>
+ <translation>Κύλιση κειμένου από κάτω προς τα πάνω</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2551"/>
+ <source>Block animation :</source>
+ <translation>Κίνηση τμήματος:</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2587"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2632"/>
+ <source>Define the number of turn to be made around the Z axis during this shot</source>
+ <translation>Καθορίστε τον αριθμό των περιστροφών που θα γίνουν γύρω από τον άξονα Z σε αυτό το στιγμιότυπο</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2693"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2738"/>
+ <source>Define the number of turn to be made around the X axis during this shot</source>
+ <translation>Καθορίστε τον αριθμό των περιστροφών που θα γίνουν γύρω από τον άξονα X σε αυτό το στιγμιότυπο</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2799"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2844"/>
+ <source>Define the number of turn to be made around the Y axis during this shot</source>
+ <translation>Καθορίστε τον αριθμό των περιστροφών που θα γίνουν γύρω από τον άξονα Y σε αυτό το στιγμιότυπο</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3065"/>
+ <source>Type :</source>
+ <translation>Τύπος:</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3078"/>
+ <source>Dissolve :</source>
+ <translation>Εφέ διάλυσης:</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3097"/>
+ <source>Block coordinates :</source>
+ <translation>Συντεταγμένες τμήματος:</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="508"/>
+ <source>Start a new chapter from this slide</source>
+ <translation>Έναρξη ενός νέου κεφαλαίου από αυτήν τη διαφάνεια</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="531"/>
+ <source>Total duration :</source>
+ <translation>Ολική διάρκεια:</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3144"/>
+ <source>Rullers</source>
+ <translation>Χάρακες</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3289"/>
+ <source>Edit text</source>
+ <translation>Επεξεργασία κειμένου</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3301"/>
+ <source>Do image correct or reframming</source>
+ <translation>Διόρθωση ή αναπλαισίωση της εικόνας</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3337"/>
+ <source>Move to foreground</source>
+ <translation>Μετακίνηση στο προσκήνιο</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3589"/>
+ <source>Lock properties</source>
+ <translation>Κλείδωμα ιδιοτήτων</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3592"/>
+ <source>Lock properties to the same values as define for the previous shot</source>
+ <translation>Κλείδωμα των ιδιοτήτων στις ίδιες τιμές που καθορίζονται για το προηγούμενο στιγμιότυπο</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3601"/>
+ <source>Unlock properties from this shot</source>
+ <translation>Ξεκλείδωμα των ιδιοτήτων για αυτό το στιγμιότυπο</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3604"/>
+ <source>Define properties from this shot</source>
+ <translation>Καθορισμός των ιδιοτήτων για αυτό το στιγμιότυπο</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3613"/>
+ <source>Hide</source>
+ <translation>Απόκρυψη</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3616"/>
+ <source>Make hide the active block</source>
+ <translation>Απόκρυψη του ενεργού τμήματος</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3352"/>
+ <source>Make visible the active block</source>
+ <translation>Κάντε ορατό το ενεργό τμήμα</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="473"/>
+ <source>Slide :</source>
+ <translation>Διαφάνεια:</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="511"/>
+ <source>Start chapter from here</source>
+ <translation>Έναρξη του κεφαλαίου από εδώ</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3361"/>
+ <source>Take the sound</source>
+ <translation>Λήψη του ήχου</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3373"/>
+ <source>Display information</source>
+ <translation>Προβολή των πληροφοριών</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3418"/>
+ <source>Remove current block(s)</source>
+ <translation>Αφαίρεση των τρεχόντων τμημάτων</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3445"/>
+ <source>Align top</source>
+ <translation>Στοίχιση πάνω</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3448"/>
+ <source>Align blocks to the top</source>
+ <translation>Στοίχιση των τμημάτων προς τα πάνω</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3457"/>
+ <source>Align middle</source>
+ <translation>Στοίχιση στη μέση</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3460"/>
+ <source>Align blocks to the middle</source>
+ <translation>Στοίχιση των τμημάτων στη μέση</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3469"/>
+ <source>Align bottom</source>
+ <translation>Στοίχιση κάτω</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3472"/>
+ <source>Align blocks to the bottom</source>
+ <translation>Στοίχιση των τμημάτων προς τα κάτω</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3481"/>
+ <source>Align left</source>
+ <translation>Στοίχιση αριστερά</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="986"/>
- <source>Change the order of blocks by moving the active block upward (towards the background)</source>
- <translation>Αλλάζει την σειρά των τμημάτων μετακινώντας το ενεργό τμήμα προς τα πάνω (προς το παρασκήνιο)</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3484"/>
+ <source>Align blocks to the left</source>
+ <translation>Στοίχιση των τμημάτων προς τα αριστερά</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1002"/>
- <source>PgUp</source>
- <translation>PgUp</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3493"/>
+ <source>Align center</source>
+ <translation>Στοίχιση στο κέντρο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1030"/>
- <source>Change the order of blocks by moving the active block downward (towards the foreground)</source>
- <translation>Αλλάζει την σειρά των τμημάτων μετακινώντας το ενεργό τμήμα προς τα κάτω (προς το προσκήνιο)</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3496"/>
+ <source>Align blocks to the center</source>
+ <translation>Στοίχιση των τμημάτων στο κέντρο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1046"/>
- <source>PgDown</source>
- <translation>PgDown</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3505"/>
+ <source>Align right</source>
+ <translation>Στοίχιση δεξιά</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="744"/>
- <source>Add a new title block</source>
- <translation>Προσθήκη ενός νέου τίτλου τμήματος</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3508"/>
+ <source>Align blocks to the right</source>
+ <translation>Στοίχιση των τμημάτων προς τα δεξιά</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="539"/>
- <source>Start a new chapter from here</source>
- <translation>Έναρξη ενός νέου κεφαλαίου από εδώ</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3517"/>
+ <source>Add text block</source>
+ <translation>Προσθήκη τμήματος κειμένου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="546"/>
- <source>Chapter :</source>
- <translation>κεφάλαιο:</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1845"/>
+ <source>Remove block</source>
+ <translation>Αφαίρεση τμήματος</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="754"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="230"/>
<source>Ctrl+Ins</source>
<translation>Ctrl+Ins</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="782"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="258"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3532"/>
<source>Add a new block of type image or video.</source>
<translation>Προσθέτει ένα νέο τμήμα τύπου εικόνας ή βίντεο.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="792"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="275"/>
<source>Ins</source>
<translation>Ins</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="941"/>
- <source>Remove the current block</source>
- <translation>Αφαίρεση του τρέχοντος τμήματος</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="951"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3421"/>
<source>Del</source>
<translation>Del</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="827"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3388"/>
<source>Copy the current block to the ffDiaporama clipboard.</source>
<translation>Αντιγραφή του τρέχοντος τμήματος στο πρόχειρο του ffDiaporama.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="837"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3325"/>
+ <source>Move to background</source>
+ <translation>Μετακίνηση στο παρασκήνιο</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3328"/>
+ <source>Change the order of blocks by moving the active block towards the background</source>
+ <translation>Αλλάζει τη σειρά των τμημάτων μετακινώντας το ενεργό τμήμα στο παρασκήνιο</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3340"/>
+ <source>Change the order of blocks by moving the active block towards the foreground</source>
+ <translation>Αλλάζει τη σειρά των τμημάτων μετακινώντας το ενεργό τμήμα στο προσκήνιο</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3349"/>
+ <source>Visible</source>
+ <translation>Ορατό</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3385"/>
+ <source>Copy block</source>
+ <translation>Αντιγραφή του τμήματος</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3391"/>
<source>Ctrl+C</source>
<translation>Ctrl+C</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="865"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3400"/>
+ <source>Cut block</source>
+ <translation>Αποκοπή του τμήματος</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3403"/>
<source>Copy the current block to the ffDiaporama clipboard and remove it from the slide</source>
<translation>Αντιγραφή του τρέχοντος τμήματος στο πρόχειρο του ffDiaporama και αφαίρεσή του από την διαφάνεια</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="875"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3406"/>
<source>Ctrl+X</source>
<translation>Ctrl+X</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="903"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3430"/>
+ <source>Paste block</source>
+ <translation>Επικόλληση του τμήματος</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3433"/>
<source>Paste block from the ffDiaporama clipboard and insert it.</source>
<translation>Επικόλληση και εισαγωγή του τμήματος από το πρόχειρο του ffDiaporama.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="913"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3436"/>
<source>Ctrl+V</source>
<translation>Ctrl+V</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1074"/>
- <source>Make visible or hidden the active block</source>
- <translation>Κάνει το τρέχον τμήμα ορατό ή κρυφό</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1109"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3364"/>
<source>Give the sound, during this shot, to the current video block</source>
<translation>Δίνει τον ήχο, κατά την διάρκεια αυτού του στιγμιότυπου, στο τρέχον τμήμα βίντεο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1151"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3292"/>
<source>Define the properties of the text block</source>
<translation>Καθορίζει τις ιδιότητες του τμήματος κειμένου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1161"/>
- <source>F5</source>
- <translation>F5</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1189"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3304"/>
<source>Define framing and do correction of image or movie</source>
<translation>Καθορίζει την πλαισίωση και διορθώνει την εικόνα ή την ταινία</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1199"/>
- <source>F6</source>
- <translation>F6</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1227"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3313"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3316"/>
<source>Cut the video</source>
<translation>Περικοπή του βίντεο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1237"/>
- <source>F7</source>
- <translation>F7</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3376"/>
+ <source>Display detailled information on current block</source>
+ <translation>Προβάλει λεπτομερείς πληροφορίες για το τρέχον τμήμα</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1485"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1582"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1710"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2415"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2521"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2651"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2757"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2863"/>
+ <source>Reset to 0</source>
+ <translation>Επαναφορά σε 0</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2310"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1915"/>
<source>Border :</source>
<translation>Περίγραμμα:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2225"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1830"/>
<source>Shape :</source>
<translation>Σχήμα:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2253"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3235"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Αναίρεση της τελευταίας ενέργειας (CTRL+Z)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3245"/>
+ <source>Ctrl+Z</source>
+ <translation>Ctrl+Z</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="119"/>
+ <source>Add
+shot</source>
+ <translation>Προσθήκη
+στιγμιότυπου</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="167"/>
+ <source>Remove
+shot</source>
+ <translation>Αφαίρεση
+στιγμιότυπου</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="310"/>
+ <source>Edit block</source>
+ <translation>Επεξεργασία του τμήματος</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1858"/>
<source>Select a shape for current block</source>
<translation>Επιλέξτε ένα σχήμα για το τρέχον τμήμα</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2275"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1880"/>
<source>Opacity :</source>
<translation>Αδιαφάνεια:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2303"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1908"/>
<source>Defined the opaqueness of the block.</source>
<translation>Καθορίζει την αδιαφάνεια του τμήματος.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2345"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1950"/>
<source>Defined the thickness of the border</source>
<translation>Καθορίζει το πάχος του περιγράμματος</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2373"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1978"/>
<source>Defined the color of the line to be used to draw the border</source>
<translation>Καθορίζει το χρώμα της γραμμής που θα χρησιμοποιηθεί για την σχεδίαση του περιγράμματος</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2404"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2009"/>
<source>Defined the type of line (solid, dotted line, etc.)</source>
<translation>Καθορίζει τον τύπο της γραμμής (συμπαγής, γραμμή με κουκκίδες, κλπ)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2064"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2103"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1655"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1694"/>
<source>Define rotation according to the X axis (defined in degree).</source>
<translation>Καθορίζει την περιστροφή σύμφωνα με τον άξονα X (σε μοίρες).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1950"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1989"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1527"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1566"/>
<source>Define rotation according to the Y axis (defined in degree).</source>
<translation>Καθορίζει την περιστροφή σύμφωνα με τον άξονα Y (σε μοίρες).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1833"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1872"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1427"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1466"/>
<source>Define rotation according to the Z axis (defined in degree).</source>
<translation>Καθορίζει την περιστροφή σύμφωνα με τον άξονα Z (σε μοίρες).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2517"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2122"/>
<source>Defined the distance between the block and its shadow</source>
<translation>Καθορίζει την απόσταση μεταξύ του τμήματος και της σκιάς του</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2545"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2150"/>
<source>Defined the color of the shadow</source>
<translation>Καθορίζει το χρώμα της σκιάς</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1682"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1276"/>
<source>Define width of current block</source>
<translation>Καθορίζει το πλάτος του τρέχοντος τμήματος</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1755"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1349"/>
<source>Define height of current block</source>
<translation>Καθορίζει το ύψος του τρέχοντος τμήματος</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1526"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1120"/>
<source>Define X position of current block</source>
<translation>Καθορίζει την θέση X του τρέχοντος τμήματος</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1599"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1193"/>
<source>Define Y position of current block</source>
<translation>Καθορίζει την θέση Y του τρέχοντος τμήματος</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2479"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2084"/>
<source>Defined in which corner the shadow will be positioned (or no shadow)</source>
<translation>Καθορίζει σε ποια γωνία θα τοποθετείται η σκιά (ή χωρίς σκιά)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2457"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2062"/>
<source>Shadow :</source>
<translation>Σκιά:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2135"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1740"/>
<source>Block shape :</source>
<translation>Σχήμα του τμήματος:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1339"/>
- <source>Coordinates :</source>
- <translation>Συντεταγμένες:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2645"/>
- <source>Propertie</source>
- <translation>Ιδιότητα</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2655"/>
- <source>Value</source>
- <translation>Τιμή</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2696"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3141"/>
<source>Enable or disable rulers corresponding to the margins of television sets.</source>
<translation>Ενεργοποιεί ή απενεργοποιεί τους χάρακες που αντιστοιχούν στα περιθώρια των ρυθμίσεων τηλεόρασης.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2699"/>
- <source>TV margins</source>
- <translation>Περιθώρια TV</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2726"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3168"/>
<source>Accept modification and go to previous slide</source>
<translation>Αποδοχή των τροποποιήσεων και μετάβαση στην προηγούμενη διαφάνεια</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2729"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3171"/>
<source>Previous</source>
<translation>Προηγούμενη</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2740"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3182"/>
<source>Accept modification and exit dialog box</source>
<translation>Αποδοχή των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2743"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3185"/>
<source>&Ok</source>
<translation>&Εντάξει</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2754"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3196"/>
<source>Accept modification and go to next slide</source>
<translation>Αποδοχή των τροποποιήσεων και μετάβαση στην επόμενη διαφάνεια</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2757"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3199"/>
<source>Next</source>
<translation>Επόμενη</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2793"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3252"/>
<source>Cancel modification and exit dialog box</source>
<translation>Ακύρωση των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2796"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3255"/>
<source>&Cancel</source>
<translation>&Ακύρωση</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2807"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3266"/>
<source>Open help page describing this dialog box</source>
<translation>Άνοιγμα της σελίδας βοήθειας σχετικά με αυτό το πλαίσιο διαλόγου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2810"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3269"/>
<source>&Help</source>
<translation>&Βοήθεια</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2817"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3276"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="101"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="156"/>
<source>Slide</source>
<translation>Διαφάνεια</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="146"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="193"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="234"/>
<source>None</source>
<translation>Κανένα</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="147"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="194"/>
<source>Shadow upper left</source>
<translation>Σκιά πάνω αριστερά</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="148"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="195"/>
<source>Shadow upper right</source>
<translation>Σκιά πάνω δεξιά</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="149"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="196"/>
<source>Shadow bottom left</source>
<translation>Σκιά κάτω αριστερά</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="150"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="197"/>
<source>Shadow bottom right</source>
<translation>Σκιά κάτω δεξιά</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="626"/>
- <source>Lengthened to %1 sec</source>
- <translation>Επιμήκυνση κατά %1 δευτ </translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="235"/>
+ <source>Multiple block turn</source>
+ <translation>Περιστροφή πολλαπλών τμημάτων</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1039"/>
- <source>Object type</source>
- <translation>Τύπος αντικειμένου</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="236"/>
+ <source>Dissolve</source>
+ <translation>Εφέ διάλυσης</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1040"/>
- <source>Title</source>
- <translation>Τίτλος</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="239"/>
+ <source>Appear</source>
+ <translation>Εμφάνιση</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1041"/>
- <source>Image</source>
- <translation>Εικόνα</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="240"/>
+ <source>Disappear</source>
+ <translation>Εξαφάνιση</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1042"/>
- <source>Video</source>
- <translation>Βίντεο</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="241"/>
+ <source>Blink at slow speed</source>
+ <translation>Αναβόσβημα σε χαμηλή ταχύτητα</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1046"/>
- <source>Filename</source>
- <translation>Όνομα αρχείου</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="242"/>
+ <source>Blink at medium speed</source>
+ <translation>Αναβόσβημα σε μέση ταχύτητα</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1056"/>
- <source>Image size</source>
- <translation>Μέγεθος εικόνας</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="243"/>
+ <source>Blink at fast speed</source>
+ <translation>Αναβόσβημα σε υψηλή ταχύτητα</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="561"/>
- <source>No style for nonstandard geometry image</source>
- <translation>Κανένα στυλ για εικόνες χωρίς
-πρότυπο γεωμετρίας</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="244"/>
+ <source>Blink at very fast speed</source>
+ <translation>Αναβόσβημα σε πολύ υψηλή ταχύτητα</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="626"/>
- <source>Select a file</source>
- <translation>Επιλέξτε ένα αρχείο</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1332"/>
+ <source>Lengthened to %1 sec</source>
+ <translation>Επιμήκυνση κατά %1 δευτ </translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1845"/>
+ <source>Are you sure to want to delete this block?</source>
+ <translation>Επιθυμείτε σίγουρα τη διαγραφή του τμήματος;</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1848"/>
+ <source>Remove blocks</source>
+ <translation>Αφαίρεση των τμημάτων</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1848"/>
+ <source>Are you sure to want to delete these blocks?</source>
+ <translation>Επιθυμείτε σίγουρα τη διαγραφή των τμημάτων;</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1572"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3553"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1200"/>
<source>Remove shot</source>
<translation>Αφαίρεση στιγμιότυπου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1572"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1200"/>
<source>Are you sure to want to delete this shot?</source>
<translation>Επιθυμείτε σίγουρα την διαγραφή αυτού του στιγμιότυπου;</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1715"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1564"/>
<source>Text</source>
<comment>Default text value</comment>
<translation>Κείμενο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1740"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1623"/>
<source>Add files</source>
<translation>Προσθήκη αρχείων</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1957"/>
- <source>Remove bloc</source>
- <translation>Αφαίρεση τμήματος</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1957"/>
- <source>Are you sure to want to delete this bloc?</source>
- <translation>Επιθυμείτε σίγουρα την διαγραφή αυτού του τμήματος;</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/cCustomBlockTable.cpp" line="136"/>
+ <source>Duration:</source>
+ <translation>Διάρκεια:</translation>
</message>
</context>
<context>
<name>DlgTextEdit</name>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="26"/>
<source>Edit text</source>
<translation>Επεξεργασία κειμένου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="187"/>
- <source>Properties for all shots</source>
- <translation>Ιδιότητες για όλα τα στιγμιότυπα</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="158"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="109"/>
<source>Select font family</source>
<translation>Επιλογή οικογένειας γραμματοσειράς</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="339"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="134"/>
<source>Select font size</source>
<translation>Επιλογή μεγέθους γραμματοσειράς</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="364"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="159"/>
<source>Select font color</source>
<translation>Επιλογή χρώματος γραμματοσειράς</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1267"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="443"/>
<source>Select font effect (outerline, shadow)</source>
<translation>Επιλογή εφέ γραμματοσειράς (περίγραμμα, σκιά)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1298"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="474"/>
<source>Select outerline/shadow color</source>
<translation>Επιλογή χρώματος περιγράμματος/σκιάς</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="230"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="512"/>
<source>Set text to Bold</source>
<translation>Διαμόρφωση κειμένου σε Έντονα</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="262"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="544"/>
<source>Set text to Italic</source>
<translation>Διαμόρφωση κειμένου σε Πλάγια</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="291"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="573"/>
<source>Set text to Underline</source>
<translation>Διαμόρφωση κειμένου σε Υπογραμμισμένα</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="412"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="289"/>
<source>Align left</source>
<translation>Στοίχιση αριστερά</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="447"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="356"/>
<source>Align center</source>
<translation>Στοίχιση στο κέντρο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="479"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="324"/>
<source>Align justify</source>
<translation>Στοίχιση ομοιόμορφα</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="511"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="45"/>
+ <source>Text</source>
+ <translation>Κείμενο</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="200"/>
+ <source>Bullet list</source>
+ <translation>Λίστα κουκκίδων</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="235"/>
+ <source>Numbered list</source>
+ <translation>Λίστα αριθμών</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="388"/>
<source>Align right</source>
<translation>Στοίχιση δεξιά</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="556"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="602"/>
+ <source>Set text to superscript</source>
+ <translation>Ορισμός του κειμένου σε εκθέτη</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="631"/>
+ <source>Set text to subscript</source>
+ <translation>Ορισμός του κειμένου σε δείκτη</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="679"/>
+ <source>Increase indent</source>
+ <translation>Αύξηση εσοχής</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="708"/>
+ <source>decrease indent</source>
+ <translation>μείωση εσοχής</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="756"/>
<source>Align top</source>
<translation>Στοίχιση πάνω</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="588"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="788"/>
<source>Align in the middle</source>
<translation>Στοίχιση στη μέση</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="620"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="820"/>
<source>Align bottom</source>
<translation>Στοίχιση κάτω</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="682"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="870"/>
+ <source>Background</source>
+ <translation>Φόντο</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="916"/>
+ <source>Background properties :</source>
+ <translation>Ιδιότητες φόντου:</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="967"/>
<source>Define the background brush type for the shape</source>
<translation>Καθορίζει τον τύπο πινέλου του φόντου του σχήματος</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="734"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1019"/>
<source>Define the color (or first color for a gradient brush)</source>
<translation>Καθορίζει το χρώμα (ή το πρώτο χρώμα για ένα πινέλο με διαβάθμιση)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="759"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1063"/>
<source>Define the second gradient brush color </source>
<translation>Καθορίζει το δεύτερο χρώμα διαβάθμισης του πινέλου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="784"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1107"/>
<source>Define the third gradient brush color </source>
<translation>Καθορίζει το τρίτο χρώμα διαβάθμισης του πινέλου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="843"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1166"/>
<source>Select the pattern</source>
<translation>Επιλέξτε το μοτίβο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="904"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1227"/>
<source>Define orientation of the gradient brush</source>
<translation>Καθορίζει τον προσανατολισμό της διαβάθμισης του πινέλου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="948"/>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="987"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1258"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1297"/>
<source>Define position of the second color in the gradient brush</source>
<translation>Καθορίζει την θέση του δεύτερου χρώματος στη διαβάθμιση του πινέλου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1077"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1400"/>
<source>Select an image among that present in the library</source>
<translation>Επιλέξτε μια εικόνα μεταξύ αυτών στην βιβλιοθήκη</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1215"/>
- <source>Texte style :</source>
- <translation>Στυλ κειμένου:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1123"/>
- <source>Block background style :</source>
- <translation>Στυλ φόντου του σχήματος:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1357"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1456"/>
<source>Accept modification and exit dialog box</source>
<translation>Αποδοχή των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1360"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1459"/>
<source>&Ok</source>
<translation>&Εντάξει</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1371"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1495"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Αναίρεση της τελευταίας ενέργειας (CTRL+Z)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1498"/>
+ <source>Undo</source>
+ <translation>Αναίρεση</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1505"/>
+ <source>Ctrl+Z</source>
+ <translation>Ctrl+Z</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1512"/>
<source>Cancel modification and exit dialog box</source>
<translation>Ακύρωση των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1374"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1515"/>
<source>&Cancel</source>
<translation>&Ακύρωση</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1385"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1526"/>
<source>Open help page describing this dialog box</source>
<translation>Άνοιγμα της σελίδας βοήθειας σχετικά με αυτό το πλαίσιο διαλόγου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1388"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1529"/>
<source>&Help</source>
<translation>&Βοήθεια</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1395"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1536"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="74"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="118"/>
<source>No effect</source>
<translation>Κανένα εφέ</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="75"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="119"/>
<source>Outerline</source>
<translation>Περίγραμμα</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="76"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="120"/>
<source>Shadow upper left</source>
<translation>Σκιά πάνω αριστερά</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="77"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="121"/>
<source>Shadow upper right</source>
<translation>Σκιά πάνω δεξιά</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="78"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="122"/>
<source>Shadow bottom left</source>
<translation>Σκιά κάτω αριστερά</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="79"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="123"/>
<source>Shadow bottom right</source>
<translation>Σκιά κάτω δεξιά</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="85"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="129"/>
<source>No brush</source>
<translation>Χωρίς πινέλο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="86"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="130"/>
<source>Solid brush</source>
<translation>Συμπαγές πινέλο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="87"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="131"/>
<source>Pattern brush</source>
<translation>Μοτίβο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="88"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="132"/>
<source>Gradient 2 colors</source>
<translation>Διαβάθμιση 2 χρωμάτων</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="89"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="133"/>
<source>Gradient 3 colors</source>
<translation>Διαβάθμιση 3 χρωμάτων</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="90"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="134"/>
<source>Image from library</source>
<translation>Εικόνα από τη βιβλιοθήκη</translation>
</message>
@@ -3514,108 +3975,123 @@ Do you want to overwrite it ?</source>
<context>
<name>DlgVideoEdit</name>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="26"/>
<source>Cut video</source>
<translation>Περικοπή βίντεο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="52"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="52"/>
<source>Properties for all shots</source>
<translation>Ιδιότητες για όλα τα στιγμιότυπα</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="110"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="110"/>
<source>Start :</source>
<translation>Έναρξη: </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="117"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="117"/>
<source>Move to start position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation>Μετάβαση στο σημείο έναρξης</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="131"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="131"/>
<source>Use current position as start position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation>Χρήση της τρέχουσας θέσης ως σημείο έναρξης</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="157"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="157"/>
<source>Define the start position to use for</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation>Καθορίστε το σημείο έναρξης που θα χρησιμοποιήσετε</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="179"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="179"/>
<source>End :</source>
<translation>Τερματισμός: </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="201"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="201"/>
<source>Define the end position to use for</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation>Καθορίστε το σημείο τερματισμού που θα χρησιμοποιήσετε</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="220"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="220"/>
<source>Use current position as end position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation>Χρήση της τρέχουσας θέσης ως σημείο τερματισμού</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="234"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="234"/>
<source>Move to end position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation>Μετάβαση στο σημείο τερματισμού</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="254"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="254"/>
<source>Duration :</source>
<translation>Διάρκεια: </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="286"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="286"/>
<source>Volume :</source>
<translation>Ένταση: </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="314"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="314"/>
<source>Define the " Master Volume " for the movie</source>
<translation>Καθορίστε την ένταση του ήχου για το βίντεο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="355"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="355"/>
<source>Accept modification and exit dialog box</source>
<translation>Αποδοχή των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="358"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="358"/>
<source>&Ok</source>
<translation>&Εντάξει</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="369"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="394"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Αναίρεση της τελευταίας ενέργειας (CTRL+Z)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="397"/>
+ <source>Undo</source>
+ <translation>Αναίρεση</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="404"/>
+ <source>Ctrl+Z</source>
+ <translation>Ctrl+Z</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="411"/>
<source>Cancel modification and exit dialog box</source>
<translation>Ακύρωση των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="372"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="414"/>
<source>&Cancel</source>
<translation>&Ακύρωση</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="383"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="425"/>
<source>Open help page describing this dialog box</source>
<translation>Άνοιγμα της σελίδας βοήθειας σχετικά με αυτό το πλαίσιο διαλόγου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="386"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="428"/>
<source>&Help</source>
<translation>&Βοήθεια</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="393"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="435"/>
<source>F1</source>
<translation>F1</translation>
</message>
@@ -3623,87 +4099,87 @@ Do you want to overwrite it ?</source>
<context>
<name>DlgffDPjrProperties</name>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="19"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="20"/>
<source>Project properties</source>
<translation>Ιδιότητες έργου</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="33"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="34"/>
<source>Title :</source>
<translation>Τίτλος:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="50"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="51"/>
<source>Author :</source>
<translation>Συγγραφέας:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="60"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="61"/>
<source>Album :</source>
<translation>Άλμπουμ:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="70"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="71"/>
<source>Year :</source>
<translation>Έτος:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="120"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="121"/>
<source>Language :</source>
<translation>Γλώσσα:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="153"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="154"/>
<source>und</source>
<translation>und</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="163"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="164"/>
<source>(ISO 639 language code)</source>
<translation>(Κωδικός γλώσσας ISO 639)</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="172"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="173"/>
<source>Comment :</source>
<translation>Σχόλιο:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="182"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="183"/>
<source>Chapters :</source>
<translation>Κεφάλαια:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="222"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="223"/>
<source>Accept modification and exit dialog box</source>
<translation>Αποδοχή των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="225"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="226"/>
<source>&Ok</source>
<translation>&Εντάξει</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="236"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="237"/>
<source>Cancel modification and exit dialog box</source>
<translation>Ακύρωση των τροποποιήσεων και κλείσιμο του παραθύρου</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="239"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="240"/>
<source>&Cancel</source>
<translation>&Ακύρωση</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="250"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="251"/>
<source>Open help page describing this dialog box</source>
<translation>Άνοιγμα της σελίδας βοήθειας σχετικά με αυτό το πλαίσιο διαλόγου</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="253"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="254"/>
<source>&Help</source>
<translation>&Βοήθεια</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="260"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="261"/>
<source>F1</source>
<translation>F1</translation>
</message>
@@ -3723,13 +4199,13 @@ Do you want to overwrite it ?</source>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="156"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1385"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1397"/>
<source>Create a new empty project (Ctrl+N)</source>
<translation>Δημιουργία ενός νέου κενού έργου (Ctrl+N)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="159"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1388"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1400"/>
<source>New
project</source>
<translation>Νέο
@@ -3737,19 +4213,19 @@ project</source>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="173"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1402"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1414"/>
<source>Ctrl+N</source>
<translation>Ctrl+N</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="207"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1436"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1448"/>
<source>Open a previously saved project (Ctrl+O)</source>
<translation>Άνοιγμα ενός πρόσφατου έργου (Ctrl+O)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="210"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1439"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1451"/>
<source>Open
project</source>
<translation>Άνοιγμα
@@ -3757,19 +4233,19 @@ project</source>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="224"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1453"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1465"/>
<source>Ctrl+O</source>
<translation>Ctrl+O</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="258"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1487"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1499"/>
<source>Open a recently used project file</source>
<translation>Άνοιγμα ενός πρόσφατου αρχείου έργου</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="261"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1490"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1502"/>
<source>Open
recent</source>
<translation>Άνοιγμα
@@ -3777,13 +4253,13 @@ recent</source>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="306"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1535"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1547"/>
<source>Save current project (Ctrl+S)</source>
<translation>Αποθήκευση του τρέχοντος έργου (Ctrl+S)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="309"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1538"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1550"/>
<source>Save
project</source>
<translation>Αποθήκευση
@@ -3791,19 +4267,19 @@ project</source>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="323"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1552"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1564"/>
<source>Ctrl+S</source>
<translation>Ctrl+S</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="357"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1586"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1598"/>
<source>Save current project to a new project file</source>
<translation>Αποθήκευση του τρέχοντος έργου σε νέο αρχείο</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="360"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1589"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1601"/>
<source>Save
project as</source>
<translation>Αποθήκευση
@@ -3811,13 +4287,13 @@ project as</source>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="400"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1629"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1641"/>
<source>Define project properties</source>
- <translation>Καθορισμός ιδοτήτων του έργου</translation>
+ <translation>Καθορισμός ιδιοτήτων του έργου</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="403"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1632"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1644"/>
<source>Project
properties</source>
<translation>Ιδιότητες
@@ -3825,31 +4301,31 @@ properties</source>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="442"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1671"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1683"/>
<source>Change application and project settings</source>
<translation>Αλλαγή των ρυθμίσεων του έργου και της εφαρμογής</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="445"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1674"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1686"/>
<source>Settings</source>
<translation>Ρυθμίσεις</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="483"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1712"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1724"/>
<source>Exit application (Ctrl+W)</source>
<translation>Έξοδος από την εφαρμογή (Ctrl+W)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="486"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1715"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1727"/>
<source>Exit</source>
<translation>Έξοδος</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="499"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1728"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1740"/>
<source>Ctrl+W</source>
<translation>Ctrl+W</translation>
</message>
@@ -3860,13 +4336,14 @@ properties</source>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="559"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1786"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1798"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3212"/>
<source>Add an empty slide</source>
<translation>Προσθήκη μιας κενής διαφάνειας</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="562"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1789"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1801"/>
<source>Add
title</source>
<translation>Προσθήκη
@@ -3874,13 +4351,14 @@ title</source>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="607"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1834"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1846"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3224"/>
<source>Add image or video as slide (INS)</source>
<translation>Προσθήκη εικόνας ή βίντεο ως διαφάνεια (INS)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="610"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1837"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1849"/>
<source>Add
files</source>
<translation>Προσθήκη
@@ -3888,19 +4366,21 @@ files</source>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="624"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1851"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1863"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3227"/>
<source>Ins</source>
<translation>Ins</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="652"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1879"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1891"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3239"/>
<source>Add a previously saved project at the end of this project</source>
<translation>Προσθήκη ενός προηγούμενα αποθηκευμένου έργου στο τέλος αυτού του έργου</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="655"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1882"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1894"/>
<source>Add
project</source>
<translation>Προσθήκη
@@ -3908,446 +4388,458 @@ project</source>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="701"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1928"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1940"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3167"/>
<source>Copy current slide to clipboard and remove it (Ctrl+X)</source>
<translation>Αντιγραφή της τρέχουσας διαφάνειας στο πρόχειρο και αφαίρεσή της (Ctrl+X)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="704"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1931"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1943"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3164"/>
<source>Cut</source>
<translation>Αποκοπή</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="717"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1944"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1956"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3170"/>
<source>Ctrl+X</source>
<translation>Ctrl+X</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="745"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1972"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1984"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3182"/>
<source>Copy current slide to clipboard (Ctrl+C)</source>
<translation>Αντιγραφή της τρέχουσας διαφάνειας στο πρόχειρο (Ctrl+C)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="748"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1975"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1987"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3179"/>
<source>Copy</source>
<translation>Αντιγραφή</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="761"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1988"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2000"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3185"/>
<source>Ctrl+C</source>
<translation>Ctrl+C</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="789"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2016"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2028"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3197"/>
<source>Paste current slide from clipboard (Ctrl+V)</source>
<translation>Επικόλληση της τρέχουσας διαφάνειας από το πρόχειρο (Ctrl+V)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="792"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2019"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2031"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3194"/>
<source>Paste</source>
<translation>Επικόλληση</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="805"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2032"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2044"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3200"/>
<source>Ctrl+V</source>
<translation>Ctrl+V</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="846"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2073"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2085"/>
<source>Edit</source>
<translation>Επεξεργασία</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="884"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2111"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2123"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3152"/>
<source>Remove current slide (DEL)</source>
<translation>Αφαίρεση της τρέχουσας διαφάνειας (DEL)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="887"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2114"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2126"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3149"/>
<source>Remove</source>
<translation>Αφαίρεση</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="900"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2127"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2139"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3155"/>
<source>Del</source>
<translation>Del</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="918"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="924"/>
<source>Render video</source>
<translation>Δημιουργία του βίντεο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="954"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2185"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="960"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2197"/>
<source>Player and
smartphone</source>
<translation>Αναπαραγωγέας και
smartphone</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="999"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2230"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1005"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2242"/>
<source>Multimedia
system</source>
<translation>Σύστημα
πολυμέσων</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1038"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2269"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1044"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2281"/>
<source>For the
WEB</source>
<translation>Για το
διαδίκτυο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1077"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2308"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1083"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2320"/>
<source>Lossless</source>
<translation>Χωρίς απώλειες</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1121"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2352"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1127"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2364"/>
<source>Render project as a video</source>
<translation>Δημιουργία του βίντεο του έργου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1124"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2355"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1130"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2367"/>
<source>Advanced</source>
<translation>Για προχωρημένους</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1152"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1164"/>
<source>Help</source>
<translation>Βοήθεια</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1188"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2406"/>
- <source>Display informations about ffDiaporama</source>
- <translation>Εμφάνιση πληροφοριών σχετικά με το ffDiaporama</translation>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1200"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2418"/>
+ <source>Display information about ffDiaporama</source>
+ <translation>Προβολή πληροφοριών σχετικά με το ffDiaporama</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1191"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2409"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1203"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2421"/>
<source>About</source>
<translation>Σχετικά</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1235"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2453"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1247"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2465"/>
<source>Call ffDiaporama WIKI</source>
<translation>Άνοιγμα της τεκμηρίωσης του ffDiaporama</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1238"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2456"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1250"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2468"/>
<source>Support
and help</source>
<translation>Υποστήριξη
και βοήθεια</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1252"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2470"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1264"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2482"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1286"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2504"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1298"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2516"/>
<source>Display blog/news page from internet WEB site</source>
<translation>Εμφάνιση του ιστολογίου και της σελίδας ειδήσεων από την ιστοσελίδα στο διαδίκτυο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1289"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2507"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1301"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2519"/>
<source>What's new</source>
<translation>Τι νέο υπάρχει</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2881"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2893"/>
<source>Slide : xx/xxx</source>
<translation>Διαφάνεια: xx/xxx</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2922"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2934"/>
<source>Switch display to preview mode</source>
<translation>Εναλλαγή προβολής στην λειτουργία προεπισκόπησης</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2939"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2951"/>
<source>...</source>
<translation>...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2962"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2974"/>
<source>Switch display to sheet mode</source>
<translation>Εναλλαγή προβολής στην λειτουργία κατάτμησης</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3002"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3014"/>
<source>Enlarge thumbnails</source>
<translation>Μεγέθυνση των εικόνων επισκόπησης</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3042"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3054"/>
<source>Reduce thumbnails</source>
<translation>Σμίκρυνση των εικόνων επισκόπησης</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3073"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3089"/>
<source>Edit background</source>
<translation>Επεξεργασία φόντου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3076"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3092"/>
<source>Edit the background image for the slide</source>
<translation>Επεξεργασία της εικόνας του φόντου για την διαφάνεια</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3079"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3095"/>
<source>F5</source>
<translation>F5</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3084"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3104"/>
<source>Edit slide</source>
<translation>Επεξεργασία διαφάνειας</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3087"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3107"/>
<source>Edit the slide</source>
<translation>Επεξεργασία της διαφάνειας</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3090"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3110"/>
<source>F6</source>
<translation>F6</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3095"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3119"/>
<source>Edit music</source>
<translation>Επεξεργασία μουσικής</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3098"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3122"/>
<source>Edit the slide musical playlist</source>
<translation>Επεξεργασία της λίστας αναπαραγωγής της διαφάνειας</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3101"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3125"/>
<source>F7</source>
<translation>F7</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3106"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3134"/>
<source>Edit object transition</source>
<translation>Επεξεργασία της μετάβασης αντικειμένου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3109"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3137"/>
<source>Edit entering transition for the slide</source>
<translation>Επεξεργασία της μετάβασης εισαγωγής της διαφάνειας</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3112"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3140"/>
<source>F8</source>
<translation>F8</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3117"/>
- <source>Edit background transition</source>
- <translation>Επεξεργασία της μετάβασης του φόντου</translation>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3209"/>
+ <source>Add title</source>
+ <translation>Προσθήκη τίτλου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3120"/>
- <source>Edit the entering background transition for the slide</source>
- <translation>Επεξεργασία της μετάβασης εισαγωγής του φόντου για την διαφάνεια</translation>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3236"/>
+ <source>Add project</source>
+ <translation>Προσθήκη έργου</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="60"/>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="74"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="61"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="75"/>
<source>Search Raster mode in configuration file</source>
<translation>Αναζήτηση λειτουργίας Raster στο αρχείο διαμόρφωσης</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="274"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="275"/>
<source>All suported file (</source>
<translation>Όλα τα υποστηριζόμενα αρχεία (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="281"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="282"/>
<source>Image file (</source>
<translation>Αρχείο εικόνας (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="287"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="288"/>
<source>Video file (</source>
<translation>Αρχείο βίντεο (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="293"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="294"/>
<source>Music file (</source>
<translation>Αρχείο μουσικής (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="461"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="387"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="464"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="388"/>
<source>Read configuration file</source>
<translation>Ανάγνωση αρχείου διαμόρφωσης</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="649"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1815"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1409"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="588"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1707"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1459"/>
<source>This application support only audio track with unsigned 8 bits or signed 16 bits sample format</source>
<comment>Error message</comment>
<translation>Αυτή η εφαρμογή υποστηρίζει μόνο κομμάτια ήχου με δειγματοληψία μη υπογεγραμμένου 8bit ή υπογεγραμμένου 16bit</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="653"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1819"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1417"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="592"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1467"/>
<source>This application support only mono or stereo audio track</source>
<comment>Error message</comment>
<translation>Αυτή η εφαρμογή υποστηρίζει κομμάτια ήχου mono ή stereo μόνο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="659"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1943"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1399"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1445"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1458"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1508"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1514"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1521"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1530"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1398"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1410"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1418"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1497"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="598"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1832"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1602"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1648"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1653"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1661"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1717"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1724"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1733"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1448"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1460"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1468"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1547"/>
<source>Error</source>
<comment>Error message</comment>
<translation>Σφάλμα</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="463"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="397"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="466"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="398"/>
<source>Error reading configuration file</source>
<comment>Error message</comment>
<translation>Σφάλμα κατά την ανάγνωση του αρχείου ρυθμίσεων</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="468"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="402"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="471"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="403"/>
<source>Error reading content of configuration file</source>
<comment>Error message</comment>
<translation>Σφάλμα στην ανάγνωση του περιεχομένου του αρχείου ρυθμίσεων</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="475"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="409"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="478"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="410"/>
<source>The file is not a valid configuration file</source>
<comment>Error message</comment>
<translation>Το αρχείο δεν είναι ένα έγκυρο αρχείο ρυθμίσεων</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="642"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="456"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="645"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="457"/>
<source>Error creating configuration file</source>
<comment>Error message</comment>
<translation>Σφάλμα κατά την δημιουργία του αρχείου ρυθμίσεων</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="857"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1052"/>
<source>Title</source>
<comment>Default slide name when no file</comment>
<translation>Τίτλος</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1202"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1239"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1252"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1289"/>
<source>Saving project file ...</source>
<translation>Αποθήκευση αρχείου έργου...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1399"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1400"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1602"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1603"/>
<source>Error creating data file</source>
<comment>Error message</comment>
<translation>Σφάλμα κατά την δημιουργία του αρχείου δεδομένων</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1421"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1624"/>
<source>Open project file</source>
<translation>Άνοιγμα αρχείου έργου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1422"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1625"/>
<source>Impossible to open file </source>
<translation>Αδύνατο το άνοιγμα του αρχείου </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1422"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1625"/>
<source>Do you want to select another file ?</source>
<translation>Θέλετε να επιλέξετε ένα άλλο αρχείο;</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1425"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1628"/>
<source>Select another file for </source>
<translation>Επιλογή ενός αρχείου αντικατάστασης για </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1434"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1637"/>
<source>Impossible to open project file %1</source>
<translation>Αδύνατο το άνοιγμα του αρχείου έργου %1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1444"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1508"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1509"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1647"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1712"/>
<source>Error reading project file</source>
<comment>Error message</comment>
<translation>Σφάλμα κατά την ανάγνωση του αρχείου του έργου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1451"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1514"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1515"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1653"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1654"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1717"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1718"/>
<source>Error reading content of project file</source>
<comment>Error message</comment>
<translation>Σφάλμα στην ανάγνωση του περιεχομένου του αρχείου του έργου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1458"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1459"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1521"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1522"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1661"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1662"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1724"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1725"/>
<source>The file is not a valid project file</source>
<comment>Error message</comment>
<translation>Το αρχείο δεν είναι ένα έγκυρο αρχείο έργου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1530"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1531"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1733"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1734"/>
<source>Impossible to import this file :
Image geometry in this file is not the same than the current project</source>
<comment>Error message</comment>
@@ -4396,134 +4888,109 @@ Image geometry in this file is not the same than the current project</source>
<translation>Εκκίνηση του SDL...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="109"/>
- <source>Starting ffmpeg...</source>
- <translation>Εκκίνηση του ffmpeg...</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="118"/>
- <source>Registered video codecs for encoding :</source>
- <translation>Εγγεγραμμένοι κωδικοποιητές βίντεο:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="120"/>
- <source>Registered audio codecs for encoding :</source>
- <translation>Εγγεγραμμένοι κωδικοποιητές ήχου:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="122"/>
- <source>Registered container formats for encoding :</source>
- <translation>Εγγεγραμμένες μορφές υποδοχέα για την κωδικοποίηση:</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="124"/>
- <source> Device registered for rendering</source>
- <translation>Εγγεγραμμένη συσκευή για την αποτύπωση της ταινίας</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="126"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="117"/>
<source>Library :</source>
<translation>Βιβλιοθήκη:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="128"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="119"/>
<source>Loading background library...</source>
<translation>Φόρτωση των εικόνων φόντου...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="129"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="120"/>
<source> images loaded into the background-library from </source>
<translation> εικόνες φόντου φορτωμένες στην βιβλιοθήκη από </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="130"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="121"/>
<source>Loading no-luma transitions...</source>
<translation>Φόρτωση μεταβάσεων no-luma...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="136"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="127"/>
<source> no-luma transitions loaded into the transition-library</source>
<translation> οι μεταβάσεις no-luma φορτώθηκαν στην βιβλιοθήκη μεταβάσεων</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="137"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="128"/>
<source>Loading luma transitions...</source>
<translation>Φόρτωση μεταβάσεων luma...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="138"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="139"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="140"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="141"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="142"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="143"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="129"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="130"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="131"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="132"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="133"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="134"/>
<source> luma transitions loaded into the transition-library from </source>
<translation> οι μεταβάσεις luma φορτώθηκαν στην βιβλιοθήκη μεταβάσεων από</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="144"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="135"/>
<source> Total:</source>
<translation> Συνολικά:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="144"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="135"/>
<source> transitions loaded into the transition-library</source>
<translation> μεταβάσεις φορτώθηκαν στην βιβλιοθήκη μεταβάσεων</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="234"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="496"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="265"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="538"/>
<source>Slide : </source>
<translation>Διαφάνεια: </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="357"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="388"/>
<source>Close application</source>
<translation>Κλείσιμο εφαρμογής</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="357"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="388"/>
<source>Want to save the project before closing?</source>
<translation>Θέλετε να αποθηκεύσετε το έργο πριν να εγκαταλείψετε;</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="432"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="463"/>
<source>A new ffDiaporama release is available from WEB site. Please update from http://ffdiaporama.tuxfamily.org !</source>
<translation>Μια νέα έκδοση του ffDiaporama είναι διαθέσιμη από την ιστοσελίδα του. Παρακαλώ προβείτε στην ενημέρωση από το http://ffdiaporama.tuxfamily.org !</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="534"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="582"/>
<source>Configuration not correct!</source>
<translation>Η διαμόρφωση δεν είναι σωστή!</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="858"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="907"/>
<source><html><body>Visit the ffDiaporama Web site to use the forum,<br>consult tutorials and learn the lastest news:<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html></source>
<translation><html><body>Επισκεφτείτε την ιστοσελίδα του ffDiaporama για να χρησιμοποιήσετε το φόρουμ,<br>να δείτε τους οδηγούς εκμάθησης και να ενημερωθείτε για τα τελευταία νέα:<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1002"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1051"/>
<source>Saving configuration file and applying new configuration ...</source>
<translation>Αποθήκευση του αρχείου ρυθμίσεων και εφαρμογή της νέας διαμόρφωσης...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1038"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1090"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1112"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1087"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1139"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1161"/>
<source>Current project has been modified.
Do you want to save-it ?</source>
<translation>Το τρέχον έργο έχει τροποποιηθεί.
Θέλετε να το αποθηκεύσετε;</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1431"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1481"/>
<source>This video files contains more than one chapter.
Do you want to create one slide for each chapters ?</source>
- <translation>Αυτό το βίντεο περιέχει περισσότερα από ένα κεφάλεια.
+ <translation>Αυτό το βίντεο περιέχει περισσότερα από ένα κεφάλαια.
Θέλετε να δημιουργήσετε μια διαφάνεια για κάθε κεφάλαιο;</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="506"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="548"/>
<source><new project></source>
<comment>when project have no name define</comment>
<translation><νέο έργο></translation>
@@ -4534,42 +5001,47 @@ Do you want to create one slide for each chapters ?</source>
<translation>Φόρτωση εικονιδίων συστήματος...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="849"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="109"/>
+ <source>Starting libav...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="898"/>
<source><html><body>Select a project to open or to create a new project<br>To discover ffDiaporama:<br><a href="%1">Consult the WIKI</a></body></html></source>
<translation><html><body>Επιλέξτε το άνοιγμα ενός έργου ή τη δημιουργία ενός νέου<br>Για να ανακαλύψετε το ffDiaporama:<br><a href="%1">Ανατρέξτε στο Wiki</a></body></html></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="852"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="901"/>
<source><html><body>Add empty slides or slides based on photos or videos<br>To discover how to build your slide show and to animate slides:<br><a href="%1">Discover the principles of functioning of ffDiaporama</a></body></html></source>
- <translation><html><body>Προσθήκη κενών διαφανείων ή βασισμένες σε φωτογραφίες ή βίντεο<br>Για να ανακαλύψετε πως να δημιουργήσετε την προβολή διαφανειών και πως να προσθέσετε εφέ:<br><a href="%1">Ανακαλύψτε πως λειτουργεί το ffDiaporama</a></body></html></translation>
+ <translation><html><body>Προσθέστε κενές διαφανειες ή βασισμένες σε φωτογραφίες ή βίντεο<br>Για να ανακαλύψετε πως να δημιουργήσετε μια προβολή διαφανειών και πως να προσθέσετε εφέ:<br><a href="%1">Ανακαλύψτε πως λειτουργεί το ffDiaporama</a></body></html></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="855"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="904"/>
<source><html><body>Select the equipment type that you plan to use for your video<br>To discover how to render videos:<br><a href="%1">Consult the rendering videos WIKI page</a></body></html></source>
<translation><html><body>Επιλέξτε τον τύπο της συσκευής που σκοπεύετε να χρησιμοποιήσετε το βίντεο<br>Για να ανακαλύψετε τη δημιουργία των βίντεο:<br><a href="%1">Ανατρέξτε στη σελίδα αποτύπωσης βίντεο στο Wiki</a></body></html></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1038"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1087"/>
<source>New project</source>
<translation>Νέο έργο</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1090"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1112"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1115"/>
<location filename="../src/ffDiaporama/mainwindow.cpp" line="1139"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1161"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1164"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1188"/>
<source>Open project</source>
<translation>Άνοιγμα έργου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1094"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1117"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1126"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1143"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1166"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1175"/>
<source>Open file :</source>
<translation>Άνοιγμα αρχείου:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1140"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1189"/>
<source>This project was created with a newer version of ffDiaporama.
If you continue, you take the risk of losing data!
Do you want to open it nevertheless?</source>
@@ -4578,47 +5050,54 @@ Do you want to open it nevertheless?</source>
Θέλετε να το ανοίξετε παρ 'όλα αυτά;</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1228"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1278"/>
<source>Save project as</source>
<translation>Αποθήκευση του έργου ως</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1308"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3221"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1358"/>
<source>Add files</source>
<translation>Προσθήκη αρχείων</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="641"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1773"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1389"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="580"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1665"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1439"/>
<source>Format not supported</source>
<comment>Error message</comment>
<translation>Μη υποστηριζόμενη μορφή</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1649"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
<source>Add a sub project</source>
<translation>Προσθήκη ενός έργου</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1660"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1710"/>
<source>Add project file :</source>
- <translation>Προσθήκη αρχείου εργου:</translation>
+ <translation>Προσθήκη αρχείου έργου:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1740"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1745"/>
+ <source>Capture the image </source>
+ <translation>Σύλληψη της εικόνας</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1837"/>
<source>Remove slide</source>
<translation>Αφαίρεση διαφάνειας</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1837"/>
<source>Are you sure to want to delete this slide?</source>
<translation>Επιθυμείτε σίγουρα την διαγραφή της διαφάνειας;</translation>
</message>
<message>
<location filename="../src/ffDiaporama/cCustomTableWidget.cpp" line="80"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1348"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1628"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1398"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1678"/>
<source>Add file to project :</source>
<translation>Προσθήκη αρχείου στο έργο:</translation>
</message>
@@ -4647,29 +5126,59 @@ Do you want to open it nevertheless?</source>
<source>Applying sharpen filter</source>
<translation>Εφαρμογή φίλτρου όξυνσης</translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.cpp" line="156"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1751"/>
+ <source>Capture image</source>
+ <translation>Σύλληψη της εικόνας</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.cpp" line="157"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1752"/>
+ <source>Select destination file</source>
+ <translation>Επιλέξτε αρχείο προορισμού</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="64"/>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="116"/>
+ <source>Error during startup</source>
+ <translation>Σφάλμα κατά την εκκίνηση</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="65"/>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="117"/>
+ <source>Error during initialisation of sound system. Check your configuration and try again</source>
+ <translation>Σφάλμα κατά την αρχικοποίηση του συστήματος ήχου. Ελέγξτε τη διαμόρφωσή σας και δοκιμάστε ξανά</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="531"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="562"/>
+ <source>ffDiaporama initialisation</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCustomFolderTree</name>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="99"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
<source>Kb</source>
<comment>Unit Kb</comment>
<translation>Kb</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
<source>Mb</source>
<comment>Unit Mb</comment>
<translation>Mb</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
<source>Gb</source>
<comment>Unit Gb</comment>
<translation>Gb</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="103"/>
<source>Tb</source>
<comment>Unit Tb</comment>
<translation>Tb</translation>
@@ -4737,37 +5246,19 @@ Do you want to open it nevertheless?</source>
<translation>Η εικόνα δεν περιέχει μεταδεδομένα EXIF %1</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1099"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1143"/>
- <source>Impossible to start exiv2 - no exif informations will be decode for %1</source>
- <translation>Αδύνατη η εκκίνηση του exiv2 - δεν θα αποκωδικοποιηθούν πληροφορίες exif για το %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1104"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1148"/>
- <source>Error during exiv2 process - no exif informations will be decode for %1</source>
- <translation>Σφάλμα κατά την εκκίνηση του exiv2 - δεν θα αποκωδικοποιηθούν πληροφορίες exif για το %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1108"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1152"/>
- <source>exiv2 return error %1 - no exif informations will be decode for %2</source>
- <translation>Επιστροφή σφάλματος του exiv2 %1 - δεν θα αποκωδικοποιηθούν πληροφορίες exif για το %2</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1647"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1627"/>
<source>Video</source>
<comment>File type</comment>
<translation>Βίντεο</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1646"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1626"/>
<source>Music</source>
<comment>File type</comment>
<translation>Μουσική</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1491"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1479"/>
<source>Mono</source>
<comment>Audio channels mode</comment>
<translation>Mono</translation>
@@ -4794,7 +5285,25 @@ Do you want to open it nevertheless?</source>
<translation>ffDiaporama</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1492"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1099"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1143"/>
+ <source>Impossible to start exiv2 - no exif information will be decode for %1</source>
+ <translation>Αδύνατη η εκκίνηση του exiv2 - δεν θα αποκωδικοποιηθούν πληροφορίες exiv για το %1</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1104"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1148"/>
+ <source>Error during exiv2 process - no exif information will be decode for %1</source>
+ <translation>Σφάλμα κατά τη διεργασία του exiv2 - δεν θα αποκωδικοποιηθούν πληροφορίες exiv για το %1</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1108"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1152"/>
+ <source>exiv2 return error %1 - no exif information will be decode for %2</source>
+ <translation>Το exiv2 επέστρεψε το σφάλμα %1 - δεν θα αποκωδικοποιηθούν πληροφορίες exiv για το %2</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1480"/>
<source>Stereo</source>
<comment>Audio channels mode</comment>
<translation>Stereo</translation>
@@ -4806,7 +5315,7 @@ Do you want to open it nevertheless?</source>
<translation>Φάκελος</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1430"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1480"/>
<source>Add video file</source>
<translation>Προσθήκη αρχείου βίντεο</translation>
</message>
@@ -4814,98 +5323,98 @@ Do you want to open it nevertheless?</source>
<context>
<name>cDeviceModelList</name>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="504"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
<source>Advanced</source>
<comment>Device database type</comment>
<translation>Για προχωρημένους</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
<source>Smartphone</source>
<comment>Device database type</comment>
<translation>Smartphone</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
<source>Multimedia system</source>
<comment>Device database type</comment>
<translation>Σύστημα πολυμέσων</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
<source>For the WEB</source>
<comment>Device database type</comment>
<translation>Για το διαδίκτυο</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
<source>Lossless</source>
<comment>Device database type</comment>
<translation>Χωρίς απώλειες</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
<source>Portable Player</source>
<comment>Device database type</comment>
<translation>Φορητός αναπαραγωγέας</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
<source>Netbook/NetPC</source>
<comment>Device database type</comment>
<translation>Netbook/NetPC</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
<source>Handheld game console</source>
<comment>Device database type</comment>
<translation>Φορητή κονσόλα παιχνιδιών</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
<source>Tablet computer</source>
<comment>Device database type</comment>
<translation>Ταμπλέτα επαφής</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
<source>Multimedia hard drive and gateway</source>
<comment>Device database type</comment>
<translation>Πύλη και σκληρός δίσκος πολυμέσων</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
<source>Player</source>
<comment>Device database type</comment>
<translation>Αναπαραγωγέας</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
<source>ADSL Box</source>
<comment>Device database type</comment>
<translation>ADSL δρομολογητής</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
<source>Game console</source>
<comment>Device database type</comment>
<translation>Κονσόλα παιχνιδιών</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
<source>SWF Flash Player</source>
<comment>Device database type</comment>
<translation>SWF Αναπαραγωγέας Flash</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
<source>Video-sharing and social WebSite</source>
<comment>Device database type</comment>
<translation>Ιστοσελίδες κοινόχρηστων βίντεο και κοινωνικών δικτύων</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="521"/>
<source>HTML 5</source>
<comment>Device database type</comment>
<translation>HTML 5</translation>
@@ -4914,34 +5423,34 @@ Do you want to open it nevertheless?</source>
<context>
<name>wgt_QImageFilterTransform</name>
<message>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="558"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="608"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="630"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="651"/>
- <source>Gray</source>
- <translation>Αποχρώσεις του γκρι</translation>
- </message>
- <message>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="559"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="609"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="631"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="652"/>
- <source>Equalize</source>
- <translation>Ισοστάθμιση</translation>
+ <source>Gray</source>
+ <translation>Αποχρώσεις του γκρι</translation>
</message>
<message>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="560"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="610"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="632"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="653"/>
- <source>Despeckle</source>
- <translation>Αποκηλίδωση</translation>
+ <source>Equalize</source>
+ <translation>Ισοστάθμιση</translation>
</message>
<message>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="561"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="611"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="633"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="654"/>
+ <source>Despeckle</source>
+ <translation>Αποκηλίδωση</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="562"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="612"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="634"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="655"/>
<source>No transformation</source>
<translation>Χωρίς μετασχηματισμό</translation>
</message>
@@ -4954,5 +5463,11 @@ Do you want to open it nevertheless?</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation>Κλικ για έναρξη αναπαραγωγής, κλικ ξανά για παύση</translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/wgt_QVideoPlayer.ui" line="361"/>
+ <source>Save this image of the movie</source>
+ <extracomment>Tooltip in dialog box</extracomment>
+ <translation>Αποθήκευση αυτής της εικόνας της ταινίας</translation>
+ </message>
</context>
</TS>
diff --git a/locale/ffDiaporama_es.qm b/locale/ffDiaporama_es.qm
index 0e81a8a..d4175f4 100755
Binary files a/locale/ffDiaporama_es.qm and b/locale/ffDiaporama_es.qm differ
diff --git a/locale/ffDiaporama_es.ts b/locale/ffDiaporama_es.ts
index dec1304..1d90c98 100755
--- a/locale/ffDiaporama_es.ts
+++ b/locale/ffDiaporama_es.ts
@@ -29,11 +29,6 @@
<translation>Créditos</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgAbout.ui" line="258"/>
- <source>This application was developped using Open Source version of Qt 4.7 SDK</source>
- <translation>Esta aplicación fué desarrollada utilizando la versión Open Source de QT 4.7 SDK</translation>
- </message>
- <message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="268"/>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="318"/>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="349"/>
@@ -45,9 +40,14 @@
<translation>Sitio-WEB & licencia :</translation>
</message>
<message>
+ <location filename="../src/ffDiaporama/DlgAbout.ui" line="258"/>
+ <source>This application was developed using Open Source version of Qt 4.8 SDK</source>
+ <translation>Esta aplicación ha sido desarrollada usando la versión Open Source de Qt 4.7 SDK {4.8 ?}</translation>
+ </message>
+ <message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="305"/>
- <source>Video decoding and encoding engines are based on ffmpeg</source>
- <translation>Decodificador y codificador de Vídeo basado en ffmpeg</translation>
+ <source>Video decoding and encoding engines are based on libav</source>
+ <translation>Los motores de decodificación y codificación de video están basados en libav</translation>
</message>
<message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="336"/>
@@ -86,7 +86,7 @@
</message>
<message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="665"/>
- <source>System informations</source>
+ <source>System information</source>
<translation>Información del Sistema</translation>
</message>
<message>
@@ -98,472 +98,472 @@
<context>
<name>DlgApplicationSettings</name>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="32"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="32"/>
<source>Application settings</source>
<translation>Configuración de Aplicaciones</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2865"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2865"/>
<source>Project options (default values)</source>
<translation>Opciones del proyecto (valores por defecto)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="574"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="574"/>
<source>Project geometry:</source>
<translation>Geometría del proyecto:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="639"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="639"/>
<source>1st shot duration:</source>
<translation>Duarción de la 1ª toma:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="692"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="692"/>
<source>Next shot duration:</source>
<translation>Duaración de la siguiente toma:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="745"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="745"/>
<source>Speed wave:</source>
<translation>Curva de velocidad :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="54"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="54"/>
<source>Application Options</source>
<translation>Opciones de Aplicación</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="90"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="90"/>
<source>If this box is checked, the sizes and the positions of all the windows and dialogue box of ffDiaporama will be saved to be reused the next time which you will use ffDiaporama.</source>
<translation>Si esta casilla está marcada, los tamaños y las posiciones de todas las ventanas y el cuadro de diálogo de ffDiaporama
se guardará para ser reutilizado la próxima vez que vaya a trabajar con ffDiaporama.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="93"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="93"/>
<source>Remember Windows size and positions</source>
<translation>Recordar el tamaño y posición de ventanas</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="100"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="100"/>
<source>If this box is checked, the directories that you use for the images, the videos, the projects, the musics and the generations of movie will be saved to be reused the next time which you will use ffDiaporama.</source>
<translation>Si esta casilla está marcada, los directorios que se usarán para las imágenes, los videos, los proyectos, las músicas y las generaciones de la película
se guardarán para ser reutilizados la próxima vez que vaya a trabajar con ffDiaporama.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="103"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="103"/>
<source>Remember last used folders</source>
<translation>Recordar las últimas carpetas utilizadas</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="117"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="117"/>
<source>Application options</source>
<translation>Opciones de Aplicación</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="143"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="143"/>
<source>Preview options</source>
<translation>Opciones de previsualización</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="153"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="153"/>
<source>Frame rate :</source>
<translation>Velocidad de fotogramas :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="171"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="171"/>
<source>Defined the number of images by seconds which will be generated to show the preview.</source>
<translation>Definir número de imágenes por segundo que será generado para mostrar en previsualización.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="209"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="209"/>
<source>fps (Reduce this value for slow computer)</source>
<translation>fps (Reducir este valor para computadoras lentas)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="218"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="218"/>
<source>Image transformation :</source>
<translation>Transformación de imagen :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="228"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="228"/>
<source>If this box is checked, The effects of transformations will be applied to the images of videos during the preview.</source>
<translation>Si esta casilla está seleccionada, Los efectos de transformación serán aplicados a las imágenes de los vídeos durante la previsualización.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="231"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="231"/>
<source>Apply to video during preview</source>
<translation>Se aplica al Vídeo durante la previsualización</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="257"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="257"/>
<source>Editor options (when adding objects)</source>
<translation>Opciones del Editor (cuando se añaden objetos)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="267"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="267"/>
<source>Object position :</source>
<translation>Posición del Objeto :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="280"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="280"/>
<source>Define the position which occupy the new objects in the timeline during the insertions</source>
<translation>Definir la posición que ocuparán los nuevos objetos en la línea de tiempo durante las inserciones</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="284"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="284"/>
<source>Insert after current object</source>
<translation>Insertar después del objeto actual</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="289"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="289"/>
<source>Append at project end</source>
<translation>Insertar al final del Proyecto</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="297"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="297"/>
<source>Multiple file insertion :</source>
<translation>Inserción múltiple de archivos :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="307"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="307"/>
<source>Adjust the way will be sorted out files when you select several files in Add file.</source>
<translation>Ajustar la forma en que se ordenan los archivos cuando se seleccionan varios archivos en Añadir Archivo.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="310"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="310"/>
<source>Sort file by last number</source>
<translation>Ordenar archivos por el último número</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="822"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="822"/>
<source>Defined the transition to be inserted between slides during the insertions:
Chosen randomly a transition in the library</source>
<translation>Definir la transición que se insertará entre las diapositivas durante las inserciones:
Escoger transición de la biblioteca de forma aleatoria</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="833"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="857"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="881"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="833"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="857"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="881"/>
<source>TransitionButtons</source>
<translation>Botones de Transición</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="846"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="846"/>
<source>Defined the transition to be inserted between slides during the insertions:
No transition</source>
<translation>Definir la transición que se insertará entre las diapositivas durante las inserciones:
Sin transición</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="870"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="870"/>
<source>Defined the transition to be inserted between slides during the insertions:
Crossfade transition</source>
<translation>Definir la transición que se insertará entre las diapositivas durante las inserciones:
Transición de fundido</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="906"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="906"/>
<source>Define the transition duration</source>
<translation>Define la duración de la transición</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="670"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="723"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="953"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="670"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="723"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="953"/>
<source>sec</source>
<translation>seg</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="330"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="330"/>
<source>If this box is checked, a confirmation will display every time you remove an object</source>
<translation>Si esta casilla está seleccionada, se mostrará un diálogo de confimación para eliminar un objeto</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="333"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="333"/>
<source>Ask user confirmation to remove slide, object or shot</source>
- <translation>Preguntar al usuario confirmación para eliminar diapositivo, objeto o toma</translation>
+ <translation>Preguntar al usuario confirmación para eliminar diapositiva, objeto o toma</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="340"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="340"/>
<source>Object deletion :</source>
<translation>Eliminación de objetos :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="350"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="350"/>
<source>Coordinates unit :</source>
<translation>Unidad de coordenadas :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="360"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="360"/>
<source>Select the unit of the coordinates which will be used in properties dialog box</source>
<translation>Selecciona la unidad de coordenadas que se utilizará en las propiedades del trabajo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="364"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="364"/>
<source>Percent</source>
<translation>Porcentaje</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="369"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="369"/>
<source>Pixel</source>
<translation>Pixel</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="377"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="377"/>
<source>Enable "raster" Graphics System (Need application restart)</source>
<translation>Activar "raster" Graphics System (Necesitas reiniciar la aplicación)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="503"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="503"/>
<source>Automatically crop 1920x1088 video to 1920x1080</source>
<translation>Corta automáticamente 1920x1088 a 1920x1080</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="418"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="418"/>
<source>SDL Audio use old mode</source>
<translation>Usar SDL Audio (para el sonido en previsualización)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="438"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="438"/>
<source>256 Mb</source>
<translation>256 Mb</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="443"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="443"/>
<source>512 Mb</source>
<translation>512 Mb</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="448"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="448"/>
<source>1 Gb</source>
<translation>1 Gb</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="453"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="453"/>
<source>2 Gb</source>
<translation>2 Gb</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="427"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="427"/>
<source>Memory profil :</source>
<translation>perfil de Memoria :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="384"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="384"/>
<source>Image smoothing :</source>
<translation>Suavizar imagen :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="394"/>
<source>Smooth image during preview</source>
<translation>Suavizar imagen en previsualización</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="401"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="401"/>
<source>Use quick resampler during preview</source>
<translation>Cálculo rápido durante la previsualización</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="408"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="408"/>
<source>Audio resampling :</source>
<translation>Calculando Audio :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="476"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="476"/>
<source>Transformed image :</source>
<translation>Imagen transformada :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="486"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="486"/>
<source>Create cache file (with _ffd suffix) for transformed images</source>
<translation>Crear caché (con sufijo _ffd) para imágenes transformadas</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="493"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="493"/>
<source>Video :</source>
<translation>Video :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="515"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="515"/>
<source>Project Options</source>
<translation>Opciones del Proyecto</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="564"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="564"/>
<source>Project properties (default values)</source>
<translation>Propiedades del proyecto (valores predeterminados)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="592"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="592"/>
<source>Select the geometry of image to be used for the creation of the projects.</source>
<translation>Seleccionar geometría de la imagen que se utilizará para la creación de proyectos.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="599"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="599"/>
<source>Old TV (4:3)</source>
<translation>Antigua TV (4:3)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="604"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="604"/>
<source>TV Wide (16:9)</source>
<translation>TV panorámica (16:9)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="609"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="609"/>
<source>Cinema (2.35:1)</source>
<translation>Cinema (2.35:1)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="617"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="617"/>
<source>(Only for new project)</source>
<translation>(Sólo para nuevos proyectos)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="657"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="657"/>
<source>Defined the default duration of the first shot of slides during their creation.</source>
<translation>Definir la duración predeterminada de la primera toma de diapositiva durante su creación.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="710"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="710"/>
<source>Defined the default duration of next shots.</source>
<translation>Definir la duración predeterminada de las siguientes tomas.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="763"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="763"/>
<source>Defined the curve of speed to be used for the transitions and the animations.</source>
<translation>Definir la curva de velocidad que será usada en las transiciones y animaciones.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="770"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="770"/>
<source>Linear</source>
<translation>Lineal</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="775"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="775"/>
<source>Quarter sine</source>
<translation>Cuarto de seno</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="798"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="798"/>
<source>Default transition:</source>
<translation>Transición predeterminada:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="994"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="994"/>
<source>Default options for new text block</source>
<translation>Opciónes predeterminadas para el nuevo bloque de texto</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1010"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1010"/>
<source>Text</source>
<translation>Texto</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1026"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1026"/>
<source>Background</source>
<translation>Fondo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1061"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1061"/>
<source>Default options for new image or video block (when adding block in slide dialog)</source>
<translation>Opciones predeterminadas para el nuevo bloque de imagen o vídeo (cuando se añade un bloque en el diálogo de diapositiva)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1079"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1223"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1441"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1502"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1563"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1624"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1685"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1814"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1875"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1936"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2233"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2294"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2355"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2416"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2477"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2538"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2599"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2660"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2721"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1079"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1223"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1441"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1502"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1563"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1624"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1685"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1814"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1875"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1936"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2233"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2294"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2355"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2416"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2477"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2538"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2599"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2660"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2721"/>
<source>For 4:3 project:</source>
<translation>Para un proyecto 4:3:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1096"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1230"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1448"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1509"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1570"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1631"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1692"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1821"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1882"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1943"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2240"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2301"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2362"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2423"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2484"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2545"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2606"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2667"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2728"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1096"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1230"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1448"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1509"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1570"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1631"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1692"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1821"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1882"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1943"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2240"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2301"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2362"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2423"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2484"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2545"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2606"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2667"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2728"/>
<source>For 16:9 project:</source>
<translation>Para un proyecto 16:9:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1103"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1237"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1455"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1516"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1577"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1638"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1699"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1828"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1889"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1950"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2247"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2308"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2369"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2430"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2491"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2552"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2613"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2674"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2735"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1103"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1237"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1455"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1516"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1577"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1638"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1699"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1828"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1889"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1950"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2247"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2308"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2369"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2430"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2491"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2552"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2613"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2674"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2735"/>
<source>For cinema project:</source>
<translation>Para un proyecto Cinema:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1138"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1138"/>
<source>Coordinates</source>
<translation>Coordenadas</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1167"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1167"/>
<source>Default options for new image or video block (when creating slide)</source>
<translation>Opciones predeterminadas para un nuevo bloque de image o video (cuando se crea una diapositiva)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1183"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2810"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1183"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2810"/>
<source>Text style</source>
<translation>Estilo de Texto</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1202"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1282"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2829"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1202"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1282"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2829"/>
<source>Shape</source>
<translation>Forma</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1301"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2025"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1301"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2025"/>
<source>Coordinates
for 3:2
image in
@@ -576,8 +576,8 @@ en modo
paisaje</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1324"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2048"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1324"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2048"/>
<source>Coordinates
for 3:2
image in
@@ -590,8 +590,8 @@ en modo
retrato</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1347"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2071"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1347"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2071"/>
<source>Coordinates
for 4:3
image in
@@ -604,8 +604,8 @@ en modo
paisaje</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1370"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2094"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1370"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2094"/>
<source>Coordinates
for 4:3
image in
@@ -618,8 +618,8 @@ en modo
retrato</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1393"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2117"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1393"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2117"/>
<source>Coordinates
for 16:9
image in
@@ -632,8 +632,8 @@ en modo
paisaje</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1416"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2140"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1416"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2140"/>
<source>Coordinates
for 16:9
image in
@@ -646,8 +646,8 @@ en modo
retrato</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1744"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2163"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1744"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2163"/>
<source>Coordinates
for cinema
image in
@@ -660,8 +660,8 @@ en modo
paisaje</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1767"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2186"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1767"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2186"/>
<source>Coordinates
for cinema
image in
@@ -674,8 +674,8 @@ en modo
retrato</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1790"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2209"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1790"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2209"/>
<source>Coordinates
for
nonstandard
@@ -685,283 +685,283 @@ para imagen
no estándar</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2842"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2842"/>
<source>Title :</source>
<translation>Título :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2875"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2875"/>
<source>Author :</source>
<translation>Autor :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2893"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2893"/>
<source>No automatic filling</source>
<translation>Sin completado automático</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2898"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2898"/>
<source>Fill with project name when project save (if not yet defined)</source>
<translation>Llenar con el nombre del proyecto cuando lo guardemos (si aún no se ha definido)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2903"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2903"/>
<source>Fill with project folder name when project save (if not yet defined)</source>
<translation>Llenar con el nombre del directorio del proyecto cuando lo guardemos (si aún no se ha definido)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2911"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2911"/>
<source>Default language :</source>
<translation>Idioma predeterminado :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2944"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2944"/>
<source>und</source>
<translation>und</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2954"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2954"/>
<source>(ISO 639 language code)</source>
<translation>(ISO 639 código idioma)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2968"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2968"/>
<source>Rendering Options</source>
<translation>Opciones de generación de video</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3036"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3036"/>
<source>Default advanced rendering options</source>
<translation>Opciones avanzadas y predeterminadas para la generación de video</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3263"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3263"/>
<source>Video standard :</source>
<translation>Norma de video :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3386"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3386"/>
<source>Use title project as video name</source>
<translation>Usar título del proyecto como nombre del video</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3407"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3407"/>
<source>Lossless :</source>
<translation>Lossless :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3464"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3464"/>
<source>Manage Devices</source>
<translation>Gestionar dispositivos</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3043"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3043"/>
<source>Video codec :</source>
<translation>Codec de vídeo :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3056"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3056"/>
<source>File format :</source>
<translation>Formato de Archivo :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3322"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3322"/>
<source>Format :</source>
<translation>Formato :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3341"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3423"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3341"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3423"/>
<source>Select the default image format to use for the rendering among the proposed list. </source>
<translation>Seleccionar el formato de imagen predeterminado para generar según lista propuesta. </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3284"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3284"/>
<source>Select the default video standard to use, PAL or NTSC.</source>
<translation>Seleccionar formato de vídeo predeterminado, PAL o NTSC.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3288"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3288"/>
<source>PAL</source>
<translation>PAL</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3293"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3293"/>
<source>NTSC</source>
<translation>NTSC</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3075"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3146"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3075"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3146"/>
<source>Bit rate :</source>
<translation>Tasa de Bits :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3100"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3100"/>
<source>Select the default bit rate to use for video during the rendering among the proposed list. </source>
<translation>Seleccionar tasa de bits para el vídeo durante la generación del video según lista propuesta. </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3113"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3113"/>
<source>Select the default video codec to use for the rendering among the proposed list. </source>
<translation>Seleccionar codec de vídeo para la generación del video según lista propuesta. </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3120"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3120"/>
<source>Select the default audio codec to use for the rendering among the proposed list. </source>
<translation>Seleccionar el codec de audio para la generación del video según lista propuesta. </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3127"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3127"/>
<source>Audio codec :</source>
<translation>Codec de audio :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3171"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3171"/>
<source>Select the default bit rate to use for audio during the rendering among the proposed list. </source>
<translation>Selecciona la tasa de bits predeterminada para el audio durante la generación, según lista propuesta. </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3368"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3368"/>
<source>Default device mode rendering options</source>
<translation>Opciones predeterminadas para el modo generación de video</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3178"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3178"/>
<source>Smartphone :</source>
<translation>Smartphone :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3188"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3188"/>
<source>Multimedia system :</source>
<translation>Sistema Multimedia :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3198"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3198"/>
<source>For the WEB :</source>
<translation>Para la WEB :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3208"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3208"/>
<source>Select the type of equipment which will be proposed by default when you will click the "Player and Smartphone" button of the "Render movie" menu</source>
<translation>Seleccione el tipo de equipo que se propone de forma predeterminada cuando se haga clic en "Player y Smartphone" botón del menú "Generar video"</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3215"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3215"/>
<source>Select the type of equipment which will be proposed by default when you will click the "For the WEB" button of the "Render movie" menu</source>
<translation>Seleccione el tipo de equipo que se propone de forma predeterminada cuando se haga clic en "Para la WEB" botón del menú "Generar video"</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3222"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3222"/>
<source>Select the type of equipment which will be proposed by default when you will click the "Multimedia system" button of the "Render movie" menu</source>
<translation>Seleccione el tipo de equipo que se propone de forma predeterminada cuando se haga clic en "Sistema Multimedia" botón del menú "Generar video"</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3256"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3256"/>
<source>Select the default file type to use for the rendering among the proposed list.</source>
<translation>Seleccionar el tipo de archivo predeterminado que se utilizará para el render entre la lista propuesta.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3229"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3229"/>
<source>Select the model of equipment which will be proposed by default when you will click the "Player and Smartphone" button of the "Render movie" menu</source>
<translation>Seleccionar el modelo de equipo que se propone de forma predeterminada cuando se haga clic en "Player y Smartphone" botón del menu en "Generar video"</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3236"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3236"/>
<source>Select the model of equipment which will be proposed by default when you will click the "Multimedia system" button of the "Render movie" menu</source>
<translation>Seleccionar el modelo de equipo que se propone de forma predeterminada cuando se haga clic en "Sistema Multimedia" botón del menu en "Generar video"</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3243"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3243"/>
<source>Select the model of equipment which will be proposed by default when you will click the "For the WEB" button of the "Render movie" menu</source>
<translation>Seleccionar el modelo de equipo que se propone de forma predeterminada cuando se haga clic en "Para la WEB" botón del menu en "Generar video"</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3351"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3351"/>
<source>Default video name :</source>
<translation>Nombre del video :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3381"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3381"/>
<source>Use project name as video name</source>
<translation>Usar nombre del proyecto como nombre del video</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3376"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3376"/>
<source>Use project folder's name as video name</source>
<translation>Usar nombre de directorio del proyecto como nombre del video</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3453"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3453"/>
<source>Check Configuration</source>
<translation>Comprobar Configuración</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3488"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3488"/>
<source>Accept modification and exit dialog box</source>
<translation>Aceptar modificación y salir de este diálogo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3491"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3491"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3502"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3502"/>
<source>Cancel modification and exit dialog box</source>
<translation>Cancelar modificación y salir de este diálogo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3505"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3505"/>
<source>&Cancel</source>
<translation>&Cancelar</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3516"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3516"/>
<source>Open help page describing this dialog box</source>
<translation>Abrir página de Ayuda relacionada con éste diálogo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3519"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3519"/>
<source>&Help</source>
<translation>&Ayuda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3526"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3526"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="173"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="180"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="176"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="183"/>
<source>Lock to image geometry</source>
<translation>Bloquear esta geometría de la imagen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="174"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="181"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="177"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="184"/>
<source>Lock to project geometry-to full image</source>
<translation>Bloquear esta geometría de proyecto a imagen completa</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="175"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="182"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="178"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="185"/>
<source>Lock to project geometry-to width</source>
<translation>Bloquear esta geometría de proyecto a la anchura</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="176"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="183"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="179"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="186"/>
<source>Lock to project geometry-to height</source>
<translation>Bloquear esta geometría de proyecto a la altura</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="361"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="364"/>
<source>Language selection</source>
<translation>Seleccionar idioma</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="362"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="365"/>
<source>Language must be empty or an ISO 639 language code (3 characters)
See help for more details!</source>
<translation>El idioma debe estar vacío o con un código 639 (3 caracteres)
@@ -971,77 +971,92 @@ See help for more details!</source>
<context>
<name>DlgBackgroundProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="26"/>
<source>Background properties</source>
<translation>Propiedades del fondo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="44"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="44"/>
<source>Same background as precedent object</source>
<translation>Mismo fondo que objeto precedente</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="57"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="57"/>
<source>Select a new background</source>
<translation>Seleccionar nuevo fondo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="261"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="261"/>
<source>Keep aspect ratio</source>
<translation>Mantener relación de aspecto</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="224"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="224"/>
<source>Full filling (deform image)</source>
<translation>Llenado completo (deforma la imagen)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="655"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="655"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="666"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="691"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Deshacer última acción (CTRL+Z)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="694"/>
+ <source>Undo</source>
+ <translation>Deshacer</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="701"/>
+ <source>Ctrl+Z</source>
+ <translation>Ctrl+Z</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="708"/>
<source>&Cancel</source>
<translation>&Cancelar</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="677"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="719"/>
<source>&Help</source>
<translation>&Ayuda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="684"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="726"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="47"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="73"/>
<source>Solid brush</source>
<translation>Fondo sólido</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="49"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="75"/>
<source>Gradient 2 colors</source>
<translation>Gradiente 2 colores</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="51"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="77"/>
<source>Gradient 3 colors</source>
<translation>Gradiente 3 colores</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="53"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="79"/>
<source>Image from library</source>
<translation>Imagen desde biblioteca</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="55"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="81"/>
<source>Image from disk</source>
<translation>Imagen desde disco</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="305"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="310"/>
<source>Select a file</source>
<translation>Selecciona archivo</translation>
</message>
@@ -1084,124 +1099,125 @@ See help for more details!</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="63"/>
- <source>ffmpeg not found - critical - application will stop !</source>
- <translation>ffmpeg no encontrado - critico - la aplicación se detiene !</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="165"/>
- <source>ffmpeg Audio Codecs</source>
- <translation>ffmpeg Codecs de Audio</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="179"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="177"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="181"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="186"/>
<source>available</source>
<translation>disponible</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="60"/>
- <source>Unable to determine ffmpeg version</source>
- <translation>No se puede conocer versión de ffmpeg</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="67"/>
+ <source>Unable to determine %1 version</source>
+ <translation>No se puede determinar la versión %1</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="70"/>
+ <source>%1 not found - critical - application will stop !</source>
+ <translation>%1 no encontrado - critico - la aplicación se detendrá !</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="103"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="110"/>
<source>LibExiv2 version:</source>
<translation>versión de LibExiv2:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="105"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="112"/>
<source>LibExiv2/Exiv2 binary version</source>
<translation>Versión de LibExiv2/Exiv2</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="177"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="181"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="187"/>
<source>not available</source>
<translation>no disponible</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<source>LibExiv2 support for preview image</source>
<translation>Soporte de LibExiv2 para previsualizar imagen</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="119"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
<source>TAGLib version:</source>
<translation>Versión TAGLib:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<source>TAGLib support for FLAC</source>
<translation>Soporte de TAGLib para FLAC</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
<source>TAGLib support for ASF/WMA</source>
<translation>Soporte de TAGLib para ASF/WMA</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<source>TAGLib support for M4A/MP4</source>
<translation>Soporte de TAGLib para M4A/MP4</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="149"/>
- <source>ffmpeg version:</source>
- <translation>Versión de ffmpeg:</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="156"/>
+ <source>encoder version:</source>
+ <translation>versión del codificador:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="150"/>
- <source>LIBAVCODEC version:</source>
- <translation>Versión de LIBAVCODEC:</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
+ <source>LIBAV support for TAG and CHAPTERS</source>
+ <translatorcomment>LIBAV soporta TAG y CAPÍTULOS</translatorcomment>
+ <translation></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="151"/>
- <source>LIBAVFORMAT version:</source>
- <translation>Versión de LIBAVFORMAT:</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="172"/>
+ <source>libav Audio Codecs</source>
+ <translation>libav Audio Codecs</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="152"/>
- <source>LIBSWSCALE version:</source>
- <translation>Versión de LIBSWSCALE:</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="176"/>
+ <source>libav Video Codecs</source>
+ <translation>libav Video Codecs</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <source>ffmpeg support for TAG and CHAPTERS</source>
- <translation>Soporte de ffmpeg para TAG y CAPÍTULOS</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <source>libav Container Formats</source>
+ <translation>libav Contenedores Formatos</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="169"/>
- <source>ffmpeg Video Codecs</source>
- <translation>ffmpeg Codecs de Video</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="157"/>
+ <source>LIBAVCODEC version:</source>
+ <translation>Versión de LIBAVCODEC:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
- <source>ffmpeg Container Formats</source>
- <translation>ffmpeg Formatos</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="158"/>
+ <source>LIBAVFORMAT version:</source>
+ <translation>Versión de LIBAVFORMAT:</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="178"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <source>LIBSWSCALE version:</source>
+ <translation>Versión de LIBSWSCALE:</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="185"/>
<source>Lossless</source>
<translation>Sin pérdidas</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="179"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="186"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="187"/>
<source>Lossless rendering</source>
<translation>Generación sin pérdidas</translation>
</message>
@@ -1209,298 +1225,328 @@ See help for more details!</source>
<context>
<name>DlgImageCorrection</name>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="26"/>
<source>Image framing and correction</source>
<translation>Encuadrar y corregir imagen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="107"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="110"/>
<source>Properties for this shot</source>
<translation>Propiedades para esta toma</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="158"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="161"/>
<source>Define the horizontal position from the left (X).</source>
<translation>Definir posición horizontal desde la izquierda (X).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="223"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="226"/>
<source>Define the vertical position from the top of the image ( Y ).</source>
<translation>Definir posición vertical desde arriba ( Y ).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1345"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1348"/>
<source>Properties for all shots</source>
<translation>Propiedades todas las tomas</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1735"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1423"/>
+ <source>Select another file</source>
+ <translation>Selecciona otro archivo</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1738"/>
<source>Define automatically the framing to the width of the image.</source>
<translation>Definir automáticamente el encuadre de la imagen a partir de la anchura.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1755"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1758"/>
<source>Define automatically the framing to the height of the image.</source>
<translation>Definir automáticamnete el encuadre de la imagen a partir de la altura.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1787"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1790"/>
<source>Define automatically the framing to the diagonal of the image.</source>
<translation>Definir automáticamnete el encuadre de la imagen a partir de la diagonal.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="244"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1843"/>
+ <source>Enable or disable rulers corresponding to the margins of television sets.</source>
+ <translation>Activar o desactivar reglas correspondientes a los márgenes de los aparatos de televisión.</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1846"/>
+ <source>Rullers</source>
+ <translation>Reglas</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1915"/>
+ <source>Undo</source>
+ <translation>Deshacer</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1922"/>
+ <source>Ctrl+Z</source>
+ <translation>Ctrl+Z</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="247"/>
<source>Define the width</source>
<translation>Definir la Anchura</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="314"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="317"/>
<source>Define the height</source>
<translation>Definir la Altura</translation>
</message>
<message utf8="true">
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1601"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1604"/>
<source>Turn the image to the left (on the multiple fellow man of 90°).</source>
<translation>Gire la imagen a la izquierda (aprox. múltiple de 90 °).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1638"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1641"/>
<source>Define the rotation angle for z axis.</source>
<translation>Definir ángulo de rotación sobre eje Z.</translation>
</message>
<message utf8="true">
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1669"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1672"/>
<source>Turn the image to the right (on the multiple fellow man of 90°).</source>
<translation>Girar la imagen a la derecha (aprox. múltiple de 90 °).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="398"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="431"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="401"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="434"/>
<source>Adjust luminosity</source>
<translation>Ajustar Luminosidad</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="512"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="545"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="515"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="548"/>
<source>Adjust contrast</source>
<translation>Ajustar Contraste</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="613"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="649"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="616"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="652"/>
<source>Adjust gamma</source>
<translation>Ajustar Gamma</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="726"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="759"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="729"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="762"/>
<source>Adjust red chanel</source>
<translation>Ajustar canal Rojo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="833"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="866"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="836"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="869"/>
<source>Adjust green chanel</source>
<translation>Ajustar canal Verde</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="940"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="973"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="943"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="976"/>
<source>Adjust blue chanel</source>
<translation>Ajustar canal Azul</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="447"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="561"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="668"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="775"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="882"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="989"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1169"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="450"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="564"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="671"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="778"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="885"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="992"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1172"/>
<source>Reset to zero</source>
<translation>Restablecer a cero</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1028"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1031"/>
<source>Apply a filter to the photo or the images of the video</source>
<translation>Aplicar un filtro a la foto o las imágenes del video</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1107"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1238"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1283"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1110"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1241"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1286"/>
<source>Define a blur/sharpen filter to the photo</source>
<translation>Definir filtro para la imagen: difuminado/nítido</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1305"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1308"/>
<source>Reset to 5</source>
<translation>reajustar a 5</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1398"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1401"/>
<source>Name of image/video file</source>
<translation>Nombre de imagen/vídeo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1420"/>
- <source>Select an other file</source>
- <translation>Seleccionar otro archivo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1473"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1476"/>
<source>Framing :</source>
<translation>Encuadre:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1504"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1507"/>
<source>Image correction :</source>
<translation>Corrección de imagen:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1834"/>
- <source>Show/Hide rullers</source>
- <translation>Mostrar/Ocultar reglas</translation>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1912"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Deshacer última acción (CTRL+Z)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1867"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1870"/>
<source>Accept modification and exit dialog box</source>
<translation>Aceptar modificación y salir del diálogo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1870"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1873"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1881"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1929"/>
<source>Cancel modification and exit dialog box</source>
<translation>Cancelar modificación y salir del diálogo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1884"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1932"/>
<source>&Cancel</source>
<translation>&Cancelar</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1895"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1943"/>
<source>Open help page describing this dialog box</source>
<translation>Abrir página de Ayuda relacionada con este diálogo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1898"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1946"/>
<source>&Help</source>
<translation>&Ayuda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1905"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1953"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="65"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="521"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="524"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="101"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="747"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="750"/>
<source>Unlock</source>
<translation>Desbloquear</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="66"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="525"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="102"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="751"/>
<source>Lock to this geometry</source>
<translation>Bloquear esta geometría</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="67"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="526"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="103"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="752"/>
<source>Lock to project geometry</source>
<translation>Bloquear esta geometría del proyecto</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="68"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="104"/>
<source>Lock to image geometry</source>
<translation>Bloquear esta geometría de la imagen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="379"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="343"/>
<source>Creating cached filtered file ...</source>
<translation>Creando archivo de caché ...</translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="515"/>
+ <source>No style for nonstandard geometry image</source>
+ <translation>Sin estilo para geometría de imagen no estándar</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="564"/>
+ <source>Select a file</source>
+ <translation>Selecciona archivo</translation>
+ </message>
</context>
<context>
<name>DlgInfoFile</name>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="25"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="26"/>
<source>File information</source>
<translation>Información de archivo</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="93"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="94"/>
<source>File name :</source>
<translation>Nombre de archivo :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="100"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="101"/>
<source>File type :</source>
<translation>Tipo de archivo :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="133"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="134"/>
<source>File size :</source>
<translation>Tamaño de archivo :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="153"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="154"/>
<source>File created :</source>
<translation>Archivo creado :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="167"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="168"/>
<source>File modify :</source>
<translation>Archivo modificado :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="219"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="220"/>
<source>Video track information</source>
<translation>Información de pista de video</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="323"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="324"/>
<source>Chapter information</source>
<translation>Información de capítulo</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="288"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="289"/>
<source>Audio track information</source>
<translation>Información de pista de audio</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="379"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="380"/>
<source>Additional information</source>
<translation>Información adicional</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="418"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="419"/>
<source>Accept modification and exit dialog box</source>
<translation>Aceptar modificación y salir</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="421"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="422"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="432"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="433"/>
<source>Open help page describing this dialog box</source>
<translation>Abrir página de ayuda que trata sobre este tema</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="435"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="436"/>
<source>&Help</source>
<translation>&Ayuda</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="442"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="443"/>
<source>F1</source>
<translation>F1</translation>
</message>
@@ -2017,30 +2063,30 @@ Please select another name!</source>
¡Selecciona otro nombre, por favor!</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="563"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="771"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="377"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="398"/>
<source>Adjust to image width</source>
<translation>Ajusta imagen a la anchura</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="564"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="772"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="378"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="399"/>
<source>Adjust to image height</source>
<translation>Ajusta imagen a la altura</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="565"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="773"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="379"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="400"/>
<source>Adjust to full image</source>
<translation>Ajusta al tamaño completo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="544"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="546"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="566"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="774"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="785"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="787"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="380"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="401"/>
<source>Custom</source>
@@ -2050,176 +2096,176 @@ Please select another name!</source>
<context>
<name>DlgMusicProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="26"/>
<source>Music properties</source>
<translation>Propiedades de la Música</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="38"/>
- <source>Allows to continue to play the play list define by a previous slide</source>
- <translation>Permitir continuar reproduciendo lista de reproducción definido en una diapositiva anterior</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="41"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="41"/>
<source>Continue current playlist (defined in a previous slide)</source>
<translation>Continuar reproduciendo lista actual (definida en una diapositiva anterior)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="44"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="201"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="44"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="201"/>
<source>buttonGroup</source>
<translation>buttonGroup</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="68"/>
- <source>Allows to indicate that from now on, the sound volume is reduced.</source>
- <translation>Permitir indicar que de aquí en adelante el volumen de sonido será reducido.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="71"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="71"/>
<source>Change volume level to :</source>
<translation>Cambiar nivel de volumen a :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="74"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="173"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="186"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="74"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="173"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="186"/>
<source>buttonGroup_2</source>
<translation>buttonGroup_2</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="99"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="99"/>
<source>Define the sound volume for this slide</source>
<translation>Definir volumen para este diapositivo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="167"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="167"/>
<source>Set music to pause during this slide</source>
<translation>Pausar música durante esta presentación</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="170"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="170"/>
<source>Set to pause</source>
<translation>Pausar</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="180"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="180"/>
<source>No specific settings</source>
<translation>Sin configuración específica</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="183"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="183"/>
<source>Normal</source>
<translation>Normal</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="195"/>
- <source>Allows to start a new playlist.</source>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="38"/>
+ <source>Allows one to continue to play the play list define by a previous slide</source>
+ <translation>Permitir continuar reproduciendo la lista de reproducción definida en una diapositiva anterior</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="68"/>
+ <source>Allows one to indicate that from now on, the sound volume is reduced.</source>
+ <translation>Permitir indicar desde este punto, la reducción del volumen de sonido.</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="195"/>
+ <source>Allows one to start a new playlist.</source>
<translation>Permitir iniciar una nueva lista de reproducción.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="198"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="198"/>
<source>Start a new playlist from this slide</source>
<translation>Iniciar una nueva lista de reproducción para esta diapositiva</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="216"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="216"/>
<source>Add a file to the playlist</source>
<translation>Añadir archivo a lista de reproducción</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="230"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="230"/>
<source>Remove the current selected file</source>
<translation>Eliminar archivo actual seleccionado</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="244"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="244"/>
<source>Change the order in which will be played the music files:
Move the current selected file of a notch upward.</source>
<translation>Cambiar el orden en que se reproducirán los archvos de música:
Desplazar el archivo actual desde la señal hasta arriba.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="259"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="259"/>
<source>Change the order in which will be played the music files:
Move the current selected file of a notch downward.</source>
<translation>Cambiar el orden en que se reproducirán los archvos de música:
Desplazar el archivo actual desde la señal hasta abajo.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="274"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="274"/>
<source>Total playlist duration : </source>
<translation>Duración total de la lista de reproducción : </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="324"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="324"/>
<source>File</source>
<translation>Archivo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="334"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="334"/>
<source>Duration</source>
<translation>Duración</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="344"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="344"/>
<source>Volume</source>
<translation>Volumen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="354"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="354"/>
<source>Source folder</source>
<translation>Carpeta de origen</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="392"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="392"/>
<source>Accept modification and exit dialog box</source>
<translation>Aceptar modificación y salir de este diálogo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="395"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="395"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="406"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="406"/>
<source>Cancel modification and exit dialog box</source>
<translation>Cancelar modificación y salir de este diálogo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="409"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="409"/>
<source>&Cancel</source>
<translation>&Cancelar</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="420"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="420"/>
<source>Open help page describing this dialog box</source>
<translation>Abrir pagina de Ayuda relacionada con este diálogo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="423"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="423"/>
<source>&Help</source>
<translation>&Ayuda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="430"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="430"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="235"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="217"/>
<source>Add music files</source>
<translation>Añadir archivos de música</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="268"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="250"/>
<source>Error</source>
<comment>Error message</comment>
<translatorcomment>Mensaje de error</translatorcomment>
<translation>Error</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="269"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="251"/>
<source>Format not supported</source>
<comment>Error message</comment>
<translatorcomment>Mensaje de error</translatorcomment>
@@ -2519,880 +2565,1293 @@ Desplazar el archivo actual desde la señal hasta abajo.</translation>
<translation>película</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="324"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="325"/>
<source>Select destination file</source>
<translation>Seleccione el archivo de destino</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="584"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="658"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="585"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="863"/>
<source>Stop rendering</source>
<translation>Parar generación</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="665"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="875"/>
<source>Range selection</source>
<translation>Rango</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="666"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="876"/>
<source>Slide range is defined to incorrect values</source>
<translation>Rango de diapositivas se define con valores incorrectos</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="674"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="884"/>
<source>Language selection</source>
<translation>Seleccionar idioma</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="675"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="885"/>
<source>Language must be empty or an ISO 639 language code (3 characters)
See help for more details!</source>
<translation>El idioma debe estar vacío o con un código 639 (3 caracteres)
¡Ver ayuda para más detalles!</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="682"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="892"/>
<source>Overwrite file ?</source>
<translation>¿ Sobreescribir archivo ?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="683"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="893"/>
<source>The file you selected already exist.
Do you want to overwrite it ?</source>
<translation>El archivo seleccionado ya existe.
¿ quiere sobreescribirlo ?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="701"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="713"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="910"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="941"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1186"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1241"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1250"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1261"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1276"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1291"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1316"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1336"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1345"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1357"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1506"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1510"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1073"/>
+ <source>Start avconv encoder</source>
+ <translation>Iniciar codificador avconv</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1110"/>
+ <source>Error starting avconv</source>
+ <comment>Error message</comment>
+ <translation>Error iniciando avconv</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1193"/>
+ <source>avconv error</source>
+ <comment>Error message</comment>
+ <translation>avconv error</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1230"/>
+ <source>Error during avconv process</source>
+ <comment>Error message</comment>
+ <translation>Error durante el proceso de avcon</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1234"/>
+ <source>Error exiting avconv</source>
+ <comment>Error message</comment>
+ <translation>Error saliendo de avconv</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="668"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="753"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="907"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="919"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1246"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1301"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1310"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1327"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1342"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1363"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1379"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1388"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1395"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1488"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1540"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1544"/>
<source>Render video</source>
<translation>Generar video</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="739"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="946"/>
<source>Device model selection</source>
<translation>Seleccion modelo dispositivo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="740"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="947"/>
<source>A device model is require!</source>
<translation>¡Un modelo de dispositivo es requerido!</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="823"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1031"/>
<source>Encoding sound</source>
<translation>Codificar sonido</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1010"/>
- <source>Start ffmpeg encoder</source>
- <translation>Iniciar ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1061"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1126"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1133"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1170"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1174"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1109"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1184"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1193"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1230"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1234"/>
<source>Error</source>
<comment>Error message</comment>
<translatorcomment>Mensaje de error</translatorcomment>
<translation>Error</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1062"/>
- <source>Error starting ffmpeg</source>
- <comment>Error message</comment>
- <translatorcomment>Mensaje de error</translatorcomment>
- <translation>Error lanzando ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1096"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1144"/>
<source> - Estimated time left : </source>
<translation> - Tiempo estimado restante : </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1126"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1184"/>
<source>Error sending image to ffmpeg</source>
<comment>Error message</comment>
<translatorcomment>Mensaje de error</translatorcomment>
<translation>Error enviando imagen a ffmpeg</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1133"/>
- <source>ffmpeg error</source>
- <comment>Error message</comment>
- <translation>Error en ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1155"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1215"/>
<source>Closing encoder</source>
<translation>Cerrar codificador</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1170"/>
- <source>Error during ffmpeg process</source>
- <comment>Error message</comment>
- <translatorcomment>Mensaje de error</translatorcomment>
- <translation>Error durante el proceso de ffmpeg</translation>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1246"/>
+ <source>Job completed successfully!</source>
+ <translation>¡Trabajo finalizado!</translation>
+ </message>
+</context>
+<context>
+ <name>DlgRulerDef</name>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="20"/>
+ <source>Ruler properties</source>
+ <translation>Propiedades de regla</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1174"/>
- <source>Error exiting ffmpeg</source>
- <comment>Error message</comment>
- <translatorcomment>Mensaje de error</translatorcomment>
- <translation>Error deteniendo ffmpeg</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="76"/>
+ <source>Horizontal rulers</source>
+ <translation>Reglas horizontales</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1186"/>
- <source>Job completed succesfully!</source>
- <translation>¡Trabajo completado!</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="97"/>
+ <source>Vertical rulers</source>
+ <translation>Reglas verticales</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="110"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="123"/>
+ <source>screen borders</source>
+ <translation>bordes de pantalla</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="136"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="149"/>
+ <source>TV margins</source>
+ <translation>Márgenes de TV</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="162"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="175"/>
+ <source>Screen center</source>
+ <translation>Centro de pantalla</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="195"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="202"/>
+ <source>Unselected objects</source>
+ <translation>Objetos no seleccionados</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="241"/>
+ <source>Accept modification and exit dialog box</source>
+ <translation>Aceptar modificación y salir de ventana</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="244"/>
+ <source>&Ok</source>
+ <translation>&Ok</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="255"/>
+ <source>Cancel modification and exit dialog box</source>
+ <translation>Cacelar modificación y salir de ventana</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="258"/>
+ <source>&Cancel</source>
+ <translation>&Cancelar</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="269"/>
+ <source>Open help page describing this dialog box</source>
+ <translation>Abrir página de ayuda que describe esta ventana</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="272"/>
+ <source>&Help</source>
+ <translation>&Ayuda</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="279"/>
+ <source>F1</source>
+ <translation>F1</translation>
</message>
</context>
<context>
<name>DlgSlideProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="29"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="29"/>
<source>Slide properties</source>
<translation>Propiedades de diapositiva</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="139"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="116"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3544"/>
<source>Append a shot to end of the timeline</source>
<translation>Añadir una toma al final de la línea de tiempo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="142"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3529"/>
+ <source>Add file</source>
+ <translation>Añadir archivo</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3541"/>
<source>Add shot</source>
<translation>Añadir toma</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="180"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="164"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3556"/>
<source>Remove current selected shot</source>
<translation>Eliminar toma actual seleccionada</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="183"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3415"/>
<source>Remove</source>
<translation>Eliminar</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="221"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3568"/>
<source>Change the order of the shot by moving the current selected shot, of a notch towards the left</source>
<translation>Cambiar el orden de la toma moviendo la selección actual, de una señal hacia la izquierda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="224"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3565"/>
<source>Move left</source>
<translation>Mover a la izquierda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="256"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3580"/>
<source>Change the order of the shot by moving the current selected shot, of a notch towards the right</source>
<translation>Cambiar el orden de la toma moviendo la selección actual, de una señal hacia la derecha</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="259"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3577"/>
<source>Move right</source>
<translation>Mover a la derecha</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="687"/>
<source>Indicate the duration for the current selected shot.</source>
<translation>Indicar la duración para la toma actual seleccionada.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="417"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="710"/>
<source>HH:mm:ss.zzz</source>
<translation>HH:mm:ss.zzz</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="444"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="660"/>
<source>Shot duration :</source>
<translation>Duración de la toma :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="466"/>
- <source>Total slide duration :</source>
- <translation>Duración total :</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="501"/>
+ <source>Indicate a name for the slide. It is this name which will appear on the thumbnail in the main window timeline.</source>
+ <translation>Indicar un nombre para la diapositiva. Es este nombre el que aparecerá en la miniatura de la línea de tiempo.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="504"/>
- <source>Slide name :</source>
- <translation>Nombre de diapositiva :</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="213"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3520"/>
+ <source>Add a new text block</source>
+ <translation>Añadir un nuevo bloque de texto</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="532"/>
- <source>Indicate a name for the slide. It is this name which will appear on the thumbnail in the main window timeline.</source>
- <translation>Indicar un nombre para la diapositiva. Es este nombre el que aparecerá en la miniatura de la línea de tiempo.</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3238"/>
+ <source>Undo</source>
+ <translation>Deshacer</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="216"/>
+ <source>Add
+text</source>
+ <translation>Añadir
+texto</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="261"/>
+ <source>Add
+file</source>
+ <translation>Añadir
+archivo</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="313"/>
+ <source>Edit
+block</source>
+ <translation>Editar
+bloque</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="352"/>
+ <source>Arrange blocks</source>
+ <translation>Organizar bloques</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="355"/>
+ <source>Arrange
+block</source>
+ <translation>Organizar
+bloque</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="397"/>
+ <source>Block
+information</source>
+ <translation>Bloque
+información</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2199"/>
+ <source>Text animation :</source>
+ <translation>Animación de texto :</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2209"/>
+ <source>Zoom :</source>
+ <translation>Zoom :</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2245"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2287"/>
+ <source>Define a zoom value for the text</source>
+ <translation>Definir valor de zoom para el texto</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2309"/>
+ <source>Reset to 100%</source>
+ <translation>reajustar a 100%</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2351"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2393"/>
+ <source>Scroll text from left to right</source>
+ <translation>Scroll de texto desde izquierda a derecha</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2457"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2499"/>
+ <source>Scroll text from bottom to up</source>
+ <translation>Scroll de texto desde abajo hacia arriba</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2551"/>
+ <source>Block animation :</source>
+ <translation>Animación de bloque :</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2587"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2632"/>
+ <source>Define the number of turn to be made around the Z axis during this shot</source>
+ <translation>Definir el número de giro para hacer girar en eje Z en esta toma</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2693"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2738"/>
+ <source>Define the number of turn to be made around the X axis during this shot</source>
+ <translation>Definir el número de giro para hacer girar en eje X en esta toma</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2799"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2844"/>
+ <source>Define the number of turn to be made around the Y axis during this shot</source>
+ <translation>Definir el número de giro para hacer girar en eje Y en esta toma</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3065"/>
+ <source>Type :</source>
+ <translation>Tipo :</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3078"/>
+ <source>Dissolve :</source>
+ <translation>Disolver :</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3097"/>
+ <source>Block coordinates :</source>
+ <translation>Coordenadas del bloque :</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="508"/>
+ <source>Start a new chapter from this slide</source>
+ <translation>Iniciar nuevo capítulo desde esta diapositiva</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="531"/>
+ <source>Total duration :</source>
+ <translation>Dirección total :</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3144"/>
+ <source>Rullers</source>
+ <translation>Reglas</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3289"/>
+ <source>Edit text</source>
+ <translation>Editar texto</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3301"/>
+ <source>Do image correct or reframming</source>
+ <translation>Corregir imagen o reencuadrar</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3589"/>
+ <source>Lock properties</source>
+ <translation>Fjar propiedades</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3592"/>
+ <source>Lock properties to the same values as define for the previous shot</source>
+ <translation>Fijar propiedades a los valores definidos para la toma anterior</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3601"/>
+ <source>Unlock properties from this shot</source>
+ <translation>Desbloquear propiedades para esta toma</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3604"/>
+ <source>Define properties from this shot</source>
+ <translation>Definir propiedades para esta toma</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3613"/>
+ <source>Hide</source>
+ <translation>Oculto</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3616"/>
+ <source>Make hide the active block</source>
+ <translation>Ocultar bloque activo</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3352"/>
+ <source>Make visible the active block</source>
+ <translation>Mostrar el bloque activo</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="473"/>
+ <source>Slide :</source>
+ <translation>Diapositiva :</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="511"/>
+ <source>Start chapter from here</source>
+ <translation>Iiciar capítulo desde aquí</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3361"/>
+ <source>Take the sound</source>
+ <translation>Activar sonido</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3373"/>
+ <source>Display information</source>
+ <translation>Mostrar información</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3418"/>
+ <source>Remove current block(s)</source>
+ <translation>Eliminar bloque(s) actual(es)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3445"/>
+ <source>Align top</source>
+ <translation>Alinear arriba</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3448"/>
+ <source>Align blocks to the top</source>
+ <translation>Alinear bloques hacia arriba</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3457"/>
+ <source>Align middle</source>
+ <translation>Alinear al medio</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3460"/>
+ <source>Align blocks to the middle</source>
+ <translation>Alinear bloques al medio</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3469"/>
+ <source>Align bottom</source>
+ <translation>Alinear abajo</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3472"/>
+ <source>Align blocks to the bottom</source>
+ <translation>Alinear bloques hacia abajo</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3481"/>
+ <source>Align left</source>
+ <translation>Alinear a la izquierda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="986"/>
- <source>Change the order of blocks by moving the active block upward (towards the background)</source>
- <translation>Cambiar el orden de bloques desplazanzo el bloque activo hacia arriba (hacia el fondo)</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3484"/>
+ <source>Align blocks to the left</source>
+ <translation>Alinear bloques a la izquieda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1002"/>
- <source>PgUp</source>
- <translation>PgUp</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3493"/>
+ <source>Align center</source>
+ <translation>Alinear al centro</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1030"/>
- <source>Change the order of blocks by moving the active block downward (towards the foreground)</source>
- <translation>Cambiar el orden de los bloques desplazando el bloque activo hacia abajo (hacia el primer plano)</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3496"/>
+ <source>Align blocks to the center</source>
+ <translation>Alinear bloques al centro</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1046"/>
- <source>PgDown</source>
- <translation>PgDown</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3505"/>
+ <source>Align right</source>
+ <translation>Alinear a la derecha</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="744"/>
- <source>Add a new title block</source>
- <translation>Añadir un nuevo título</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3508"/>
+ <source>Align blocks to the right</source>
+ <translation>Alinear bloques a la derecha</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="539"/>
- <source>Start a new chapter from here</source>
- <translation>Iniciar un nuevo capítulo desde aquí</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3517"/>
+ <source>Add text block</source>
+ <translation>Añadir bloque de texto</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="546"/>
- <source>Chapter :</source>
- <translation>Capítulo :</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1845"/>
+ <source>Remove block</source>
+ <translation>Eliminar bloque</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="754"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="230"/>
<source>Ctrl+Ins</source>
<translation>Ctrl+Ins</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="782"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="258"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3532"/>
<source>Add a new block of type image or video.</source>
<translation>Añadir un nuevo bloque de imagen o vídeo.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="792"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="275"/>
<source>Ins</source>
<translation>Ins</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="941"/>
- <source>Remove the current block</source>
- <translation>Eliminar bloque actual</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="951"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3421"/>
<source>Del</source>
<translation>Del</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="827"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3388"/>
<source>Copy the current block to the ffDiaporama clipboard.</source>
<translation>Copiar el bloque actual en el portapapeles de ffDiaporama.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="837"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3325"/>
+ <source>Move to background</source>
+ <translation>Mover hacia el fondo</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3328"/>
+ <source>Change the order of blocks by moving the active block towards the background</source>
+ <translation>Cambiar el orden de bloques moviendo bloque activo hacia el fondo</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3337"/>
+ <source>Move to foreground</source>
+ <translation>Mover a primer plano</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3340"/>
+ <source>Change the order of blocks by moving the active block towards the foreground</source>
+ <translation>Cambiar el orden de bloques moviendo bloque activo al primer plano</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3349"/>
+ <source>Visible</source>
+ <translation>Visible</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3385"/>
+ <source>Copy block</source>
+ <translation>Copiar bloque</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3391"/>
<source>Ctrl+C</source>
<translation>Ctrl+C</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="865"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3400"/>
+ <source>Cut block</source>
+ <translation>Cortar bloque</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3403"/>
<source>Copy the current block to the ffDiaporama clipboard and remove it from the slide</source>
<translation>Copiar el bloque actual en el portapapeles de ffDiaporama y eliminarlo desde la presentación</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="875"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3406"/>
<source>Ctrl+X</source>
<translation>Ctrl+X</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="903"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3430"/>
+ <source>Paste block</source>
+ <translation>Pegar bloque</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3433"/>
<source>Paste block from the ffDiaporama clipboard and insert it.</source>
<translation>Pegar bloque desde el portapapeles de ffDiaporama e insertarlo.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="913"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3436"/>
<source>Ctrl+V</source>
<translation>Ctrl+V</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1074"/>
- <source>Make visible or hidden the active block</source>
- <translation>Hacer visible u oculto el bloque activo</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1109"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3364"/>
<source>Give the sound, during this shot, to the current video block</source>
<translation>Dar sonido, en esta toma, en el bloque del vídeo actual</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1151"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3292"/>
<source>Define the properties of the text block</source>
<translation>Definir propiedades del bloque de texto</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1161"/>
- <source>F5</source>
- <translation>F5</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1189"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3304"/>
<source>Define framing and do correction of image or movie</source>
<translation>Definir encuadre y hacer corrección de imagen o vídeo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1199"/>
- <source>F6</source>
- <translation>F6</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1227"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3313"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3316"/>
<source>Cut the video</source>
<translation>Cortar vídeo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1237"/>
- <source>F7</source>
- <translation>F7</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3376"/>
+ <source>Display detailled information on current block</source>
+ <translation>Mostrar información detallada en bloque actual</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2310"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1485"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1582"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1710"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2415"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2521"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2651"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2757"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2863"/>
+ <source>Reset to 0</source>
+ <translation>reajustar a 0</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1915"/>
<source>Border :</source>
<translation>Borde :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2225"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1830"/>
<source>Shape :</source>
<translation>Forma :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2253"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3235"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Deshacer última acción (CTRL+Z)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3245"/>
+ <source>Ctrl+Z</source>
+ <translation>Ctrl+Z</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="119"/>
+ <source>Add
+shot</source>
+ <translation>Añadir
+toma</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="167"/>
+ <source>Remove
+shot</source>
+ <translation>Eliminar
+toma</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="310"/>
+ <source>Edit block</source>
+ <translation>Editar bloque</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1858"/>
<source>Select a shape for current block</source>
<translation>Selecciona una forma para el bloque actual</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2275"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1880"/>
<source>Opacity :</source>
<translation>Opacidad :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2303"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1908"/>
<source>Defined the opaqueness of the block.</source>
<translation>Definir opacidad del bloque.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2345"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1950"/>
<source>Defined the thickness of the border</source>
<translation>Definir el grosor del borde</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2373"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1978"/>
<source>Defined the color of the line to be used to draw the border</source>
<translation>Definir el color de la línea que se utilizará para dibujar el borde</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2404"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2009"/>
<source>Defined the type of line (solid, dotted line, etc.)</source>
<translation>Definir el tipo de línea (sólida, punteada, etc)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2064"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2103"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1655"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1694"/>
<source>Define rotation according to the X axis (defined in degree).</source>
<translation>Definir la rotación según el eje X (ajustar en grados).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1950"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1989"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1527"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1566"/>
<source>Define rotation according to the Y axis (defined in degree).</source>
<translation>Definir la rotación según el eje Y (ajustar en grados).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1833"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1872"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1427"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1466"/>
<source>Define rotation according to the Z axis (defined in degree).</source>
<translation>Definir la rotación según el eje Z (ajustar en grados).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2517"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2122"/>
<source>Defined the distance between the block and its shadow</source>
<translation>Definir la distancia entre el bloque y su sombra</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2545"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2150"/>
<source>Defined the color of the shadow</source>
<translation>Definir el color de la sombra</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1682"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1276"/>
<source>Define width of current block</source>
<translation>Definir anchura del bloque actual</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1755"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1349"/>
<source>Define height of current block</source>
<translation>Definir altura del bloque actual</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1526"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1120"/>
<source>Define X position of current block</source>
<translation>Definir posición X del bloque actual</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1599"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1193"/>
<source>Define Y position of current block</source>
<translation>Definir posición Y del bloque actual</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2479"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2084"/>
<source>Defined in which corner the shadow will be positioned (or no shadow)</source>
<translation>Definir en qué esquina se situará la sombra (o sin sombra)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2457"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2062"/>
<source>Shadow :</source>
<translation>Sombra :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2135"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1740"/>
<source>Block shape :</source>
<translation>Forma del bloque :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1339"/>
- <source>Coordinates :</source>
- <translation>Coordenadas :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2645"/>
- <source>Propertie</source>
- <translation>Propiedad</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2655"/>
- <source>Value</source>
- <translation>Valor</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2696"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3141"/>
<source>Enable or disable rulers corresponding to the margins of television sets.</source>
<translation>Activar o desactivar reglas correspondientes a los márgenes de los aparatos de televisión.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2699"/>
- <source>TV margins</source>
- <translation>Márgenes de TV</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2726"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3168"/>
<source>Accept modification and go to previous slide</source>
<translation>Aceptar modifición e ir a la diapositiva anterior</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2729"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3171"/>
<source>Previous</source>
<translation>Anterior</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2740"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3182"/>
<source>Accept modification and exit dialog box</source>
<translation>Aceptar modificación y salir de este diálogo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2743"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3185"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2754"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3196"/>
<source>Accept modification and go to next slide</source>
<translation>Aceptar modifición e ir a la diapositiva siguiente</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2757"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3199"/>
<source>Next</source>
<translation>Siguiente</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2793"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3252"/>
<source>Cancel modification and exit dialog box</source>
<translation>Cancelar modificación y salir de ste diálogo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2796"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3255"/>
<source>&Cancel</source>
<translation>&Cancelar</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2807"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3266"/>
<source>Open help page describing this dialog box</source>
<translation>Abrir página de Ayuda relacionada con este diálogo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2810"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3269"/>
<source>&Help</source>
<translation>&Ayuda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2817"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3276"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="101"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="156"/>
<source>Slide</source>
<translation>Presentación</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="146"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="193"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="234"/>
<source>None</source>
<translation>Nada</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="147"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="194"/>
<source>Shadow upper left</source>
<translation>Sombra arriba izquierda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="148"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="195"/>
<source>Shadow upper right</source>
<translation>Sombra arriba derecha</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="149"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="196"/>
<source>Shadow bottom left</source>
<translation>Sombra abajo izquierda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="150"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="197"/>
<source>Shadow bottom right</source>
<translation>Sombra abajo derecha</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="626"/>
- <source>Lengthened to %1 sec</source>
- <translation>Alargar hasta el %1 s</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="235"/>
+ <source>Multiple block turn</source>
+ <translation>Múltiple giro de bloque</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1039"/>
- <source>Object type</source>
- <translation>Objeto tipo</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="236"/>
+ <source>Dissolve</source>
+ <translation>Disolver</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1040"/>
- <source>Title</source>
- <translation>Título</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="239"/>
+ <source>Appear</source>
+ <translation>Aparece</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1041"/>
- <source>Image</source>
- <translation>Imagen</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="240"/>
+ <source>Disappear</source>
+ <translation>Desaparece</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1042"/>
- <source>Video</source>
- <translation>Video</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="241"/>
+ <source>Blink at slow speed</source>
+ <translation>Intermitencia a velocidad lenta</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1046"/>
- <source>Filename</source>
- <translation>Nombre del Archivo</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="242"/>
+ <source>Blink at medium speed</source>
+ <translation>Intermitencia a velocidad media</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1056"/>
- <source>Image size</source>
- <translation>Tamaño de imagen</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="243"/>
+ <source>Blink at fast speed</source>
+ <translation>Intermitencia a velocidad rápida</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="561"/>
- <source>No style for nonstandard geometry image</source>
- <translation>Sin estilo para geometría de imagen no estándar</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="244"/>
+ <source>Blink at very fast speed</source>
+ <translation>Intermitencia a velocidad muy rápida</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="626"/>
- <source>Select a file</source>
- <translation>Seleccionar un archivo</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1332"/>
+ <source>Lengthened to %1 sec</source>
+ <translation>Alargar hasta el %1 s</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1845"/>
+ <source>Are you sure to want to delete this block?</source>
+ <translation>¿Seguro que deseas eliminar este bloque?</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1848"/>
+ <source>Remove blocks</source>
+ <translation>Eliminar bloques</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1848"/>
+ <source>Are you sure to want to delete these blocks?</source>
+ <translation>¿Seguro que deseas eliminar estos bloques?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1572"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3553"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1200"/>
<source>Remove shot</source>
<translation>Eliminar toma</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1572"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1200"/>
<source>Are you sure to want to delete this shot?</source>
<translation>¿Seguro que quieres eliminar esta toma?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1715"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1564"/>
<source>Text</source>
<comment>Default text value</comment>
<translatorcomment>Valor por defecto del texto</translatorcomment>
<translation>TextO</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1740"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1623"/>
<source>Add files</source>
<translation>Añadir archivos</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1957"/>
- <source>Remove bloc</source>
- <translation>Eliminar bloque</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1957"/>
- <source>Are you sure to want to delete this bloc?</source>
- <translation>¿Seguro que quieres eliminar este bloque?</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/cCustomBlockTable.cpp" line="136"/>
+ <source>Duration:</source>
+ <translation>Duración:</translation>
</message>
</context>
<context>
<name>DlgTextEdit</name>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="26"/>
<source>Edit text</source>
<translation>Editar texto</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="187"/>
- <source>Properties for all shots</source>
- <translation>Propiedades todas las tomas</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="158"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="109"/>
<source>Select font family</source>
<translation>Seleccionar familia de fuente</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="339"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="134"/>
<source>Select font size</source>
<translation>Seleccionar tamaño de fuente</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="364"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="159"/>
<source>Select font color</source>
<translation>Seleccionar color de fuente</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1267"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="443"/>
<source>Select font effect (outerline, shadow)</source>
<translation>Seleccionar efecto de fuente (contorno, sombra)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1298"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="474"/>
<source>Select outerline/shadow color</source>
<translation>Selecciona color de contorno/sombra</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="230"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="512"/>
<source>Set text to Bold</source>
<translation>Ajustar texto a negrita</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="262"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="544"/>
<source>Set text to Italic</source>
<translation>Ajustar texto como Itálica</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="291"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="573"/>
<source>Set text to Underline</source>
<translation>Ajustar texto como Subrayado</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="412"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="289"/>
<source>Align left</source>
<translation>Alinear a la izquierda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="447"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="356"/>
<source>Align center</source>
<translation>Alinear al centro</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="479"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="324"/>
<source>Align justify</source>
<translation>Alinear justificado</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="511"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="45"/>
+ <source>Text</source>
+ <translation>Texto</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="200"/>
+ <source>Bullet list</source>
+ <translation>Lista viñetas</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="235"/>
+ <source>Numbered list</source>
+ <translation>Lista numerada</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="388"/>
<source>Align right</source>
<translation>Alinear a la derecha</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="556"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="602"/>
+ <source>Set text to superscript</source>
+ <translation>Ajuste de texto a superíndice </translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="631"/>
+ <source>Set text to subscript</source>
+ <translation>Ajuste de texto a subíndice</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="679"/>
+ <source>Increase indent</source>
+ <translation>Aumentar sangría</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="708"/>
+ <source>decrease indent</source>
+ <translation>Reducir sangría</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="756"/>
<source>Align top</source>
<translation>Alinear arriba</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="588"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="788"/>
<source>Align in the middle</source>
<translation>Alinear en el centro</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="620"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="820"/>
<source>Align bottom</source>
<translation>Alinear abajo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="682"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="870"/>
+ <source>Background</source>
+ <translation>Fondo</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="916"/>
+ <source>Background properties :</source>
+ <translation>Propiedades del fondo :</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="967"/>
<source>Define the background brush type for the shape</source>
<translation>Definir tipo de fondo para la forma</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="734"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1019"/>
<source>Define the color (or first color for a gradient brush)</source>
<translation>Definir el color (o primer color del gradiente para el fondo)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="759"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1063"/>
<source>Define the second gradient brush color </source>
<translation>Definir el segundo color del gradiente para el fondo </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="784"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1107"/>
<source>Define the third gradient brush color </source>
<translation>Definir el tercer color del gradiente para el fondo </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="843"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1166"/>
<source>Select the pattern</source>
<translation>Selecciona patrón</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="904"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1227"/>
<source>Define orientation of the gradient brush</source>
<translation>Definir la orientación del gradiente del fondo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="948"/>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="987"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1258"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1297"/>
<source>Define position of the second color in the gradient brush</source>
<translation>Definir posición del segundo color en el gradiente del fondo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1077"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1400"/>
<source>Select an image among that present in the library</source>
<translation>Seleccionar una imagen entre las que están presentes en la biblioteca</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1215"/>
- <source>Texte style :</source>
- <translation>Estilo del Texto :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1123"/>
- <source>Block background style :</source>
- <translation>Estilo del fondo del bloque :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1357"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1456"/>
<source>Accept modification and exit dialog box</source>
<translation>Aceptar modificación y salir de éste diálogo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1360"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1459"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1371"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1495"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Deshacer última acción (CTRL+Z)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1498"/>
+ <source>Undo</source>
+ <translation>Deshacer</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1505"/>
+ <source>Ctrl+Z</source>
+ <translation>Ctrl+Z</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1512"/>
<source>Cancel modification and exit dialog box</source>
<translation>Cancelar modificación y salir de éste diálogo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1374"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1515"/>
<source>&Cancel</source>
<translation>&Cancelar</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1385"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1526"/>
<source>Open help page describing this dialog box</source>
<translation>Abrir página de Ayuda relacionada con este diálogo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1388"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1529"/>
<source>&Help</source>
<translation>&Ayuda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1395"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1536"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="74"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="118"/>
<source>No effect</source>
<translation>Sin efecto</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="75"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="119"/>
<source>Outerline</source>
<translation>Contorno</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="76"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="120"/>
<source>Shadow upper left</source>
<translation>Sombra sup izqda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="77"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="121"/>
<source>Shadow upper right</source>
<translation>Sombra sup dcha</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="78"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="122"/>
<source>Shadow bottom left</source>
<translation>Sombra inf izqda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="79"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="123"/>
<source>Shadow bottom right</source>
<translation>Sombra inf dcha</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="85"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="129"/>
<source>No brush</source>
<translation>Sin fondo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="86"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="130"/>
<source>Solid brush</source>
<translation>Fondo sólido</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="87"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="131"/>
<source>Pattern brush</source>
<translation>Patrón del fondo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="88"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="132"/>
<source>Gradient 2 colors</source>
<translation>Gradiente 2 colores</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="89"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="133"/>
<source>Gradient 3 colors</source>
<translation>Gradiente 3 colores</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="90"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="134"/>
<source>Image from library</source>
<translation>Imágen desde biblioteca</translation>
</message>
@@ -3523,114 +3982,129 @@ Do you want to overwrite it ?</source>
<context>
<name>DlgVideoEdit</name>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="26"/>
<source>Cut video</source>
<translation>Cortar vídeo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="52"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="52"/>
<source>Properties for all shots</source>
<translation>Propiedades para todas las tomas</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="110"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="110"/>
<source>Start :</source>
<translation>Inicio :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="117"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="117"/>
<source>Move to start position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translatorcomment>Descripción en el cuadro de diálogo</translatorcomment>
<translation>Mueve a la posición inicial</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="131"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="131"/>
<source>Use current position as start position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translatorcomment>Descripción en el cuadro de diálogo</translatorcomment>
<translation>Utilizar posición actual como inicial</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="157"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="157"/>
<source>Define the start position to use for</source>
<extracomment>Tooltip in dialog box</extracomment>
<translatorcomment>Descripción en el cuadro de diálogo</translatorcomment>
<translation>Define la posición inicial</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="179"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="179"/>
<source>End :</source>
<translation>Final :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="201"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="201"/>
<source>Define the end position to use for</source>
<extracomment>Tooltip in dialog box</extracomment>
<translatorcomment>Descripción en el cuadro de diálogo</translatorcomment>
<translation>Define posición final</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="220"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="220"/>
<source>Use current position as end position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translatorcomment>Descripción en el cuadro de diálogo</translatorcomment>
<translation>Utilizar posición actual como posición final</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="234"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="234"/>
<source>Move to end position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translatorcomment>Descripción en el cuadro de diálogo</translatorcomment>
<translation>Mover a la posición final</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="254"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="254"/>
<source>Duration :</source>
<translation>Duración :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="286"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="286"/>
<source>Volume :</source>
<translation>Volumen :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="314"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="314"/>
<source>Define the " Master Volume " for the movie</source>
<translation>Definir el "Volumen principal" para la película</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="355"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="355"/>
<source>Accept modification and exit dialog box</source>
<translation>Aceptar modificación y salir del diálogo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="358"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="358"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="369"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="394"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Deshacer última acción (CTRL+Z)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="397"/>
+ <source>Undo</source>
+ <translation>Deshacer</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="404"/>
+ <source>Ctrl+Z</source>
+ <translation>Ctrl+Z</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="411"/>
<source>Cancel modification and exit dialog box</source>
<translation>Cancelar modificación y salir del diálogo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="372"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="414"/>
<source>&Cancel</source>
<translation>&Cancelar</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="383"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="425"/>
<source>Open help page describing this dialog box</source>
<translation>Abrir página de Ayuda relacionada con este diálogo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="386"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="428"/>
<source>&Help</source>
<translation>&Ayuda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="393"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="435"/>
<source>F1</source>
<translation>F1</translation>
</message>
@@ -3638,87 +4112,87 @@ Do you want to overwrite it ?</source>
<context>
<name>DlgffDPjrProperties</name>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="19"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="20"/>
<source>Project properties</source>
<translation>Propiedades del proyecto</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="33"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="34"/>
<source>Title :</source>
<translation>Título :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="50"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="51"/>
<source>Author :</source>
<translation>Autor :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="60"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="61"/>
<source>Album :</source>
<translation>Album :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="70"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="71"/>
<source>Year :</source>
<translation>Año :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="120"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="121"/>
<source>Language :</source>
<translation>Idioma :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="153"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="154"/>
<source>und</source>
<translation>und</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="163"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="164"/>
<source>(ISO 639 language code)</source>
<translation>(ISO 639 código idioma)</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="172"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="173"/>
<source>Comment :</source>
<translation>Comentario :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="182"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="183"/>
<source>Chapters :</source>
<translation>Capítulos :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="222"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="223"/>
<source>Accept modification and exit dialog box</source>
<translation>Aceptar modificación y salir</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="225"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="226"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="236"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="237"/>
<source>Cancel modification and exit dialog box</source>
<translation>CAncelar modificación y salir</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="239"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="240"/>
<source>&Cancel</source>
<translation>&Cancelar</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="250"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="251"/>
<source>Open help page describing this dialog box</source>
<translation>Abrir ayuda que trata de este tema</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="253"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="254"/>
<source>&Help</source>
<translation>&Ayuda</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="260"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="261"/>
<source>F1</source>
<translation>F1</translation>
</message>
@@ -3738,13 +4212,13 @@ Do you want to overwrite it ?</source>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="156"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1385"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1397"/>
<source>Create a new empty project (Ctrl+N)</source>
<translation>Crear un nuevo proyecto vacío (Ctrl+N)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="159"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1388"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1400"/>
<source>New
project</source>
<translation>Nuevo
@@ -3752,19 +4226,19 @@ proyecto</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="173"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1402"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1414"/>
<source>Ctrl+N</source>
<translation>Ctrl+N</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="207"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1436"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1448"/>
<source>Open a previously saved project (Ctrl+O)</source>
<translation>Abrir un proyecto guardado previamente (Ctrl+O)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="210"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1439"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1451"/>
<source>Open
project</source>
<translation>Abrir
@@ -3772,19 +4246,19 @@ proyecto</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="224"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1453"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1465"/>
<source>Ctrl+O</source>
<translation>Ctrl+O</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="258"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1487"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1499"/>
<source>Open a recently used project file</source>
<translation>Abrir un proyecto usado recientemente</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="261"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1490"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1502"/>
<source>Open
recent</source>
<translation>Abrir
@@ -3792,13 +4266,13 @@ reciente</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="306"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1535"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1547"/>
<source>Save current project (Ctrl+S)</source>
<translation>Guardar proyecto actual (Ctrl+S)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="309"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1538"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1550"/>
<source>Save
project</source>
<translation>Guardar
@@ -3806,19 +4280,19 @@ proyecto</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="323"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1552"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1564"/>
<source>Ctrl+S</source>
<translation>Ctrl+S</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="357"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1586"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1598"/>
<source>Save current project to a new project file</source>
<translation>Guardar proyecto actual con otro nombre</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="360"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1589"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1601"/>
<source>Save
project as</source>
<translation>Guardar
@@ -3826,13 +4300,13 @@ proyecto como</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="400"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1629"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1641"/>
<source>Define project properties</source>
<translation>Definir propiedades del proyecto</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="403"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1632"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1644"/>
<source>Project
properties</source>
<translation>Propiedades
@@ -3840,31 +4314,31 @@ proyecto</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="442"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1671"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1683"/>
<source>Change application and project settings</source>
<translation>Cambiar configuración del proyecto y de la aplicación</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="445"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1674"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1686"/>
<source>Settings</source>
<translation>Configuración</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="483"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1712"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1724"/>
<source>Exit application (Ctrl+W)</source>
<translation>Salir de la Aplicación (Ctrl+W)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="486"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1715"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1727"/>
<source>Exit</source>
<translation>Salir</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="499"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1728"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1740"/>
<source>Ctrl+W</source>
<translation>Ctrl+W</translation>
</message>
@@ -3875,13 +4349,14 @@ proyecto</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="559"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1786"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1798"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3212"/>
<source>Add an empty slide</source>
<translation>Añadir una diapositiva vacía</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="562"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1789"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1801"/>
<source>Add
title</source>
<translation>Añadir
@@ -3889,13 +4364,14 @@ título</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="607"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1834"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1846"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3224"/>
<source>Add image or video as slide (INS)</source>
<translation>Añade Imagen o vídeo como diapositiva (INS)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="610"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1837"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1849"/>
<source>Add
files</source>
<translation>Añadir
@@ -3903,19 +4379,21 @@ archivos</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="624"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1851"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1863"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3227"/>
<source>Ins</source>
<translation>Ins</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="652"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1879"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1891"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3239"/>
<source>Add a previously saved project at the end of this project</source>
<translation>Añadir un proyecto previamente guardado, al final de este proyecto</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="655"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1882"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1894"/>
<source>Add
project</source>
<translation>Añadir
@@ -3923,457 +4401,469 @@ proyecto</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="701"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1928"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1940"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3167"/>
<source>Copy current slide to clipboard and remove it (Ctrl+X)</source>
<translation>Copia diapositiva actual al portapapeles y cortalo (Ctrl+X)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="704"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1931"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1943"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3164"/>
<source>Cut</source>
<translation>Cortar</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="717"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1944"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1956"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3170"/>
<source>Ctrl+X</source>
<translation>Ctrl+X</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="745"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1972"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1984"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3182"/>
<source>Copy current slide to clipboard (Ctrl+C)</source>
<translation>Copia diapositiva actual al portapapeles (Ctrl+C)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="748"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1975"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1987"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3179"/>
<source>Copy</source>
<translation>Copia</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="761"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1988"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2000"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3185"/>
<source>Ctrl+C</source>
<translation>Ctrl+C</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="789"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2016"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2028"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3197"/>
<source>Paste current slide from clipboard (Ctrl+V)</source>
<translation>Pega diapositiva actual desde el portapapeles (Ctrl+V)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="792"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2019"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2031"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3194"/>
<source>Paste</source>
<translation>Pega</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="805"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2032"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2044"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3200"/>
<source>Ctrl+V</source>
<translation>Ctrl+V</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="846"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2073"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2085"/>
<source>Edit</source>
<translation>Editar</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="884"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2111"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2123"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3152"/>
<source>Remove current slide (DEL)</source>
<translation>Elimina diapositiva actual (DEL)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="887"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2114"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2126"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3149"/>
<source>Remove</source>
<translation>Eliminar</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="900"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2127"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2139"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3155"/>
<source>Del</source>
<translation>Del</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="918"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="924"/>
<source>Render video</source>
<translation>Generar video</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="954"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2185"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="960"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2197"/>
<source>Player and
smartphone</source>
<translation>Reproductor y
Smartphone</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="999"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2230"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1005"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2242"/>
<source>Multimedia
system</source>
<translation>Sistema
Multimedia</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1038"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2269"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1044"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2281"/>
<source>For the
WEB</source>
<translation>Para la
WEB</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1077"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2308"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1083"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2320"/>
<source>Lossless</source>
<translation>Sin
pérdidas</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1121"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2352"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1127"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2364"/>
<source>Render project as a video</source>
<translation>Generar proyecto como video</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1124"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2355"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1130"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2367"/>
<source>Advanced</source>
<translation>Avanzado</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1152"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1164"/>
<source>Help</source>
<translation>Ayuda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1188"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2406"/>
- <source>Display informations about ffDiaporama</source>
- <translation>Muestra información acerca de ffDiaporama</translation>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1200"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2418"/>
+ <source>Display information about ffDiaporama</source>
+ <translation>Muestra información sobre ffDiaporama</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1191"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2409"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1203"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2421"/>
<source>About</source>
<translation>Acerca de</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1235"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2453"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1247"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2465"/>
<source>Call ffDiaporama WIKI</source>
<translation>Abrir WIKI de ffDiaporama</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1238"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2456"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1250"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2468"/>
<source>Support
and help</source>
<translation>Soporte
y Ayuda</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1252"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2470"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1264"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2482"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1286"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2504"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1298"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2516"/>
<source>Display blog/news page from internet WEB site</source>
<translation>Muestra blog/página de noticias desde el sitio WEB</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1289"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2507"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1301"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2519"/>
<source>What's new</source>
<translation>Actualidad</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2881"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2893"/>
<source>Slide : xx/xxx</source>
<translation>Diapositiva : xx/xxx</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2922"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2934"/>
<source>Switch display to preview mode</source>
<translation>Cambiar ventana a modo previsualización y pestañas</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2939"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2951"/>
<source>...</source>
<translation>...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2962"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2974"/>
<source>Switch display to sheet mode</source>
<translation>Cambiar la ventana a modo de hoja completa</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3002"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3014"/>
<source>Enlarge thumbnails</source>
<translation>Ampliar las miniaturas</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3042"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3054"/>
<source>Reduce thumbnails</source>
<translation>Reducir las miniaturas</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3073"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3089"/>
<source>Edit background</source>
<translation>Editar fondo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3076"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3092"/>
<source>Edit the background image for the slide</source>
<translation>Editar el fondo de imagen para la diapositiva</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3079"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3095"/>
<source>F5</source>
<translation>F5</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3084"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3104"/>
<source>Edit slide</source>
<translation>Editar diapositiva</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3087"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3107"/>
<source>Edit the slide</source>
<translation>Editar diapositiva</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3090"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3110"/>
<source>F6</source>
<translation>F6</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3095"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3119"/>
<source>Edit music</source>
<translation>Editar música</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3098"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3122"/>
<source>Edit the slide musical playlist</source>
<translation>Editar lista de reproducción musical de la diapositiva</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3101"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3125"/>
<source>F7</source>
<translation>F7</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3106"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3134"/>
<source>Edit object transition</source>
<translation>Editar transición del objeto</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3109"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3137"/>
<source>Edit entering transition for the slide</source>
<translation>Editar transición de entrada para la diapositiva</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3112"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3140"/>
<source>F8</source>
<translation>F8</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3117"/>
- <source>Edit background transition</source>
- <translation>Editar transición de fondo</translation>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3209"/>
+ <source>Add title</source>
+ <translation>Añadir título</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3120"/>
- <source>Edit the entering background transition for the slide</source>
- <translation>Editar fondo de transición de entrada para la diapositiva</translation>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3236"/>
+ <source>Add project</source>
+ <translation>Añadir proyecto</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="60"/>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="74"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="61"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="75"/>
<source>Search Raster mode in configuration file</source>
<translation>Buscar el modo Raster en el archivo de configuración</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="274"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="275"/>
<source>All suported file (</source>
<translation>Todos los archivos soportados (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="281"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="282"/>
<source>Image file (</source>
<translation>Imagen de archivo (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="287"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="288"/>
<source>Video file (</source>
<translation>Archivo de vídeo (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="293"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="294"/>
<source>Music file (</source>
<translation>Archivo de música (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="461"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="387"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="464"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="388"/>
<source>Read configuration file</source>
<translation>Leyendo archivo de configuración</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="649"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1815"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1409"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="588"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1707"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1459"/>
<source>This application support only audio track with unsigned 8 bits or signed 16 bits sample format</source>
<comment>Error message</comment>
<translation>Esta aplicación sólo soporta pistas de audio con 8 bits unsigned o 16 bits signed</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="653"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1819"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1417"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="592"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1467"/>
<source>This application support only mono or stereo audio track</source>
<comment>Error message</comment>
<translation>Esta aplicación soporta pista de audio mono o estéreo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="659"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1943"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1399"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1445"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1458"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1508"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1514"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1521"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1530"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1398"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1410"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1418"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1497"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="598"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1832"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1602"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1648"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1653"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1661"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1717"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1724"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1733"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1448"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1460"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1468"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1547"/>
<source>Error</source>
<comment>Error message</comment>
<translatorcomment>Mensaje de error</translatorcomment>
<translation>Error</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="463"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="397"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="466"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="398"/>
<source>Error reading configuration file</source>
<comment>Error message</comment>
<translatorcomment>Mensaje de error</translatorcomment>
<translation>Error al leer el archivo de configuración</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="468"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="402"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="471"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="403"/>
<source>Error reading content of configuration file</source>
<comment>Error message</comment>
<translatorcomment>Mensaje de error</translatorcomment>
<translation>Error de lectura de contenido del archivo de configuración</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="475"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="409"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="478"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="410"/>
<source>The file is not a valid configuration file</source>
<comment>Error message</comment>
<translatorcomment>Mensaje de error</translatorcomment>
<translation>El archivo no es un archivo de configuración válido</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="642"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="456"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="645"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="457"/>
<source>Error creating configuration file</source>
<comment>Error message</comment>
<translatorcomment>Mensaje de error</translatorcomment>
<translation>Error al crear el archivo de configuración</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="857"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1052"/>
<source>Title</source>
<comment>Default slide name when no file</comment>
<translatorcomment>Título, por defecto, cuando no hay archivo</translatorcomment>
<translation>Título</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1202"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1239"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1252"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1289"/>
<source>Saving project file ...</source>
<translation>Guardando archivo de proyecto ...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1399"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1400"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1602"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1603"/>
<source>Error creating data file</source>
<comment>Error message</comment>
<translatorcomment>Mensaje de error</translatorcomment>
<translation>Error al crear el archivo de datos</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1421"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1624"/>
<source>Open project file</source>
<translation>Abrir archivo de proyecto</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1422"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1625"/>
<source>Impossible to open file </source>
<translation>Imposible abrir archivo </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1422"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1625"/>
<source>Do you want to select another file ?</source>
<translation>¿ Quiere seleccionar otro achivo ?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1425"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1628"/>
<source>Select another file for </source>
<translation>Selecciona otro archivo de</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1434"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1637"/>
<source>Impossible to open project file %1</source>
<translation>Imposible abrir archivo de proyecto %1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1444"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1508"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1509"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1647"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1712"/>
<source>Error reading project file</source>
<comment>Error message</comment>
<translatorcomment>Mensaje de error</translatorcomment>
<translation>Error al leer archivo de proyecto</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1451"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1514"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1515"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1653"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1654"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1717"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1718"/>
<source>Error reading content of project file</source>
<comment>Error message</comment>
<translatorcomment>Mensaje de error</translatorcomment>
<translation>Error al leer contenido del archivo del proyecto</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1458"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1459"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1521"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1522"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1661"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1662"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1724"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1725"/>
<source>The file is not a valid project file</source>
<comment>Error message</comment>
<translatorcomment>Mensaje de error</translatorcomment>
<translation>El archivo de proyecto no es válido</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1530"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1531"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1733"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1734"/>
<source>Impossible to import this file :
Image geometry in this file is not the same than the current project</source>
<comment>Error message</comment>
@@ -4423,134 +4913,109 @@ La geometría de la imagen de este archivo no es igual que la del proyecto actua
<translation>Iniciando SDL...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="109"/>
- <source>Starting ffmpeg...</source>
- <translation>Iniciando ffmpeg...</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="118"/>
- <source>Registered video codecs for encoding :</source>
- <translation>Codecs de vídeo registrados para codificar :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="120"/>
- <source>Registered audio codecs for encoding :</source>
- <translation>Codecs de audio registrados para codificar :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="122"/>
- <source>Registered container formats for encoding :</source>
- <translation>Formatos registrados para codificar :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="124"/>
- <source> Device registered for rendering</source>
- <translation> Dispositivo registrado para generar video</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="126"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="117"/>
<source>Library :</source>
<translation>Librería :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="128"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="119"/>
<source>Loading background library...</source>
<translation>Cargando biblioteca de fondo ...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="129"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="120"/>
<source> images loaded into the background-library from </source>
<translation> imágenes cargadas en biblioteca de fondo desde </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="130"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="121"/>
<source>Loading no-luma transitions...</source>
<translation>Cargando transiciones no luma...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="136"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="127"/>
<source> no-luma transitions loaded into the transition-library</source>
<translation> transiciones no luma cargadas dentro de biblioteca de transiciones</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="137"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="128"/>
<source>Loading luma transitions...</source>
<translation>Cargando transiciones luma...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="138"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="139"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="140"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="141"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="142"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="143"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="129"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="130"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="131"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="132"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="133"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="134"/>
<source> luma transitions loaded into the transition-library from </source>
<translation> transiciones luma cargadas dentro de biblioteca de transiciones desde </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="144"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="135"/>
<source> Total:</source>
<translation> Total:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="144"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="135"/>
<source> transitions loaded into the transition-library</source>
<translation> transiciones cargadas dentro de biblioteca de transiciones</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="234"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="496"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="265"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="538"/>
<source>Slide : </source>
<translation>Presentación : </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="357"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="388"/>
<source>Close application</source>
<translation>Cerrar aplicación</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="357"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="388"/>
<source>Want to save the project before closing?</source>
<translation>¿Desea guardar el proyecto antes de cerrar?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="432"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="463"/>
<source>A new ffDiaporama release is available from WEB site. Please update from http://ffdiaporama.tuxfamily.org !</source>
<translation>¡Una nueva versión de ffDiaporama está disponible en el sitio WEB. Por favor, actualizalo desde http://ffdiaporama.tuxfamily.org !</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="534"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="582"/>
<source>Configuration not correct!</source>
<translation>¡Configuración no correcta!</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="858"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="907"/>
<source><html><body>Visit the ffDiaporama Web site to use the forum,<br>consult tutorials and learn the lastest news:<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html></source>
<translation><html><body>Visitar el sitio de ffDiaporama para usar el Foro,<br>consultar tutoriales y últimas noticias:<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1002"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1051"/>
<source>Saving configuration file and applying new configuration ...</source>
<translation>Guardando el archivo configuración y aplicando nueva confiuración ...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1038"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1090"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1112"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1087"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1139"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1161"/>
<source>Current project has been modified.
Do you want to save-it ?</source>
<translation>El proyecto actual ha sido modificado
¿Desea guardar el proyecto antes de cerrar?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1431"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1481"/>
<source>This video files contains more than one chapter.
Do you want to create one slide for each chapters ?</source>
<translation>ESte video contiene más de un capítulo.
¿Quieres crear una diapositiva por cada capítulo ?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="506"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="548"/>
<source><new project></source>
<comment>when project have no name define</comment>
<translatorcomment>cuando un nuevo proyecto aún no ha sido definido</translatorcomment>
@@ -4562,42 +5027,47 @@ Do you want to create one slide for each chapters ?</source>
<translation>Cargando iconos del sistema...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="849"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="109"/>
+ <source>Starting libav...</source>
+ <translation>Iniciando libav...</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="898"/>
<source><html><body>Select a project to open or to create a new project<br>To discover ffDiaporama:<br><a href="%1">Consult the WIKI</a></body></html></source>
<translation><html><body>Selecciona abrir un proyecto o crear uno nuevo<br>Para descubrir ffDiaporama:<br><a href="%1">Consulta el WIKI</a></body></html></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="852"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="901"/>
<source><html><body>Add empty slides or slides based on photos or videos<br>To discover how to build your slide show and to animate slides:<br><a href="%1">Discover the principles of functioning of ffDiaporama</a></body></html></source>
<translation><html><body>Agregar diapositivas vacías o diapositivas basadas en fotos o videos<br>Para descubrir cómo construir tu presentación y para animar diapositivas:<br><a href="%1">Los principios de funcionamiento de ffDiaporama</a></body></html></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="855"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="904"/>
<source><html><body>Select the equipment type that you plan to use for your video<br>To discover how to render videos:<br><a href="%1">Consult the rendering videos WIKI page</a></body></html></source>
<translation><html><body>Seleccione el tipo de equipo que deseas utilizar para tu video<br>Descubre cómo generar videos:<br>Consulta la página del WIKI : <a href="%1">Generación de videos</a></body></html></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1038"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1087"/>
<source>New project</source>
<translation>Nuevo proyecto</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1090"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1112"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1115"/>
<location filename="../src/ffDiaporama/mainwindow.cpp" line="1139"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1161"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1164"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1188"/>
<source>Open project</source>
<translation>Abrir proyecto</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1094"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1117"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1126"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1143"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1166"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1175"/>
<source>Open file :</source>
<translation>Abrir archivo :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1140"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1189"/>
<source>This project was created with a newer version of ffDiaporama.
If you continue, you take the risk of losing data!
Do you want to open it nevertheless?</source>
@@ -4606,48 +5076,55 @@ Si continúas, se corre el riesgo de perder datos!
¿Quieres abrirlo de todas formas?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1228"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1278"/>
<source>Save project as</source>
<translation>Guardar proyecto como</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1308"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3221"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1358"/>
<source>Add files</source>
<translation>Añadir archivos</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="641"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1773"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1389"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="580"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1665"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1439"/>
<source>Format not supported</source>
<comment>Error message</comment>
<translatorcomment>mensaje de error</translatorcomment>
<translation>Formato no soportado</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1649"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
<source>Add a sub project</source>
<translation>Añadir subproyecto</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1660"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1710"/>
<source>Add project file :</source>
<translation>Añadir archivo de proyecto :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1740"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1745"/>
+ <source>Capture the image </source>
+ <translation>Capturar la imagen</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1837"/>
<source>Remove slide</source>
<translation>Eliminar diapositiva</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1837"/>
<source>Are you sure to want to delete this slide?</source>
<translation>¿Estás seguro que quieres eliminar esta diapositiva?</translation>
</message>
<message>
<location filename="../src/ffDiaporama/cCustomTableWidget.cpp" line="80"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1348"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1628"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1398"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1678"/>
<source>Add file to project :</source>
<translation>Añadir archivo al proyecto :</translation>
</message>
@@ -4676,29 +5153,59 @@ Si continúas, se corre el riesgo de perder datos!
<source>Applying sharpen filter</source>
<translation>Aplicar filtro Enfoque</translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.cpp" line="156"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1751"/>
+ <source>Capture image</source>
+ <translation>Capturar imagen</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.cpp" line="157"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1752"/>
+ <source>Select destination file</source>
+ <translation>Seleccione el archivo de destino</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="64"/>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="116"/>
+ <source>Error during startup</source>
+ <translation>Error al iniciar</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="65"/>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="117"/>
+ <source>Error during initialisation of sound system. Check your configuration and try again</source>
+ <translation>Error al iniciar el sistema de sonido. Comprobar la configuración e intentarr otra vez</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="531"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="562"/>
+ <source>ffDiaporama initialisation</source>
+ <translation>Iniciando ffDiaporama</translation>
+ </message>
</context>
<context>
<name>QCustomFolderTree</name>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="99"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
<source>Kb</source>
<comment>Unit Kb</comment>
<translation>Kb</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
<source>Mb</source>
<comment>Unit Mb</comment>
<translation>Mb</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
<source>Gb</source>
<comment>Unit Gb</comment>
<translation>Gb</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="103"/>
<source>Tb</source>
<comment>Unit Tb</comment>
<translation>Tb</translation>
@@ -4766,37 +5273,19 @@ Si continúas, se corre el riesgo de perder datos!
<translation>La imagen no tiene metadatos EXIF %1</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1099"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1143"/>
- <source>Impossible to start exiv2 - no exif informations will be decode for %1</source>
- <translation>Imposible lanzar exiv2 - no se mostrará información exif %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1104"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1148"/>
- <source>Error during exiv2 process - no exif informations will be decode for %1</source>
- <translation>Error duarntae proceso de exiiv2 - no se mostrará información exif %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1108"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1152"/>
- <source>exiv2 return error %1 - no exif informations will be decode for %2</source>
- <translation>Exiv2 devuelve error %1 - no se mostrará información exif %2</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1647"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1627"/>
<source>Video</source>
<comment>File type</comment>
<translation>Video</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1646"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1626"/>
<source>Music</source>
<comment>File type</comment>
<translation>Música</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1491"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1479"/>
<source>Mono</source>
<comment>Audio channels mode</comment>
<translation>Mono</translation>
@@ -4823,7 +5312,25 @@ Si continúas, se corre el riesgo de perder datos!
<translation>ffDiaporama</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1492"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1099"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1143"/>
+ <source>Impossible to start exiv2 - no exif information will be decode for %1</source>
+ <translation>Imposible iniciar exiv2 - no se decodicificará ninguna información de exif para %1</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1104"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1148"/>
+ <source>Error during exiv2 process - no exif information will be decode for %1</source>
+ <translation>Error durante el proceso de exiv2 - no se decodicificará ninguna información de exif para %1</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1108"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1152"/>
+ <source>exiv2 return error %1 - no exif information will be decode for %2</source>
+ <translation>exiv2 devuelve un error %1 - no se decodicificará ninguna información de exif para %2</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1480"/>
<source>Stereo</source>
<comment>Audio channels mode</comment>
<translation>Estéreo</translation>
@@ -4835,7 +5342,7 @@ Si continúas, se corre el riesgo de perder datos!
<translation>Directorio</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1430"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1480"/>
<source>Add video file</source>
<translation>Añadir archivo de video</translation>
</message>
@@ -4843,98 +5350,98 @@ Si continúas, se corre el riesgo de perder datos!
<context>
<name>cDeviceModelList</name>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="504"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
<source>Advanced</source>
<comment>Device database type</comment>
<translation>Avanzado</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
<source>Smartphone</source>
<comment>Device database type</comment>
<translation>Smartphone</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
<source>Multimedia system</source>
<comment>Device database type</comment>
<translation>Sistema Multimedia</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
<source>For the WEB</source>
<comment>Device database type</comment>
<translation>Para la WEB</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
<source>Lossless</source>
<comment>Device database type</comment>
<translation>Lossless</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
<source>Portable Player</source>
<comment>Device database type</comment>
<translation>Reproductor portátil</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
<source>Netbook/NetPC</source>
<comment>Device database type</comment>
<translation>Netbook/NetPC</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
<source>Handheld game console</source>
<comment>Device database type</comment>
<translation>Consola de juegos portátil</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
<source>Tablet computer</source>
<comment>Device database type</comment>
<translation>Tablet PC</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
<source>Multimedia hard drive and gateway</source>
<comment>Device database type</comment>
<translation>Disco duro multimedia y pasarela</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
<source>Player</source>
<comment>Device database type</comment>
<translation>Reproductor</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
<source>ADSL Box</source>
<comment>Device database type</comment>
<translation>ADSL Box</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
<source>Game console</source>
<comment>Device database type</comment>
<translation>Consola de Juegos</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
<source>SWF Flash Player</source>
<comment>Device database type</comment>
<translation>Reproductor SWF Flash</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
<source>Video-sharing and social WebSite</source>
<comment>Device database type</comment>
<translation>Intercambio de videos y Web Social</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="521"/>
<source>HTML 5</source>
<comment>Device database type</comment>
<translation>HTML 5</translation>
@@ -4943,34 +5450,34 @@ Si continúas, se corre el riesgo de perder datos!
<context>
<name>wgt_QImageFilterTransform</name>
<message>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="558"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="608"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="630"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="651"/>
- <source>Gray</source>
- <translation>Gris</translation>
- </message>
- <message>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="559"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="609"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="631"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="652"/>
- <source>Equalize</source>
- <translation>Ecualizar</translation>
+ <source>Gray</source>
+ <translation>Gris</translation>
</message>
<message>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="560"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="610"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="632"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="653"/>
- <source>Despeckle</source>
- <translation>Eliminar ruido</translation>
+ <source>Equalize</source>
+ <translation>Ecualizar</translation>
</message>
<message>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="561"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="611"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="633"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="654"/>
+ <source>Despeckle</source>
+ <translation>Eliminar ruido</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="562"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="612"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="634"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="655"/>
<source>No transformation</source>
<translation>Sin transformación</translation>
</message>
@@ -4984,5 +5491,11 @@ Si continúas, se corre el riesgo de perder datos!
<translatorcomment>Mensaje en ventana</translatorcomment>
<translation>Haga clic para empezar a reproducir, haga clic de nuevo para detener el vídeo</translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/wgt_QVideoPlayer.ui" line="361"/>
+ <source>Save this image of the movie</source>
+ <extracomment>Tooltip in dialog box</extracomment>
+ <translation>Guardar esta imagen del video</translation>
+ </message>
</context>
</TS>
diff --git a/locale/ffDiaporama_fr.qm b/locale/ffDiaporama_fr.qm
index 5cf1409..b5186e6 100755
Binary files a/locale/ffDiaporama_fr.qm and b/locale/ffDiaporama_fr.qm differ
diff --git a/locale/ffDiaporama_fr.ts b/locale/ffDiaporama_fr.ts
index cebff90..826f8cf 100755
--- a/locale/ffDiaporama_fr.ts
+++ b/locale/ffDiaporama_fr.ts
@@ -25,8 +25,8 @@
</message>
<message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="258"/>
- <source>This application was developped using Open Source version of Qt 4.7 SDK</source>
- <translation>Cette application a été développé avec la version Open Source du SDK QT 4.7</translation>
+ <source>This application was developed using Open Source version of Qt 4.8 SDK</source>
+ <translation>Cette application a été developpé en utilisant la version Open Source du SDK Qt 4.8</translation>
</message>
<message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="268"/>
@@ -40,11 +40,6 @@
<translation>Site WEB et licence :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgAbout.ui" line="305"/>
- <source>Video decoding and encoding engines are based on ffmpeg</source>
- <translation>Les moteurs d'encodage et de décodage vidéo sont basés sur ffmpeg</translation>
- </message>
- <message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="436"/>
<source>Many icons are from the Crystal Project</source>
<translation>Un grand nombre d'icônes sont issus du projet Crystal</translation>
@@ -60,6 +55,11 @@
<translation>Copyright (C) 2011-2012 Dominique Levray</translation>
</message>
<message>
+ <location filename="../src/ffDiaporama/DlgAbout.ui" line="305"/>
+ <source>Video decoding and encoding engines are based on libav</source>
+ <translation>Le décodage et l'encodage des vidéos sont basés sur LIBAV</translation>
+ </message>
+ <message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="367"/>
<source>Image exif decoding is based on Exiv2 - Image metadata library and tools</source>
<translation>Le décodage exif des images est basé sur Exiv2 - Image metadata library and tools</translation>
@@ -86,8 +86,8 @@
</message>
<message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="665"/>
- <source>System informations</source>
- <translation>Informations système</translation>
+ <source>System information</source>
+ <translation>Informations systèmes</translation>
</message>
<message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="772"/>
@@ -98,387 +98,387 @@
<context>
<name>DlgApplicationSettings</name>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="32"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="32"/>
<source>Application settings</source>
<translation>Options</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="117"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="117"/>
<source>Application options</source>
<translation>Options de l'application</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="93"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="93"/>
<source>Remember Windows size and positions</source>
<translation>Mémoriser la taille et la position des fenêtres</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="103"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="103"/>
<source>Remember last used folders</source>
<translation>Mémoriser les derniers répertoires utilisés</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="833"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="857"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="881"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="833"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="857"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="881"/>
<source>TransitionButtons</source>
<translation>TransitionButtons</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="257"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="257"/>
<source>Editor options (when adding objects)</source>
<translation>Options de l'éditeur (lors des ajouts d'objets)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="209"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="209"/>
<source>fps (Reduce this value for slow computer)</source>
<translation>fps (Reduire cette valeur sur les PC lents)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="54"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="54"/>
<source>Application Options</source>
<translation>Options de l'application</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="90"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="90"/>
<source>If this box is checked, the sizes and the positions of all the windows and dialogue box of ffDiaporama will be saved to be reused the next time which you will use ffDiaporama.</source>
<translation>Si cette case est cochée, les tailles et positions de toutes les fenêtres et boites de dialogue de ffDiaporama seront sauvegardées pour être réutilisées la prochaine fois que vous utiliserez ffDiaporama.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="100"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="100"/>
<source>If this box is checked, the directories that you use for the images, the videos, the projects, the musics and the generations of movie will be saved to be reused the next time which you will use ffDiaporama.</source>
<translation>Si cette case est cochée, les répertoires que vous utilisez pour les images, les vidéos, les projets, les musiques et les générations de film seront sauvegardés pour être réutilisés la prochaine fois que vous utiliserez ffDiaporama.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="171"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="171"/>
<source>Defined the number of images by seconds which will be generated to show the preview.</source>
<translation>Définir le nombre d'images par secondes qui seront générées pour afficher la prévisualisation.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="218"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="218"/>
<source>Image transformation :</source>
<translation>Transformation d'image :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="228"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="228"/>
<source>If this box is checked, The effects of transformations will be applied to the images of videos during the preview.</source>
<translation>Si cette case est cochée, les effets de transformations seront appliqués aux images des vidéos pendant la prévisualisation.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="231"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="231"/>
<source>Apply to video during preview</source>
<translation>Appliquer aux vidéos pendant la prévisualisation</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="280"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="280"/>
<source>Define the position which occupy the new objects in the timeline during the insertions</source>
<translation>Régler la position qu'occupent les nouveaux objets dans la ligne de temps général lors des insertions</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="297"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="297"/>
<source>Multiple file insertion :</source>
<translation>Insertion de plusieurs fichiers :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="307"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="307"/>
<source>Adjust the way will be sorted out files when you select several files in Add file.</source>
<translation>Régler la manière dont seront triés les fichiers quand vous sélectionnez plusieurs fichiers dans Ajout de fichier.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="310"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="310"/>
<source>Sort file by last number</source>
<translation>Trier par numéro</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="906"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="906"/>
<source>Define the transition duration</source>
<translation>Définir la durée des transitions</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="330"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="330"/>
<source>If this box is checked, a confirmation will display every time you remove an object</source>
<translation>Si cette case est cochée, une demande de confirmation s'affichera chaque fois que vous supprimez un objet</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="333"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="333"/>
<source>Ask user confirmation to remove slide, object or shot</source>
<translation>Confirmation pour supprimer une diapo, un bloc ou un plan</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="340"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="340"/>
<source>Object deletion :</source>
<translation>Suppression d'objets :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="350"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="350"/>
<source>Coordinates unit :</source>
<translation>Unité des coordonnées :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="360"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="360"/>
<source>Select the unit of the coordinates which will be used in properties dialog box</source>
<translation>Sélectionner l'unité des coordonnées qui sera utilisée dans les boites de dialogue de propriétés</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="364"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="364"/>
<source>Percent</source>
<translation>Pourcentage</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="369"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="369"/>
<source>Pixel</source>
<translation>Pixel</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="377"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="377"/>
<source>Enable "raster" Graphics System (Need application restart)</source>
<translation>Activer le système graphique "raster" (Nécessite un redémarrage de l'application)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="503"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="503"/>
<source>Automatically crop 1920x1088 video to 1920x1080</source>
<translation>Coupe automatiquement les vidéos 1920x1088 en 1920x1080</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="418"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="418"/>
<source>SDL Audio use old mode</source>
<translation>Utiliser l'ancien mode pour SDL Audio</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="438"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="438"/>
<source>256 Mb</source>
<translation>256 Mo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="443"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="443"/>
<source>512 Mb</source>
<translation>512 Mo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="448"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="448"/>
<source>1 Gb</source>
<translation>1 Go</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="453"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="453"/>
<source>2 Gb</source>
<translation>2 Go</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="427"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="427"/>
<source>Memory profil :</source>
<translation>Profile mémoire :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="384"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="384"/>
<source>Image smoothing :</source>
<translation>Lissage :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="394"/>
<source>Smooth image during preview</source>
<translation>Activer le lissage des images pendant la prévisualisation</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="401"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="401"/>
<source>Use quick resampler during preview</source>
<translation>Utiliser le "resampler" rapide pendant la prévisualisation</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="408"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="408"/>
<source>Audio resampling :</source>
<translation>Resampler audio :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="515"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="515"/>
<source>Project Options</source>
<translation>Options des projets</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2865"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2865"/>
<source>Project options (default values)</source>
<translation>Options des projets (valeurs par défaut)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="574"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="574"/>
<source>Project geometry:</source>
<translation>Géométrie du projet :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="476"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="476"/>
<source>Transformed image :</source>
<translation>Images transformées :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="486"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="486"/>
<source>Create cache file (with _ffd suffix) for transformed images</source>
<translation>Mettre en fichier cache les images transformées (dans des fichiers _ffd)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="493"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="493"/>
<source>Video :</source>
<translation>Vidéo :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="564"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="564"/>
<source>Project properties (default values)</source>
<translation>Propriétés du projet (valeurs par défaut)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="592"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="592"/>
<source>Select the geometry of image to be used for the creation of the projects.</source>
<translation>Sélectionner la géométrie d'image à utiliser pour la création des projets.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="639"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="639"/>
<source>1st shot duration:</source>
<translation>Durée du 1er plan :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="657"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="657"/>
<source>Defined the default duration of the first shot of slides during their creation.</source>
<translation>Définir la durée par défaut du premier plan des diapositives lors de leurs création.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="692"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="692"/>
<source>Next shot duration:</source>
<translation>Durée des plans suivants :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="710"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="710"/>
<source>Defined the default duration of next shots.</source>
<translation>Définir la durée par défaut à donner aux plans suivants.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="745"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="745"/>
<source>Speed wave:</source>
<translation>Courbe de vitesse :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="763"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="763"/>
<source>Defined the curve of speed to be used for the transitions and the animations.</source>
<translation>Définir la courbe de vitesse à utiliser pour les transitions et les animations.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="798"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="798"/>
<source>Default transition:</source>
<translation>Transition :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="994"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="994"/>
<source>Default options for new text block</source>
<translation>Valeurs par défaut pour les nouveaux blocs texte</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1010"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1010"/>
<source>Text</source>
<translation>Texte</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1026"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1026"/>
<source>Background</source>
<translation>Fond du texte</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1061"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1061"/>
<source>Default options for new image or video block (when adding block in slide dialog)</source>
<translation>Valeurs par défaut pour les nouveaux blocs image ou vidéo (lors des ajouts dans la boite diapositive)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1079"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1223"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1441"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1502"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1563"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1624"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1685"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1814"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1875"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1936"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2233"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2294"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2355"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2416"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2477"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2538"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2599"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2660"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2721"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1079"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1223"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1441"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1502"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1563"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1624"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1685"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1814"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1875"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1936"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2233"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2294"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2355"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2416"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2477"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2538"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2599"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2660"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2721"/>
<source>For 4:3 project:</source>
<translation>Pour projet 4/3 :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1096"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1230"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1448"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1509"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1570"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1631"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1692"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1821"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1882"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1943"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2240"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2301"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2362"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2423"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2484"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2545"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2606"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2667"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2728"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1096"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1230"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1448"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1509"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1570"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1631"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1692"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1821"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1882"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1943"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2240"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2301"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2362"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2423"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2484"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2545"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2606"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2667"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2728"/>
<source>For 16:9 project:</source>
<translation>Pour projet 16/9 :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1103"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1237"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1455"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1516"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1577"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1638"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1699"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1828"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1889"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1950"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2247"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2308"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2369"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2430"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2491"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2552"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2613"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2674"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2735"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1103"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1237"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1455"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1516"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1577"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1638"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1699"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1828"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1889"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1950"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2247"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2308"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2369"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2430"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2491"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2552"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2613"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2674"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2735"/>
<source>For cinema project:</source>
<translation>Pour projet cinéma :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1138"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1138"/>
<source>Coordinates</source>
<translation>Coordonnées</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1167"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1167"/>
<source>Default options for new image or video block (when creating slide)</source>
<translation>Valeurs par défaut pour les nouveaux blocs image ou vidéo (lors des créations de diapositive)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1183"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2810"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1183"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2810"/>
<source>Text style</source>
<translation>Style de texte</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1202"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1282"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2829"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1202"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1282"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2829"/>
<source>Shape</source>
<translation>Forme</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1301"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2025"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1301"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2025"/>
<source>Coordinates
for 3:2
image in
@@ -490,8 +490,8 @@ pour image
paysage</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1324"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2048"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1324"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2048"/>
<source>Coordinates
for 3:2
image in
@@ -503,8 +503,8 @@ pour image
portrait</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1347"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2071"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1347"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2071"/>
<source>Coordinates
for 4:3
image in
@@ -516,8 +516,8 @@ pour image
paysage</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1370"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2094"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1370"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2094"/>
<source>Coordinates
for 4:3
image in
@@ -529,8 +529,8 @@ pour image
portrait</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1393"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2117"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1393"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2117"/>
<source>Coordinates
for 16:9
image in
@@ -542,8 +542,8 @@ pour image
paysage</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1416"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2140"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1416"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2140"/>
<source>Coordinates
for 16:9
image in
@@ -555,8 +555,8 @@ pour image
portrait</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1744"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2163"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1744"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2163"/>
<source>Coordinates
for cinema
image in
@@ -568,8 +568,8 @@ cinéma en
mode paysage</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1767"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2186"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1767"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2186"/>
<source>Coordinates
for cinema
image in
@@ -581,8 +581,8 @@ cinéma en
mode portrait</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1790"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2209"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1790"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2209"/>
<source>Coordinates
for
nonstandard
@@ -593,366 +593,366 @@ a géométrie
non standard</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2842"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2842"/>
<source>Title :</source>
<translation>Titre :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2875"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2875"/>
<source>Author :</source>
<translation>Auteur :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2893"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2893"/>
<source>No automatic filling</source>
<translation>Pas de remplissage automatique</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2898"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2898"/>
<source>Fill with project name when project save (if not yet defined)</source>
<translation>Remplir avec le nom du projet lors de la sauvegarde (s'il n'a pas été déjà définie)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2903"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2903"/>
<source>Fill with project folder name when project save (if not yet defined)</source>
<translation>Remplir avec le nom du répertoire du projet lors de la sauvegarde (s'il n'a pas été déjà définie)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2911"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2911"/>
<source>Default language :</source>
<translation>Langue par défaut :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2944"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2944"/>
<source>und</source>
<translation>und</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2954"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2954"/>
<source>(ISO 639 language code)</source>
<translation>(Code langue ISO 639)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2968"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2968"/>
<source>Rendering Options</source>
<translation>Options de génération</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3036"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3036"/>
<source>Default advanced rendering options</source>
<translation>Options par défaut en mode avancée</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3341"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3423"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3341"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3423"/>
<source>Select the default image format to use for the rendering among the proposed list. </source>
<translation>Sélectionner le format d'image vidéo par défaut à utiliser parmi la liste proposée.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3284"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3284"/>
<source>Select the default video standard to use, PAL or NTSC.</source>
<translation>Sélectionner le standard vidéo par défaut à utiliser, PAL ou NTSC.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3100"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3100"/>
<source>Select the default bit rate to use for video during the rendering among the proposed list. </source>
<translation>Sélectionner le taux de compression vidéo par défaut à utiliser parmi la liste proposée.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3113"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3113"/>
<source>Select the default video codec to use for the rendering among the proposed list. </source>
<translation>Sélectionner le codec vidéo par défaut à utiliser parmi la liste proposée.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3120"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3120"/>
<source>Select the default audio codec to use for the rendering among the proposed list. </source>
<translation>Sélectionner le codec audio par défaut à utiliser parmi la liste proposée.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3171"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3171"/>
<source>Select the default bit rate to use for audio during the rendering among the proposed list. </source>
<translation>Sélectionner le taux de compression audio par défaut à utiliser parmi la liste proposée.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3368"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3368"/>
<source>Default device mode rendering options</source>
<translation>Options par défaut en mode équipement</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3178"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3178"/>
<source>Smartphone :</source>
<translation>Smartphone :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3188"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3188"/>
<source>Multimedia system :</source>
<translation>Système multimédia :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3198"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3198"/>
<source>For the WEB :</source>
<translation>Pour Internet :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3208"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3208"/>
<source>Select the type of equipment which will be proposed by default when you will click the "Player and Smartphone" button of the "Render movie" menu</source>
<translation>Sélectionner le type d'équipement d'équipement qui sera proposé par défaut lorsque vous cliquerez sur le bouton "Lecteur et Smartphone" du menu "Générer le film"</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3215"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3215"/>
<source>Select the type of equipment which will be proposed by default when you will click the "For the WEB" button of the "Render movie" menu</source>
<translation>Sélectionner le type d'équipement qui sera proposé par défaut lorsque vous cliquerez sur le bouton "Pour Internet" du menu "Générer le film" </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3222"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3222"/>
<source>Select the type of equipment which will be proposed by default when you will click the "Multimedia system" button of the "Render movie" menu</source>
<translation>Sélectionner le type d'équipement d'équipement qui sera proposé par défaut lorsque vous cliquerez sur le bouton "Système multimédia" du menu "Générer le film" </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3256"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3256"/>
<source>Select the default file type to use for the rendering among the proposed list.</source>
<translation>Sélectionner le type de fichier par défaut à utiliser pour la génération des vidéos parmi la liste proposée.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3229"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3229"/>
<source>Select the model of equipment which will be proposed by default when you will click the "Player and Smartphone" button of the "Render movie" menu</source>
<translation>Sélectionner le modèle d'équipement qui sera proposé par défaut lorsque vous cliquerez sur le bouton "Lecteur et Smartphone" du menu "Générer le film"</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3236"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3236"/>
<source>Select the model of equipment which will be proposed by default when you will click the "Multimedia system" button of the "Render movie" menu</source>
<translation>Sélectionner le modèle d'équipement qui sera proposé par défaut lorsque vous cliquerez sur le bouton "Système multimédia" du menu "Générer le film" </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3243"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3243"/>
<source>Select the model of equipment which will be proposed by default when you will click the "For the WEB" button of the "Render movie" menu</source>
<translation>Sélectionner le modèle d'équipement qui sera proposé par défaut lorsque vous cliquerez sur le bouton "Pour Internet" du menu "Générer le film" </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3351"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3351"/>
<source>Default video name :</source>
<translation>Nom par défaut des vidéos :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3381"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3381"/>
<source>Use project name as video name</source>
<translation>Utiliser le nom du projet comme nom de vidéo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3376"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3376"/>
<source>Use project folder's name as video name</source>
<translation>Utiliser le nom du répertoire du projet comme nom de vidéo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3407"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3407"/>
<source>Lossless :</source>
<translation>Lossless :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3453"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3453"/>
<source>Check Configuration</source>
<translation>Vérifier la configuration</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3488"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3488"/>
<source>Accept modification and exit dialog box</source>
<translation>Valider les modifications et quitter la boite de dialogue</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3502"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3502"/>
<source>Cancel modification and exit dialog box</source>
<translation>Annuler les modifications et quitter la boite de dialogue</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3516"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3516"/>
<source>Open help page describing this dialog box</source>
<translation>Ouvrir la page de documentation correspondant à cette boite de dialogue</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3519"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3519"/>
<source>&Help</source>
<translation>&Aide</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3526"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3526"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="267"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="267"/>
<source>Object position :</source>
<translation>Position des objets :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="284"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="284"/>
<source>Insert after current object</source>
<translation>Inserer après l'objet actuellement sélectionné</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="289"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="289"/>
<source>Append at project end</source>
<translation>Ajouter à la fin du projet</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="617"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="617"/>
<source>(Only for new project)</source>
<translation>(Nouveaux projets uniquement)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="143"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="143"/>
<source>Preview options</source>
<translation>Options de prévisualisation</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="153"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="153"/>
<source>Frame rate :</source>
<translation>Images par seconde :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="599"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="599"/>
<source>Old TV (4:3)</source>
<translation>Ancienne TV (4/3)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="604"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="604"/>
<source>TV Wide (16:9)</source>
<translation>TV à écran large (16/9)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="609"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="609"/>
<source>Cinema (2.35:1)</source>
<translation>Cinéma (2.35/1)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="670"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="723"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="953"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="670"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="723"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="953"/>
<source>sec</source>
<translation>sec</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="822"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="822"/>
<source>Defined the transition to be inserted between slides during the insertions:
Chosen randomly a transition in the library</source>
<translation>Définir le type de transition à insérer entre les diapositives lors des insertions :
Choisir aléatoirement une transition dans la bibliothèque</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="846"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="846"/>
<source>Defined the transition to be inserted between slides during the insertions:
No transition</source>
<translation>Définir le type de transition à insérer entre les diapositives lors des insertions :
Aucune transition</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="870"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="870"/>
<source>Defined the transition to be inserted between slides during the insertions:
Crossfade transition</source>
<translation>Définir le type de transition à insérer entre les diapositives lors des insertions :
Transition de type fondu enchaîné</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="770"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="770"/>
<source>Linear</source>
<translation>Linéaire</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="775"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="775"/>
<source>Quarter sine</source>
<translation>Quart de sinus</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3288"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3288"/>
<source>PAL</source>
<translation>PAL</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3293"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3293"/>
<source>NTSC</source>
<translation>NTSC</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3263"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3263"/>
<source>Video standard :</source>
<translation>Standard vidéo :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3075"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3146"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3075"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3146"/>
<source>Bit rate :</source>
<translation>Compression :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3043"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3043"/>
<source>Video codec :</source>
<translation>Codec vidéo :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3322"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3322"/>
<source>Format :</source>
<translation>Format :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3127"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3127"/>
<source>Audio codec :</source>
<translation>Codec audio :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3056"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3056"/>
<source>File format :</source>
<translation>Format de fichier :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3386"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3386"/>
<source>Use title project as video name</source>
<translation>Utiliser le titre du projet comme nom de vidéo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3464"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3464"/>
<source>Manage Devices</source>
<translation>Gérer les profils</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3491"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3491"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3505"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3505"/>
<source>&Cancel</source>
<translation>&Annuler</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="173"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="180"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="176"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="183"/>
<source>Lock to image geometry</source>
<translation>Verrouiller sur la géométrie de l'image</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="174"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="181"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="177"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="184"/>
<source>Lock to project geometry-to full image</source>
<translation>Verrouiller sur la géométrie du projet-Ajuster sur l'image entière</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="175"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="182"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="178"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="185"/>
<source>Lock to project geometry-to width</source>
<translation>Verrouiller sur la géométrie du projet-Ajuster sur la largeur de l'image</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="176"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="183"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="179"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="186"/>
<source>Lock to project geometry-to height</source>
<translation>Verrouiller sur la géométrie du projet-Ajuster sur la hauteur de l'image</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="361"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="364"/>
<source>Language selection</source>
<translation>Sélection de la langue</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="362"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="365"/>
<source>Language must be empty or an ISO 639 language code (3 characters)
See help for more details!</source>
<translation>La langue doit être vide ou doit contenir un code ISO 639 (3 caractères)
@@ -962,77 +962,92 @@ Consulltez l'aide pour plus d'informations !</translation>
<context>
<name>DlgBackgroundProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="26"/>
<source>Background properties</source>
<translation>Propriétés de l'arrière plan</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="44"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="44"/>
<source>Same background as precedent object</source>
<translation>Utiliser le même arrière plan que l'objet précédent</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="57"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="57"/>
<source>Select a new background</source>
<translation>Définir un nouvel arrière plan</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="261"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="261"/>
<source>Keep aspect ratio</source>
<translation>Conserver la géométrie</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="224"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="224"/>
<source>Full filling (deform image)</source>
<translation>Remplir (avec déformation)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="655"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="655"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="666"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="691"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Défaire la dernière action (CTRL+Z)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="694"/>
+ <source>Undo</source>
+ <translation>Défaire</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="701"/>
+ <source>Ctrl+Z</source>
+ <translation>Ctrl+Z</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="708"/>
<source>&Cancel</source>
<translation>&Annuler</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="677"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="719"/>
<source>&Help</source>
<translation>&Aide</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="684"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="726"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="47"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="73"/>
<source>Solid brush</source>
<translation>Brosse unie</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="49"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="75"/>
<source>Gradient 2 colors</source>
<translation>Dégradé à 2 couleurs</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="51"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="77"/>
<source>Gradient 3 colors</source>
<translation>Dégradé à 3 couleurs</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="53"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="79"/>
<source>Image from library</source>
<translation>Image de la librairie</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="55"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="81"/>
<source>Image from disk</source>
<translation>Image depuis un fichier</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="305"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="310"/>
<source>Select a file</source>
<translation>Sélectionner un fichier</translation>
</message>
@@ -1075,124 +1090,124 @@ Consulltez l'aide pour plus d'informations !</translation>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="63"/>
- <source>ffmpeg not found - critical - application will stop !</source>
- <translation>ffmpeg non trouvé - critique - l'application va s'arréter !</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="165"/>
- <source>ffmpeg Audio Codecs</source>
- <translation>Codecs audio ffmpeg</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="179"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="177"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="181"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="186"/>
<source>available</source>
<translation>disponible</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="60"/>
- <source>Unable to determine ffmpeg version</source>
- <translation>Impossible de déterminer la version de ffmpeg</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="67"/>
+ <source>Unable to determine %1 version</source>
+ <translation>Impossible de déterminer la version de %1</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="70"/>
+ <source>%1 not found - critical - application will stop !</source>
+ <translation>%1 introuvable - critique - l'application s'arrete !</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="103"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="110"/>
<source>LibExiv2 version:</source>
<translation>LibExiv2 version : </translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="105"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="112"/>
<source>LibExiv2/Exiv2 binary version</source>
<translation>LibExiv2/Exiv2 en version binaire</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="177"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="181"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="187"/>
<source>not available</source>
<translation>non disponible</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<source>LibExiv2 support for preview image</source>
<translation>LibExiv2 support de la prévisualisation des images</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="119"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
<source>TAGLib version:</source>
<translation>TAGLib version : </translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<source>TAGLib support for FLAC</source>
<translation>TAGLib support des fichiers FLAC</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
<source>TAGLib support for ASF/WMA</source>
<translation>TAGLib support des fichiers ASF/WMA</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<source>TAGLib support for M4A/MP4</source>
<translation>TAGLib support des fichiers M4A/MP4</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="149"/>
- <source>ffmpeg version:</source>
- <translation>ffmpeg version : </translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="156"/>
+ <source>encoder version:</source>
+ <translation>Version de l'encoder :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="150"/>
- <source>LIBAVCODEC version:</source>
- <translation>LIBAVCODEC version : </translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
+ <source>LIBAV support for TAG and CHAPTERS</source>
+ <translation>Support par LIBAV des TAG et des chapitres</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="151"/>
- <source>LIBAVFORMAT version:</source>
- <translation>LIBAVFORMAT version : </translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="172"/>
+ <source>libav Audio Codecs</source>
+ <translation>Codecs Audio de LIBAV</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="152"/>
- <source>LIBSWSCALE version:</source>
- <translation>LIBSWSCALE version : </translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="176"/>
+ <source>libav Video Codecs</source>
+ <translation>Codecs Vidéo de LIBAV</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <source>ffmpeg support for TAG and CHAPTERS</source>
- <translation>ffmpeg support des TAG et des chapitres</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <source>libav Container Formats</source>
+ <translation>Containers de LIBAV</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="169"/>
- <source>ffmpeg Video Codecs</source>
- <translation>Codecs vidéo ffmpeg</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="157"/>
+ <source>LIBAVCODEC version:</source>
+ <translation>LIBAVCODEC version : </translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
- <source>ffmpeg Container Formats</source>
- <translation>Formats de fichier ffmpeg</translation>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="158"/>
+ <source>LIBAVFORMAT version:</source>
+ <translation>LIBAVFORMAT version : </translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <source>LIBSWSCALE version:</source>
+ <translation>LIBSWSCALE version : </translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="178"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="185"/>
<source>Lossless</source>
<translation>Sans perte</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="179"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="186"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="187"/>
<source>Lossless rendering</source>
<translation>Génération sans perte</translation>
</message>
@@ -1200,298 +1215,328 @@ Consulltez l'aide pour plus d'informations !</translation>
<context>
<name>DlgImageCorrection</name>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="26"/>
<source>Image framing and correction</source>
<translation>Recadrage et correction d'image</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="107"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="110"/>
<source>Properties for this shot</source>
<translation>Propriétés pour ce plan</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="158"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="161"/>
<source>Define the horizontal position from the left (X).</source>
<translation>Définir la position horizontal à partir de la gauche (X).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="223"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="226"/>
<source>Define the vertical position from the top of the image ( Y ).</source>
<translation>Définir la position vertical à partir du haut de l'image (Y).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1028"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1031"/>
<source>Apply a filter to the photo or the images of the video</source>
<translation>Applique un filtre sur la photo ou les images de la vidéo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1107"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1238"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1283"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1110"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1241"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1286"/>
<source>Define a blur/sharpen filter to the photo</source>
<translation>Régler le flou / la netteté de la photo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1305"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1308"/>
<source>Reset to 5</source>
<translation>Remettre à 5</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1735"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1423"/>
+ <source>Select another file</source>
+ <translation>Sélectionner un autre fichier</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1738"/>
<source>Define automatically the framing to the width of the image.</source>
<translation>Règler automatique le cadrage sur la largeur de l'image.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1755"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1758"/>
<source>Define automatically the framing to the height of the image.</source>
<translation>Règler automatique le cadrage sur la hauteur de l'image.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1787"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1790"/>
<source>Define automatically the framing to the diagonal of the image.</source>
<translation>Règler automatique le cadrage sur la diagonale de l'image.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="244"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="247"/>
<source>Define the width</source>
<translation>Définir la largeur</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="314"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="317"/>
<source>Define the height</source>
<translation>Définir la hauteur</translation>
</message>
<message utf8="true">
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1601"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1604"/>
<source>Turn the image to the left (on the multiple fellow man of 90°).</source>
<translation>Tourner l'image vers la gauche (sur le prochain multiple de 90°).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1638"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1641"/>
<source>Define the rotation angle for z axis.</source>
<translation>Définir l'angle de rotation sur l'axe des z.</translation>
</message>
<message utf8="true">
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1669"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1672"/>
<source>Turn the image to the right (on the multiple fellow man of 90°).</source>
<translation>Tourner l'image vers la droite (sur le prochain multiple de 90°). </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="398"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="431"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="401"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="434"/>
<source>Adjust luminosity</source>
<translation>Ajuster la luminosité</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="512"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="545"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="515"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="548"/>
<source>Adjust contrast</source>
<translation>Ajuster le contraste</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="613"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="649"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="616"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="652"/>
<source>Adjust gamma</source>
<translation>Ajuster le gamma</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="726"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="759"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="729"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="762"/>
<source>Adjust red chanel</source>
<translation>Ajuster la canal rouge</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="833"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="866"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="836"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="869"/>
<source>Adjust green chanel</source>
<translation>Ajuster la canal vert</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="940"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="973"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="943"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="976"/>
<source>Adjust blue chanel</source>
<translation>Ajuster la canal bleu</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="447"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="561"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="668"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="775"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="882"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="989"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1169"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="450"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="564"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="671"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="778"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="885"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="992"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1172"/>
<source>Reset to zero</source>
<translation>Remettre à zéro</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1834"/>
- <source>Show/Hide rullers</source>
- <translation>Montrer/Cacher les guides</translation>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1912"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Défaire la dernière action (CTRL+Z)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1905"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1953"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1867"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1870"/>
<source>Accept modification and exit dialog box</source>
<translation>Valider les modifications et quitter la boite de dialogue</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1345"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1348"/>
<source>Properties for all shots</source>
<translation>Propriétés pour tous les plans</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1398"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1401"/>
<source>Name of image/video file</source>
<translation>Nom du fichier de l'image ou de la vidéo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1420"/>
- <source>Select an other file</source>
- <translation>Sélectionner un autre fichier</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1473"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1476"/>
<source>Framing :</source>
<translation>Recadrage :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1504"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1507"/>
<source>Image correction :</source>
<translation>Correction d'image :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1870"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1843"/>
+ <source>Enable or disable rulers corresponding to the margins of television sets.</source>
+ <translation>Activer ou désactiver les guides.</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1846"/>
+ <source>Rullers</source>
+ <translation>Guides</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1915"/>
+ <source>Undo</source>
+ <translation>Défaire</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1922"/>
+ <source>Ctrl+Z</source>
+ <translation>Ctrl+Z</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1873"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1881"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1929"/>
<source>Cancel modification and exit dialog box</source>
<translation>Annuler les modifications et quitter la boite de dialogue</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1884"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1932"/>
<source>&Cancel</source>
<translation>&Annuler</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1895"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1943"/>
<source>Open help page describing this dialog box</source>
<translation>Ouvrir la page de documentation correspondant à cette boite de dialogue</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1898"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1946"/>
<source>&Help</source>
<translation>&Aide</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="65"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="521"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="524"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="101"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="747"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="750"/>
<source>Unlock</source>
<translation>Pas de contrainte</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="66"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="525"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="102"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="751"/>
<source>Lock to this geometry</source>
<translation>Verrouiller sur cette géométrie</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="67"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="526"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="103"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="752"/>
<source>Lock to project geometry</source>
<translation>Verrouiller sur la géométrie du projet</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="68"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="104"/>
<source>Lock to image geometry</source>
<translation>Verrouiller sur la géométrie de l'image</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="379"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="343"/>
<source>Creating cached filtered file ...</source>
<translation>Mise en cache de l'image transformée ...</translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="515"/>
+ <source>No style for nonstandard geometry image</source>
+ <translation>Pas de style pour des images à géométrie non standard</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="564"/>
+ <source>Select a file</source>
+ <translation>Sélectionner un fichier</translation>
+ </message>
</context>
<context>
<name>DlgInfoFile</name>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="25"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="26"/>
<source>File information</source>
<translation>Information sur le fichier</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="93"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="94"/>
<source>File name :</source>
<translation>Nom de fichier :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="100"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="101"/>
<source>File type :</source>
<translation>Type de fichier :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="133"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="134"/>
<source>File size :</source>
<translation>Taille du fichier :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="153"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="154"/>
<source>File created :</source>
<translation>Date de création :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="167"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="168"/>
<source>File modify :</source>
<translation>Date de modification :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="219"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="220"/>
<source>Video track information</source>
<translation>Information sur les pistes vidéo</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="323"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="324"/>
<source>Chapter information</source>
<translation>Information sur les chapitres</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="288"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="289"/>
<source>Audio track information</source>
<translation>Information sur les pistes audio</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="379"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="380"/>
<source>Additional information</source>
<translation>Autres informations</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="418"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="419"/>
<source>Accept modification and exit dialog box</source>
<translation>Valider les modifications et quitter la boite de dialogue</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="421"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="422"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="432"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="433"/>
<source>Open help page describing this dialog box</source>
<translation>Ouvrir la page de documentation correspondant à cette boite de dialogue</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="435"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="436"/>
<source>&Help</source>
<translation>&Aide</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="442"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="443"/>
<source>F1</source>
<translation>F1</translation>
</message>
@@ -2008,30 +2053,30 @@ Please select another name!</source>
SVP, entrer un autre nom !</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="563"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="771"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="377"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="398"/>
<source>Adjust to image width</source>
<translation>Ajuster sur la largeur de l'image</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="564"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="772"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="378"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="399"/>
<source>Adjust to image height</source>
<translation>Ajuster sur la hauteur de l'image</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="565"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="773"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="379"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="400"/>
<source>Adjust to full image</source>
<translation>Ajuster sur l'image entière</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="544"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="546"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="566"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="774"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="785"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="787"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="380"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="401"/>
<source>Custom</source>
@@ -2041,175 +2086,175 @@ SVP, entrer un autre nom !</translation>
<context>
<name>DlgMusicProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="26"/>
<source>Music properties</source>
<translation>Propriétés de la musique</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="44"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="201"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="38"/>
+ <source>Allows one to continue to play the play list define by a previous slide</source>
+ <translation>Vous permet de continuer la lecture d'une "play list" définie dans une diapositive précédente</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="44"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="201"/>
<source>buttonGroup</source>
<translation>buttonGroup</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="71"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="68"/>
+ <source>Allows one to indicate that from now on, the sound volume is reduced.</source>
+ <translation>Vous permet d'indiquer qu'à partir d'ici le volume sonore est réduit.</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="71"/>
<source>Change volume level to :</source>
<translation>Changer le niveau du volume à :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="74"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="173"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="186"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="74"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="173"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="186"/>
<source>buttonGroup_2</source>
<translation>buttonGroup_2</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="183"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="183"/>
<source>Normal</source>
<translation>Normal</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="41"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="41"/>
<source>Continue current playlist (defined in a previous slide)</source>
<translation>Continuer la liste de lecture actuelle (définie dans une diapositive précédente)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="38"/>
- <source>Allows to continue to play the play list define by a previous slide</source>
- <translation>Permet de continuer à jouer la liste de lecture définie dans une diapositive précédente</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="68"/>
- <source>Allows to indicate that from now on, the sound volume is reduced.</source>
- <translation>Permet d'indiquer qu'à partir de maintenant, le volume sonore est réduit.</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="99"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="99"/>
<source>Define the sound volume for this slide</source>
<translation>Définir le niveau de son pour cette diapositive</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="167"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="167"/>
<source>Set music to pause during this slide</source>
<translation>Mettre la musique en pause durant ce slide</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="170"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="170"/>
<source>Set to pause</source>
<translation>Mettre en pause</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="180"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="180"/>
<source>No specific settings</source>
<translation>Aucun réglage particulier</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="195"/>
- <source>Allows to start a new playlist.</source>
- <translation>Permet de commencer une nouvelle liste de lecture.</translation>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="195"/>
+ <source>Allows one to start a new playlist.</source>
+ <translation>Vous permet de commencer la lecture d'une nouvelle "playlist".</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="198"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="198"/>
<source>Start a new playlist from this slide</source>
<translation>Commencer une nouvelle liste de lecture à partir de cette diapositive</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="216"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="216"/>
<source>Add a file to the playlist</source>
<translation>Ajouter un fichier musical à la liste de lecture</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="230"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="230"/>
<source>Remove the current selected file</source>
<translation>Supprimer le fichier musical actuellement sélectionné dans la liste</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="244"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="244"/>
<source>Change the order in which will be played the music files:
Move the current selected file of a notch upward.</source>
<translation>Changer l'ordre dans lequel seront joués les fichiers musicaux :
Déplace le fichier actuellement sélectionné dans la liste d'un cran vers le haut.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="259"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="259"/>
<source>Change the order in which will be played the music files:
Move the current selected file of a notch downward.</source>
<translation>Changer l'ordre dans lequel seront joués les fichiers musicaux :
Déplace le fichier actuellement sélectionné dans la liste d'un cran vers le base.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="274"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="274"/>
<source>Total playlist duration : </source>
<translation>Durée totale de la liste de lecture :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="324"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="324"/>
<source>File</source>
<translation>Fichier</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="334"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="334"/>
<source>Duration</source>
<translation>Durée</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="344"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="344"/>
<source>Volume</source>
<translation>Volume</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="354"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="354"/>
<source>Source folder</source>
<translation>Répertoire source</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="392"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="392"/>
<source>Accept modification and exit dialog box</source>
<translation>Valider les modifications et quitter la boite de dialogue</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="395"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="395"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="406"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="406"/>
<source>Cancel modification and exit dialog box</source>
<translation>Annuler les modifications et quitter la boite de dialogue</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="409"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="409"/>
<source>&Cancel</source>
<translation>&Annuler</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="420"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="420"/>
<source>Open help page describing this dialog box</source>
<translation>Ouvrir la page de documentation correspondant à cette boite de dialogue</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="423"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="423"/>
<source>&Help</source>
<translation>&Aide</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="430"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="430"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="235"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="217"/>
<source>Add music files</source>
<translation>Ajouter un fichier de musique</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="268"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="250"/>
<source>Error</source>
<comment>Error message</comment>
<translation>Erreur</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="269"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="251"/>
<source>Format not supported</source>
<comment>Error message</comment>
<translation>Format non supporté</translation>
@@ -2218,23 +2263,22 @@ Déplace le fichier actuellement sélectionné dans la liste d'un cran vers
<context>
<name>DlgRenderVideo</name>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="701"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="713"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="910"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="941"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1186"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1241"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1250"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1261"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1276"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1291"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1316"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1336"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1345"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1357"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1506"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1510"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="668"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="753"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="907"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="919"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1246"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1301"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1310"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1327"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1342"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1363"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1379"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1388"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1395"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1488"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1540"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1544"/>
<source>Render video</source>
<translation>Générer le film</translation>
</message>
@@ -2528,853 +2572,1270 @@ Déplace le fichier actuellement sélectionné dans la liste d'un cran vers
<translation>Vidéo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="324"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="325"/>
<source>Select destination file</source>
<translation>Selectionner un fichier de destination</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="584"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="658"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="585"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="863"/>
<source>Stop rendering</source>
<translation>Stop l'encodage</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="665"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="875"/>
<source>Range selection</source>
<translation>Sélection d'une plage de diapositive</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="666"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="876"/>
<source>Slide range is defined to incorrect values</source>
<translation>La plage est définie a des valeures incorrectes</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="674"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="884"/>
<source>Language selection</source>
<translation>Sélection de la langue</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="675"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="885"/>
<source>Language must be empty or an ISO 639 language code (3 characters)
See help for more details!</source>
<translation>La langue doit être vide ou doit contenir un code ISO 639 (3 caractères)
Consulltez l'aide pour plus d'informations !</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="682"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="892"/>
<source>Overwrite file ?</source>
<translation>Ecraser le fichier ?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="683"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="893"/>
<source>The file you selected already exist.
Do you want to overwrite it ?</source>
<translation>Le fichier que vous avez sélectionné existe déjà.
Voulez-vous l'écraser ?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="739"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="946"/>
<source>Device model selection</source>
<translation>Sélection d'un modèle de périphérique</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="740"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="947"/>
<source>A device model is require!</source>
<translation>La sélection d'un modèle de périphérique est nécessaire !</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="823"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1031"/>
<source>Encoding sound</source>
<translation>Encodage du son</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1010"/>
- <source>Start ffmpeg encoder</source>
- <translation>Démarre l'encodeur ffmpeg</translation>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1073"/>
+ <source>Start avconv encoder</source>
+ <translation>Démarre l'encoder avconv</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1061"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1126"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1133"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1170"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1174"/>
- <source>Error</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1110"/>
+ <source>Error starting avconv</source>
<comment>Error message</comment>
- <translation>Erreur</translation>
+ <translation>Erreur lors du lancement d'avconv</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1062"/>
- <source>Error starting ffmpeg</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1193"/>
+ <source>avconv error</source>
<comment>Error message</comment>
- <translation>Erreur lors du lancement de ffmpeg</translation>
+ <translation>Erreur avconv</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1096"/>
- <source> - Estimated time left : </source>
- <translation> - Temps restant estimé : </translation>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1230"/>
+ <source>Error during avconv process</source>
+ <comment>Error message</comment>
+ <translation>Erreur durant l'exécution d'avconv</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1126"/>
- <source>Error sending image to ffmpeg</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1234"/>
+ <source>Error exiting avconv</source>
<comment>Error message</comment>
- <translation>Erreur lors de la transmission de l'image à ffmeg</translation>
+ <translation>Erreur en quittant avconv</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1133"/>
- <source>ffmpeg error</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1109"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1184"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1193"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1230"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1234"/>
+ <source>Error</source>
<comment>Error message</comment>
- <translation>Erreur ffmpeg</translation>
+ <translation>Erreur</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1155"/>
- <source>Closing encoder</source>
- <translation>Stop l'encodeur</translation>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1144"/>
+ <source> - Estimated time left : </source>
+ <translation> - Temps restant estimé : </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1170"/>
- <source>Error during ffmpeg process</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1184"/>
+ <source>Error sending image to ffmpeg</source>
<comment>Error message</comment>
- <translation>Erreur durant le processus ffmpeg</translation>
+ <translation>Erreur lors de la transmission de l'image à ffmeg</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1174"/>
- <source>Error exiting ffmpeg</source>
- <comment>Error message</comment>
- <translation>Erreur lors de l'arret de ffmpeg</translation>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1215"/>
+ <source>Closing encoder</source>
+ <translation>Stop l'encodeur</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1186"/>
- <source>Job completed succesfully!</source>
- <translation>Génération terminée avec succès !</translation>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1246"/>
+ <source>Job completed successfully!</source>
+ <translation>Encodage terminé avec succès !</translation>
</message>
</context>
<context>
- <name>DlgSlideProperties</name>
+ <name>DlgRulerDef</name>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="29"/>
- <source>Slide properties</source>
- <translation>Propriétés de la diapositive</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="20"/>
+ <source>Ruler properties</source>
+ <translation>Propriétés des guides</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="444"/>
- <source>Shot duration :</source>
- <translation>Durée du plan :</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="76"/>
+ <source>Horizontal rulers</source>
+ <translation>Guides horizontaux</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="532"/>
- <source>Indicate a name for the slide. It is this name which will appear on the thumbnail in the main window timeline.</source>
- <translation>Saisissez ici un nom pour la diapositive. C'est ce nom qui apparaîtra sur la vignette de la diapositive dans la barre de temps de la fenêtre principale.</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="97"/>
+ <source>Vertical rulers</source>
+ <translation>Guides verticaux</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="110"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="123"/>
+ <source>screen borders</source>
+ <translation>Bord de l'écran</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="136"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="149"/>
+ <source>TV margins</source>
+ <translation>Marges TV</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="162"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="175"/>
+ <source>Screen center</source>
+ <translation>Centre de l'écran</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="195"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="202"/>
+ <source>Unselected objects</source>
+ <translation>Objets non sélèctionnés</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="241"/>
+ <source>Accept modification and exit dialog box</source>
+ <translation>Valider les modifications et quitter la boite de dialogue</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="244"/>
+ <source>&Ok</source>
+ <translation>&Ok</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="255"/>
+ <source>Cancel modification and exit dialog box</source>
+ <translation>Annuler les modifications et quitter la boite de dialogue</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="986"/>
- <source>Change the order of blocks by moving the active block upward (towards the background)</source>
- <translation>Change l'ordre des blocs en déplaçant le bloc actif vers le haut (vers l'arrière plan)</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="258"/>
+ <source>&Cancel</source>
+ <translation>&Annuler</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1002"/>
- <source>PgUp</source>
- <translation>PgUp</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="269"/>
+ <source>Open help page describing this dialog box</source>
+ <translation>Ouvrir la page de documentation correspondant à cette boite de dialogue</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1030"/>
- <source>Change the order of blocks by moving the active block downward (towards the foreground)</source>
- <translation>Change l'ordre des blocs en déplaçant le bloc actif vers le bas (vers le premier plan) </translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="272"/>
+ <source>&Help</source>
+ <translation>&Aide</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1046"/>
- <source>PgDown</source>
- <translation>PgDown</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="279"/>
+ <source>F1</source>
+ <translation>F1</translation>
</message>
+</context>
+<context>
+ <name>DlgSlideProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="744"/>
- <source>Add a new title block</source>
- <translation>Ajoute un nouveau bloc de type titre</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="29"/>
+ <source>Slide properties</source>
+ <translation>Propriétés de la diapositive</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="539"/>
- <source>Start a new chapter from here</source>
- <translation>Commencer un nouveau chapitre</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="660"/>
+ <source>Shot duration :</source>
+ <translation>Durée du plan :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="546"/>
- <source>Chapter :</source>
- <translation>Chapitre :</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="501"/>
+ <source>Indicate a name for the slide. It is this name which will appear on the thumbnail in the main window timeline.</source>
+ <translation>Saisissez ici un nom pour la diapositive. C'est ce nom qui apparaîtra sur la vignette de la diapositive dans la barre de temps de la fenêtre principale.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="754"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="230"/>
<source>Ctrl+Ins</source>
<translation>Ctrl+Ins</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="782"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="258"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3532"/>
<source>Add a new block of type image or video.</source>
<translation>Ajoute un nouveau bloc de type image ou vidéo.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="792"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="275"/>
<source>Ins</source>
<translation>Ins</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="941"/>
- <source>Remove the current block</source>
- <translation>Supprime le bloc actif</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="951"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3421"/>
<source>Del</source>
<translation>Suppr</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="827"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3388"/>
<source>Copy the current block to the ffDiaporama clipboard.</source>
<translation>Copie le bloc actif dans le presse papier de ffDiaporama.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="837"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3325"/>
+ <source>Move to background</source>
+ <translation>Déplacer vers l'arrière-plan</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3328"/>
+ <source>Change the order of blocks by moving the active block towards the background</source>
+ <translation>Change l'ordre des blocs en déplaçant le bloc actif vers l'arrière plan</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3340"/>
+ <source>Change the order of blocks by moving the active block towards the foreground</source>
+ <translation>Change l'ordre des blocs en déplaçant le bloc actif vers le premier plan</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3349"/>
+ <source>Visible</source>
+ <translation>Rendre visible</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3385"/>
+ <source>Copy block</source>
+ <translation>Copier bloc(s)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3391"/>
<source>Ctrl+C</source>
<translation>Ctrl+C</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="865"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3400"/>
+ <source>Cut block</source>
+ <translation>Couper bloc(s)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3403"/>
<source>Copy the current block to the ffDiaporama clipboard and remove it from the slide</source>
<translation>Copie le bloc actif dans le presse papier de ffDiaporama et le supprime de la diapositive</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="875"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3406"/>
<source>Ctrl+X</source>
<translation>Ctrl+X</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="903"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3430"/>
+ <source>Paste block</source>
+ <translation>Coller bloc(s)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3433"/>
<source>Paste block from the ffDiaporama clipboard and insert it.</source>
<translation>Colle le bloc actuellement présent dans le presse papier et l'insère.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="913"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3436"/>
<source>Ctrl+V</source>
<translation>Ctrl+V</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1074"/>
- <source>Make visible or hidden the active block</source>
- <translation>Rendre visible ou invisible le bloc actif</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1109"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3364"/>
<source>Give the sound, during this shot, to the current video block</source>
<translation>Donner le son, pendant ce plan, au bloc vidéo actuellement actif</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1151"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3292"/>
<source>Define the properties of the text block</source>
<translation>Définir les propriétés du texte du bloc</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1161"/>
- <source>F5</source>
- <translation>F5</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1189"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3304"/>
<source>Define framing and do correction of image or movie</source>
<translation>Définir le cadrage et corriger l'image de la photo ou du film</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1199"/>
- <source>F6</source>
- <translation>F6</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1227"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3313"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3316"/>
<source>Cut the video</source>
<translation>Couper la vidéo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1237"/>
- <source>F7</source>
- <translation>F7</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3376"/>
+ <source>Display detailled information on current block</source>
+ <translation>Afficher des informations détaillées sur le bloc en cours</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1485"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1582"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1710"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2415"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2521"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2651"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2757"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2863"/>
+ <source>Reset to 0</source>
+ <translation>Remettre à 0</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2253"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1858"/>
<source>Select a shape for current block</source>
<translation>Sélectionner une forme pour le bloc</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2303"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1908"/>
<source>Defined the opaqueness of the block.</source>
<translation>Définir l'opacité du bloc.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2345"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1950"/>
<source>Defined the thickness of the border</source>
<translation>Définir l'épaisseur de la bordure</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2373"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1978"/>
<source>Defined the color of the line to be used to draw the border</source>
<translation>Définir la couleur du trait à utiliser pour dessiner la bordure</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2404"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2009"/>
<source>Defined the type of line (solid, dotted line, etc.)</source>
<translation>Définir le type de trait (plein, pointillé, etc...)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2064"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2103"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1655"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1694"/>
<source>Define rotation according to the X axis (defined in degree).</source>
<translation>Définir l'angle de rotation selon l'axe des X (exprimé en degré).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1950"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1989"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1527"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1566"/>
<source>Define rotation according to the Y axis (defined in degree).</source>
<translation>Définir l'angle de rotation selon l'axe des Y (exprimé en degré).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1833"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1872"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1427"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1466"/>
<source>Define rotation according to the Z axis (defined in degree).</source>
<translation>Définir l'angle de rotation selon l'axe des Z (exprimé en degré).</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2517"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2122"/>
<source>Defined the distance between the block and its shadow</source>
<translation>Définir la distance entre le bloc et son ombre</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2545"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2150"/>
<source>Defined the color of the shadow</source>
<translation>Définir la couleur de l'ombre</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2726"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3168"/>
<source>Accept modification and go to previous slide</source>
<translation>Valider les modifications et passer à la diapositive précédente</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2729"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3171"/>
<source>Previous</source>
<translation>Précédente</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2754"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3196"/>
<source>Accept modification and go to next slide</source>
<translation>Valider les modifications et passer à la diapositive suivante</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2757"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3199"/>
<source>Next</source>
<translation>Suivante</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2817"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3276"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2275"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1880"/>
<source>Opacity :</source>
<translation>Opacité :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2457"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2062"/>
<source>Shadow :</source>
<translation>Ombre :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="504"/>
- <source>Slide name :</source>
- <translation>Nom de la diapositive :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2699"/>
- <source>TV margins</source>
- <translation>Marges TV</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="466"/>
- <source>Total slide duration :</source>
- <translation>Durée total (diapositive) :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="139"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="116"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3544"/>
<source>Append a shot to end of the timeline</source>
<translation>Ajouter un plan à la fin de la barre de temps</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="142"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3529"/>
+ <source>Add file</source>
+ <translation>Ajouter des fichiers</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3541"/>
<source>Add shot</source>
<translation>Ajouter plan</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="180"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="164"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3556"/>
<source>Remove current selected shot</source>
<translation>Supprimer le plan actuellement sélectionné, de la barre de temps</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="183"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3415"/>
<source>Remove</source>
<translation>Supprimer</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="221"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3568"/>
<source>Change the order of the shot by moving the current selected shot, of a notch towards the left</source>
<translation>Changer l'ordre des plans en déplaçant le plan actuellement sélectionné, d'un cran vers la gauche</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="224"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3565"/>
<source>Move left</source>
<translation>A gauche</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="256"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3580"/>
<source>Change the order of the shot by moving the current selected shot, of a notch towards the right</source>
<translation>Changer l'ordre des plans en déplaçant le plan actuellement sélectionné, d'un cran vers la droite</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="259"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3577"/>
<source>Move right</source>
<translation>A droite</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="687"/>
<source>Indicate the duration for the current selected shot.</source>
<translation>Indiquer la durée que vous souhaiter pour le plan actuellement sélectionné.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="417"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="710"/>
<source>HH:mm:ss.zzz</source>
<translation>HH:mm:ss.zzz</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2479"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2084"/>
<source>Defined in which corner the shadow will be positioned (or no shadow)</source>
<translation>Définir dans quel coin l'ombre sera positionnée</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1339"/>
- <source>Coordinates :</source>
- <translation>Coordonnées :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2645"/>
- <source>Propertie</source>
- <translation>Propriété</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2655"/>
- <source>Value</source>
- <translation>Valeur</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2310"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1915"/>
<source>Border :</source>
<translation>Bordure :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2225"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1830"/>
<source>Shape :</source>
<translation>Forme :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1682"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1276"/>
<source>Define width of current block</source>
<translation>Définir la largeur du bloc</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1755"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1349"/>
<source>Define height of current block</source>
<translation>Définir la hauteur du bloc</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1526"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1120"/>
<source>Define X position of current block</source>
<translation>Définir la position X du bloc</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1599"/>
- <source>Define Y position of current block</source>
- <translation>Définir la position Y du bloc</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3235"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Défaire la dernière action (CTRL+Z)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2135"/>
- <source>Block shape :</source>
- <translation>Forme du bloc :</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3238"/>
+ <source>Undo</source>
+ <translation>Défaire</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2696"/>
- <source>Enable or disable rulers corresponding to the margins of television sets.</source>
- <translation>Activer ou désactiver les guides correspondant aux marges des téléviseurs.</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3245"/>
+ <source>Ctrl+Z</source>
+ <translation>Ctrl+Z</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2740"/>
- <source>Accept modification and exit dialog box</source>
- <translation>Valider les modifications et quitter la boite de dialogue</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="119"/>
+ <source>Add
+shot</source>
+ <translation>Ajouter
+plan</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2743"/>
- <source>&Ok</source>
- <translation>&Ok</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="167"/>
+ <source>Remove
+shot</source>
+ <translation>Supprimer
+plan</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2793"/>
- <source>Cancel modification and exit dialog box</source>
- <translation>Annuler les modifications et quitter la boite de dialogue</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="213"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3520"/>
+ <source>Add a new text block</source>
+ <translation>Ajouter un nouveau bloc texte</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2796"/>
- <source>&Cancel</source>
- <translation>&Annuler</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="216"/>
+ <source>Add
+text</source>
+ <translation>Ajouter
+texte</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2807"/>
- <source>Open help page describing this dialog box</source>
- <translation>Ouvrir la page de documentation correspondant à cette boite de dialogue</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="261"/>
+ <source>Add
+file</source>
+ <translation>Ajouter
+fichier</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2810"/>
- <source>&Help</source>
- <translation>&Aide</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="310"/>
+ <source>Edit block</source>
+ <translation>Editer bloc</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="147"/>
- <source>Shadow upper left</source>
- <translation>Ombre en haut à gauche</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="313"/>
+ <source>Edit
+block</source>
+ <translation>Editer
+bloc</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="148"/>
- <source>Shadow upper right</source>
- <translation>Ombre en haut à droite</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="352"/>
+ <source>Arrange blocks</source>
+ <translation>Arranger les blocs</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="149"/>
- <source>Shadow bottom left</source>
- <translation>Ombre en bas à gauche</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="355"/>
+ <source>Arrange
+block</source>
+ <translation>Aranger
+bloc</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="150"/>
- <source>Shadow bottom right</source>
- <translation>Ombre en bas à droite</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="397"/>
+ <source>Block
+information</source>
+ <translation>Propriétés
+du bloc</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="146"/>
- <source>None</source>
- <translation>Aucun</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1193"/>
+ <source>Define Y position of current block</source>
+ <translation>Définir la position Y du bloc</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="101"/>
- <source>Slide</source>
- <translation>Diapositive</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1740"/>
+ <source>Block shape :</source>
+ <translation>Forme du bloc :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="626"/>
- <source>Lengthened to %1 sec</source>
- <translation>Allongée à %1 sec</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2199"/>
+ <source>Text animation :</source>
+ <translation>Animation de texte :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1039"/>
- <source>Object type</source>
- <translation>Type d'objet</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2209"/>
+ <source>Zoom :</source>
+ <translation>Zoom :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1040"/>
- <source>Title</source>
- <translation>Titre</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2245"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2287"/>
+ <source>Define a zoom value for the text</source>
+ <translation>Définir une valeur de zomm pour le texte</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1041"/>
- <source>Image</source>
- <translation>Image</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2309"/>
+ <source>Reset to 100%</source>
+ <translation>Remettre à 100%</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1042"/>
- <source>Video</source>
- <translation>Vidéo</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2351"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2393"/>
+ <source>Scroll text from left to right</source>
+ <translation>Déplacer le texte de gauche à droite (Scrolling)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1046"/>
- <source>Filename</source>
- <translation>Fichier</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2457"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2499"/>
+ <source>Scroll text from bottom to up</source>
+ <translation>Déplacer le texte de bas en haut (Scrolling)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1056"/>
- <source>Image size</source>
- <translation>Taille d'image</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2551"/>
+ <source>Block animation :</source>
+ <translation>Animation de bloc :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="561"/>
- <source>No style for nonstandard geometry image</source>
- <translation>Pas de style pour des images à géométrie non standard</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2587"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2632"/>
+ <source>Define the number of turn to be made around the Z axis during this shot</source>
+ <translation>Définir un nombre de rotation à réaliser autour de l'axe des Z pendant ce plan</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="626"/>
- <source>Select a file</source>
- <translation>Sélectionner un fichier</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2693"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2738"/>
+ <source>Define the number of turn to be made around the X axis during this shot</source>
+ <translation>Définir un nombre de rotation à réaliser autour de l'axe des X pendant ce plan</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1572"/>
- <source>Remove shot</source>
- <translation>Supprimer un plan</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2799"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2844"/>
+ <source>Define the number of turn to be made around the Y axis during this shot</source>
+ <translation>Définir un nombre de rotation à réaliser autour de l'axe des Y pendant ce plan</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1572"/>
- <source>Are you sure to want to delete this shot?</source>
- <translation>Etes-vous sure de vouloir supprimer ce plan ?</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3065"/>
+ <source>Type :</source>
+ <translation>Type :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1715"/>
- <source>Text</source>
- <comment>Default text value</comment>
- <translation>Texte</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3078"/>
+ <source>Dissolve :</source>
+ <translation>Fondu :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1740"/>
- <source>Add files</source>
- <translation>Ajouter des fichiers</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3097"/>
+ <source>Block coordinates :</source>
+ <translation>Coordonnées du bloc :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1957"/>
- <source>Remove bloc</source>
- <translation>Supprimer un bloc</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="508"/>
+ <source>Start a new chapter from this slide</source>
+ <translation>Commencer un nouveau chapitre à partir de cette diapositive</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1957"/>
- <source>Are you sure to want to delete this bloc?</source>
- <translation>Etes-vous sûr de vouloir supprimer ce bloc ?</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="531"/>
+ <source>Total duration :</source>
+ <translation>Durée totale :</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3141"/>
+ <source>Enable or disable rulers corresponding to the margins of television sets.</source>
+ <translation>Activer ou désactiver les guides correspondant aux marges des téléviseurs.</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3144"/>
+ <source>Rullers</source>
+ <translation>Guides</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3182"/>
+ <source>Accept modification and exit dialog box</source>
+ <translation>Valider les modifications et quitter la boite de dialogue</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3185"/>
+ <source>&Ok</source>
+ <translation>&Ok</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3252"/>
+ <source>Cancel modification and exit dialog box</source>
+ <translation>Annuler les modifications et quitter la boite de dialogue</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3255"/>
+ <source>&Cancel</source>
+ <translation>&Annuler</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3266"/>
+ <source>Open help page describing this dialog box</source>
+ <translation>Ouvrir la page de documentation correspondant à cette boite de dialogue</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3269"/>
+ <source>&Help</source>
+ <translation>&Aide</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3289"/>
+ <source>Edit text</source>
+ <translation>Editer le texte</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3301"/>
+ <source>Do image correct or reframming</source>
+ <translation>Corriger ou récadrer l'image</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3337"/>
+ <source>Move to foreground</source>
+ <translation>Déplacer vers le premier-plan</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3589"/>
+ <source>Lock properties</source>
+ <translation>Verrouiler les propriétés</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3592"/>
+ <source>Lock properties to the same values as define for the previous shot</source>
+ <translation>Verrouiler les propriétés sur celles définie dans le plan précédent</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3601"/>
+ <source>Unlock properties from this shot</source>
+ <translation>Déverrouiller les propriétés</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3604"/>
+ <source>Define properties from this shot</source>
+ <translation>Définir les propriétés pour ce plan</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3613"/>
+ <source>Hide</source>
+ <translation>Cacher</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3616"/>
+ <source>Make hide the active block</source>
+ <translation>Cache le bloc actif</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3352"/>
+ <source>Make visible the active block</source>
+ <translation>Rendre le boc actif visible</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="473"/>
+ <source>Slide :</source>
+ <translation>Diapositive :</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="511"/>
+ <source>Start chapter from here</source>
+ <translation>Commencer un chapitre</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3361"/>
+ <source>Take the sound</source>
+ <translation>Prendre le son</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3373"/>
+ <source>Display information</source>
+ <translation>Afficher des informations</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3418"/>
+ <source>Remove current block(s)</source>
+ <translation>Supprimer le(s) bloc(s)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3445"/>
+ <source>Align top</source>
+ <translation>Aligner en haut</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3448"/>
+ <source>Align blocks to the top</source>
+ <translation>Aligner les blocs sur le haut de la sélection</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3457"/>
+ <source>Align middle</source>
+ <translation>Aligner au milieu</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3460"/>
+ <source>Align blocks to the middle</source>
+ <translation>Aligner les blocs sur le milieu de la sélection</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3469"/>
+ <source>Align bottom</source>
+ <translation>Aligner en bas</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3472"/>
+ <source>Align blocks to the bottom</source>
+ <translation>Aligner les blocs sur le bas de la sélection</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3481"/>
+ <source>Align left</source>
+ <translation>Aligner à gauche</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3484"/>
+ <source>Align blocks to the left</source>
+ <translation>Aligner les blocs sur la gauche de la sélection</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3493"/>
+ <source>Align center</source>
+ <translation>Aligner au centre</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3496"/>
+ <source>Align blocks to the center</source>
+ <translation>Aligner les blocs au centre de la sélection</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3505"/>
+ <source>Align right</source>
+ <translation>Aligner à droite</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3508"/>
+ <source>Align blocks to the right</source>
+ <translation>Aligner les blocs sur la droite de la sélection</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3517"/>
+ <source>Add text block</source>
+ <translation>Ajouter un bloc texte</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1845"/>
+ <source>Remove block</source>
+ <translation>Supprimer le bloc</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="194"/>
+ <source>Shadow upper left</source>
+ <translation>Ombre en haut à gauche</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="195"/>
+ <source>Shadow upper right</source>
+ <translation>Ombre en haut à droite</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="196"/>
+ <source>Shadow bottom left</source>
+ <translation>Ombre en bas à gauche</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="197"/>
+ <source>Shadow bottom right</source>
+ <translation>Ombre en bas à droite</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="193"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="234"/>
+ <source>None</source>
+ <translation>Aucun</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="156"/>
+ <source>Slide</source>
+ <translation>Diapositive</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="235"/>
+ <source>Multiple block turn</source>
+ <translation>Multiple rotations</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="236"/>
+ <source>Dissolve</source>
+ <translation>Fondu</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="239"/>
+ <source>Appear</source>
+ <translation>Apparaître</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="240"/>
+ <source>Disappear</source>
+ <translation>Disparaître</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="241"/>
+ <source>Blink at slow speed</source>
+ <translation>Clignoter à vitesse lente</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="242"/>
+ <source>Blink at medium speed</source>
+ <translation>Clignoter à vitesse moyenne</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="243"/>
+ <source>Blink at fast speed</source>
+ <translation>Clignoter à vitesse rapide</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="244"/>
+ <source>Blink at very fast speed</source>
+ <translation>Clignoter à vitesse très rapide</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1332"/>
+ <source>Lengthened to %1 sec</source>
+ <translation>Allongée à %1 sec</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1845"/>
+ <source>Are you sure to want to delete this block?</source>
+ <translation>Etes-vous sur de vouloir supprimer ce bloc ?</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1848"/>
+ <source>Remove blocks</source>
+ <translation>Supprimer le(s) bloc(s)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1848"/>
+ <source>Are you sure to want to delete these blocks?</source>
+ <translation>Etes-vous sur de vouloir supprimer ces blocs ?</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3553"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1200"/>
+ <source>Remove shot</source>
+ <translation>Supprimer un plan</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1200"/>
+ <source>Are you sure to want to delete this shot?</source>
+ <translation>Etes-vous sure de vouloir supprimer ce plan ?</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1564"/>
+ <source>Text</source>
+ <comment>Default text value</comment>
+ <translation>Texte</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1623"/>
+ <source>Add files</source>
+ <translation>Ajouter des fichiers</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/cCustomBlockTable.cpp" line="136"/>
+ <source>Duration:</source>
+ <translation>Durée :</translation>
</message>
</context>
<context>
<name>DlgTextEdit</name>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="26"/>
<source>Edit text</source>
<translation>Editer le texte</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="187"/>
- <source>Properties for all shots</source>
- <translation>Propriétés pour tous les plans</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="158"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="109"/>
<source>Select font family</source>
<translation>Selectionner une famille de police</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="339"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="134"/>
<source>Select font size</source>
<translation>Selectionner la taille du texte</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="364"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="159"/>
<source>Select font color</source>
<translation>Sélectionner la couleur du texte</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1267"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="443"/>
<source>Select font effect (outerline, shadow)</source>
<translation>Selectionner l'effet de texte (contour, ombre)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1298"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="474"/>
<source>Select outerline/shadow color</source>
<translation>Sélectionner la couleur du trait ou de l'ombre</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="230"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="512"/>
<source>Set text to Bold</source>
<translation>Mettre le texte en gras</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="262"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="544"/>
<source>Set text to Italic</source>
<translation>Mettre le texte en italic</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="291"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="573"/>
<source>Set text to Underline</source>
<translation>Souligner le texte</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="412"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="289"/>
<source>Align left</source>
<translation>Aligner à gauche</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="447"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="356"/>
<source>Align center</source>
<translation>Aligner au centre</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="479"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="324"/>
<source>Align justify</source>
<translation>Justifier</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="511"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="45"/>
+ <source>Text</source>
+ <translation>Texte</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="200"/>
+ <source>Bullet list</source>
+ <translation>Liste à puce</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="235"/>
+ <source>Numbered list</source>
+ <translation>Liste numérotée</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="388"/>
<source>Align right</source>
<translation>Aligner à droite</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="556"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="602"/>
+ <source>Set text to superscript</source>
+ <translation>Mettre le texte en exposant</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="631"/>
+ <source>Set text to subscript</source>
+ <translation>Mettre le texte en indice</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="679"/>
+ <source>Increase indent</source>
+ <translation>Augmenter l'indentation</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="708"/>
+ <source>decrease indent</source>
+ <translation>Réduire l'indentation</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="756"/>
<source>Align top</source>
<translation>Aligner en haut</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="588"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="788"/>
<source>Align in the middle</source>
<translation>Aligner au milieu</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="620"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="820"/>
<source>Align bottom</source>
<translation>Aligner en bas</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="682"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="870"/>
+ <source>Background</source>
+ <translation>Fond du texte</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="916"/>
+ <source>Background properties :</source>
+ <translation>Propriétés du fond :</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="967"/>
<source>Define the background brush type for the shape</source>
<translation>Définir le type de brosse pour la forme</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="734"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1019"/>
<source>Define the color (or first color for a gradient brush)</source>
<translation>Définir la couleur (ou première couleur pour un dégradé)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="759"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1063"/>
<source>Define the second gradient brush color </source>
<translation>Définir la deuxième couleur du dégradé</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="784"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1107"/>
<source>Define the third gradient brush color </source>
<translation>Définir la troisième couleur du dégradé</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="843"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1166"/>
<source>Select the pattern</source>
<translation>Définir le motif</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="904"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1227"/>
<source>Define orientation of the gradient brush</source>
<translation>Définir l'orientation du dégradé de couleur</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="948"/>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="987"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1258"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1297"/>
<source>Define position of the second color in the gradient brush</source>
<translation>Définir la position de la seconde couleur du dégradé</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1077"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1400"/>
<source>Select an image among that present in the library</source>
<translation>Sélectionner une image parmi celle présente dans la librairie</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1215"/>
- <source>Texte style :</source>
- <translation>Style du texte :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1123"/>
- <source>Block background style :</source>
- <translation>Arrière plan du texte :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1357"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1456"/>
<source>Accept modification and exit dialog box</source>
<translation>Valider les modifications et quitter la boite de dialogue</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1360"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1459"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1371"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1495"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Défaire la dernière action (CTRL+Z)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1498"/>
+ <source>Undo</source>
+ <translation>Défaire</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1505"/>
+ <source>Ctrl+Z</source>
+ <translation>Ctrl+Z</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1512"/>
<source>Cancel modification and exit dialog box</source>
<translation>Annuler les modifications et quitter la boite de dialogue</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1374"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1515"/>
<source>&Cancel</source>
<translation>&Annuler</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1385"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1526"/>
<source>Open help page describing this dialog box</source>
<translation>Ouvrir la page de documentation correspondant à cette boite de dialogue</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1388"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1529"/>
<source>&Help</source>
<translation>&Aide</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1395"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1536"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="74"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="118"/>
<source>No effect</source>
<translation>Aucun effet</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="75"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="119"/>
<source>Outerline</source>
<translation>Contour</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="76"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="120"/>
<source>Shadow upper left</source>
<translation>Ombre en haut à gauche</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="77"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="121"/>
<source>Shadow upper right</source>
<translation>Ombre en haut à droite</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="78"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="122"/>
<source>Shadow bottom left</source>
<translation>Ombre en bas à gauche</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="79"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="123"/>
<source>Shadow bottom right</source>
<translation>Ombre en bas à droite</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="85"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="129"/>
<source>No brush</source>
<translation>Pas de brosse</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="86"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="130"/>
<source>Solid brush</source>
<translation>Brosse unie</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="87"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="131"/>
<source>Pattern brush</source>
<translation>Motif</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="88"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="132"/>
<source>Gradient 2 colors</source>
<translation>Dégradé à 2 couleurs</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="89"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="133"/>
<source>Gradient 3 colors</source>
<translation>Dégradé à 3 couleurs</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="90"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="134"/>
<source>Image from library</source>
<translation>Image de la librairie</translation>
</message>
@@ -3505,108 +3966,123 @@ Voulez-vous l'écraser ?</translation>
<context>
<name>DlgVideoEdit</name>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="26"/>
<source>Cut video</source>
<translation>Couper la vidéo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="52"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="52"/>
<source>Properties for all shots</source>
<translation>Propriétés pour tous les plans</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="110"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="110"/>
<source>Start :</source>
<translation>Début :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="117"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="117"/>
<source>Move to start position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation>Aller au début</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="131"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="131"/>
<source>Use current position as start position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation>Utiliser la position actuelle comme début</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="157"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="157"/>
<source>Define the start position to use for</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation>Définir la position de début</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="179"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="179"/>
<source>End :</source>
<translation>Fin :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="201"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="201"/>
<source>Define the end position to use for</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation>Définir la position de fin</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="220"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="220"/>
<source>Use current position as end position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation>Utiliser la position actuelle comme fin</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="234"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="234"/>
<source>Move to end position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation>Aller à la fin</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="254"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="254"/>
<source>Duration :</source>
<translation>Durée :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="286"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="286"/>
<source>Volume :</source>
<translation>Volume :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="314"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="314"/>
<source>Define the " Master Volume " for the movie</source>
<translation>Définir le niveau du volume sonore pour la vidéo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="355"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="355"/>
<source>Accept modification and exit dialog box</source>
<translation>Valider les modifications et quitter la boite de dialogue</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="358"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="358"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="369"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="394"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Défaire la dernière action (CTRL+Z)</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="397"/>
+ <source>Undo</source>
+ <translation>Défaire</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="404"/>
+ <source>Ctrl+Z</source>
+ <translation>Ctrl+Z</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="411"/>
<source>Cancel modification and exit dialog box</source>
<translation>Annuler les modifications et quitter la boite de dialogue</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="372"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="414"/>
<source>&Cancel</source>
<translation>&Annuler</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="383"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="425"/>
<source>Open help page describing this dialog box</source>
<translation>Ouvrir la page de documentation correspondant à cette boite de dialogue</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="386"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="428"/>
<source>&Help</source>
<translation>&Aide</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="393"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="435"/>
<source>F1</source>
<translation>F1</translation>
</message>
@@ -3614,87 +4090,87 @@ Voulez-vous l'écraser ?</translation>
<context>
<name>DlgffDPjrProperties</name>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="19"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="20"/>
<source>Project properties</source>
<translation>Propriétés du projet</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="33"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="34"/>
<source>Title :</source>
<translation>Titre :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="50"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="51"/>
<source>Author :</source>
<translation>Auteur :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="60"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="61"/>
<source>Album :</source>
<translation>Album :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="70"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="71"/>
<source>Year :</source>
<translation>Année :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="120"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="121"/>
<source>Language :</source>
<translation>Langue :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="153"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="154"/>
<source>und</source>
<translation>und</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="163"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="164"/>
<source>(ISO 639 language code)</source>
<translation>(Code langue ISO 639)</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="172"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="173"/>
<source>Comment :</source>
<translation>Commentaire :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="182"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="183"/>
<source>Chapters :</source>
<translation>Chapitres :</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="222"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="223"/>
<source>Accept modification and exit dialog box</source>
<translation>Valider les modifications et quitter la boite de dialogue</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="225"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="226"/>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="236"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="237"/>
<source>Cancel modification and exit dialog box</source>
<translation>Annuler les modifications et quitter la boite de dialogue</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="239"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="240"/>
<source>&Cancel</source>
<translation>&Annuler</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="250"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="251"/>
<source>Open help page describing this dialog box</source>
<translation>Ouvrir la page de documentation correspondant à cette boite de dialogue</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="253"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="254"/>
<source>&Help</source>
<translation>&Aide</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="260"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="261"/>
<source>F1</source>
<translation>F1</translation>
</message>
@@ -3709,43 +4185,46 @@ Voulez-vous l'écraser ?</translation>
<name>MainWindow</name>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="173"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1402"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1414"/>
<source>Ctrl+N</source>
<translation>Ctrl+N</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="224"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1453"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1465"/>
<source>Ctrl+O</source>
<translation>Ctrl+O</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="323"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1552"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1564"/>
<source>Ctrl+S</source>
<translation>Ctrl+S</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="499"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1728"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1740"/>
<source>Ctrl+W</source>
<translation>Ctrl+W</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="624"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1851"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1863"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3227"/>
<source>Ins</source>
<translation>Ins</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="887"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2114"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2126"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3149"/>
<source>Remove</source>
<translation>Supprimer</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="900"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2127"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2139"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3155"/>
<source>Del</source>
<translation>Suppr</translation>
</message>
@@ -3756,13 +4235,13 @@ Voulez-vous l'écraser ?</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="156"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1385"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1397"/>
<source>Create a new empty project (Ctrl+N)</source>
<translation>Créer un nouveau projet vide (Ctrl+N)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="159"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1388"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1400"/>
<source>New
project</source>
<translation>Nouveau
@@ -3770,13 +4249,13 @@ projet</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="207"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1436"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1448"/>
<source>Open a previously saved project (Ctrl+O)</source>
<translation>Ouvre un projet existant (Ctrl+O)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="210"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1439"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1451"/>
<source>Open
project</source>
<translation>Ouvrir
@@ -3784,13 +4263,13 @@ projet</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="258"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1487"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1499"/>
<source>Open a recently used project file</source>
<translation>Ouvrir un projet récent</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="261"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1490"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1502"/>
<source>Open
recent</source>
<translation>Ouvrir
@@ -3798,26 +4277,26 @@ récent</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="306"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1535"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1547"/>
<source>Save current project (Ctrl+S)</source>
<translation>Sauvegarder le projet en cours (Ctrl+S)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="309"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1538"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1550"/>
<source>Save
project</source>
<translation>Sauver</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="357"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1586"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1598"/>
<source>Save current project to a new project file</source>
<translation>Sauvegarder le projet en cours dans un autre fichier projet</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="360"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1589"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1601"/>
<source>Save
project as</source>
<translation>Sauver
@@ -3825,13 +4304,13 @@ sous</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="400"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1629"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1641"/>
<source>Define project properties</source>
<translation>Définir les propriétés du projet</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="403"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1632"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1644"/>
<source>Project
properties</source>
<translation>Propriétés
@@ -3839,19 +4318,19 @@ du projet</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="442"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1671"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1683"/>
<source>Change application and project settings</source>
<translation>Changer les options du programme et des projets</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="483"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1712"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1724"/>
<source>Exit application (Ctrl+W)</source>
<translation>Quitter l'application (Ctrl+W)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="486"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1715"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1727"/>
<source>Exit</source>
<translation>Quitter</translation>
</message>
@@ -3862,13 +4341,14 @@ du projet</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="559"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1786"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1798"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3212"/>
<source>Add an empty slide</source>
<translation>Ajouter une diapositive vide</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="562"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1789"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1801"/>
<source>Add
title</source>
<translation>Ajouter
@@ -3876,13 +4356,14 @@ titre</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="607"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1834"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1846"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3224"/>
<source>Add image or video as slide (INS)</source>
<translation>Ajouter des images ou des vidéos (INS)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="610"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1837"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1849"/>
<source>Add
files</source>
<translation>Ajouter
@@ -3890,7 +4371,7 @@ fichiers</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="655"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1882"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1894"/>
<source>Add
project</source>
<translation>Ajouter
@@ -3898,432 +4379,443 @@ projet</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="701"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1928"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1940"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3167"/>
<source>Copy current slide to clipboard and remove it (Ctrl+X)</source>
<translation>Copier la diapositive en cours dans le presse papier et la supprimer (Ctrl+X)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="745"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1972"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1984"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3182"/>
<source>Copy current slide to clipboard (Ctrl+C)</source>
<translation>Copier la diapositive en cours dans le presse papier (Ctrl+C)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="789"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2016"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2028"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3197"/>
<source>Paste current slide from clipboard (Ctrl+V)</source>
<translation>Coller la diapositive depuis le presse papier (Ctrl+V)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="846"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2073"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2085"/>
<source>Edit</source>
<translation>Editer</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="884"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2111"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2123"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3152"/>
<source>Remove current slide (DEL)</source>
<translation>Supprimer la diapositive en cours (DEL)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="954"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2185"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="960"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2197"/>
<source>Player and
smartphone</source>
<translation>Lecteur et
smartphone</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="999"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2230"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1005"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2242"/>
<source>Multimedia
system</source>
<translation>Système
multimédia</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1038"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2269"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1044"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2281"/>
<source>For the
WEB</source>
<translation>Pour
Internet</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1077"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2308"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1083"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2320"/>
<source>Lossless</source>
<translation>Lossless</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1121"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2352"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1127"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2364"/>
<source>Render project as a video</source>
<translation>Générer le film du projet</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1252"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2470"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1200"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2418"/>
+ <source>Display information about ffDiaporama</source>
+ <translation>Affiche des informations sur ffDiaporama</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1264"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2482"/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2881"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2893"/>
<source>Slide : xx/xxx</source>
<translation>Diapositive : xx/xxx</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3076"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3092"/>
<source>Edit the background image for the slide</source>
<translation>Avancée</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3079"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3095"/>
<source>F5</source>
<translation>F5</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3084"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3104"/>
<source>Edit slide</source>
<translation>Propriété de la diapositive</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3087"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3107"/>
<source>Edit the slide</source>
<translation>Modifier la diapositive</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3090"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3110"/>
<source>F6</source>
<translation>F6</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3101"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3125"/>
<source>F7</source>
<translation>F7</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3112"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3140"/>
<source>F8</source>
<translation>F8</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3120"/>
- <source>Edit the entering background transition for the slide</source>
- <translation>Modifier le fond d'écran pour la diapositive</translation>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3209"/>
+ <source>Add title</source>
+ <translation>Ajouter une diapositive titre</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1152"/>
- <source>Help</source>
- <translation>Aide</translation>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3236"/>
+ <source>Add project</source>
+ <translation>Ajouter un projet existant</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1188"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2406"/>
- <source>Display informations about ffDiaporama</source>
- <translation>Affiche des informations sur ffDiaporama</translation>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1164"/>
+ <source>Help</source>
+ <translation>Aide</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1191"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2409"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1203"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2421"/>
<source>About</source>
<translation>A propos
de</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1235"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2453"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1247"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2465"/>
<source>Call ffDiaporama WIKI</source>
<translation>Ouvrir la documentation de ffDiaporama</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1238"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2456"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1250"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2468"/>
<source>Support
and help</source>
<translation>Aide
Support</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1286"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2504"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1298"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2516"/>
<source>Display blog/news page from internet WEB site</source>
<translation>Ouvrir la page Blog/Nouvelles du site internet de ffDiaporama</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2962"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2974"/>
<source>Switch display to sheet mode</source>
<translation>Basculer l'affichage en mode partition</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2939"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2951"/>
<source>...</source>
<translation></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2922"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2934"/>
<source>Switch display to preview mode</source>
<translation>Basculer l'affichage en mode prévisualisation</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3042"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3054"/>
<source>Reduce thumbnails</source>
<translation>Réduire la taille des vignettes</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3002"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3014"/>
<source>Enlarge thumbnails</source>
<translation>Augmenter la taille des vignettes</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3073"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3089"/>
<source>Edit background</source>
<translation>Propriétés de l'arrière plan</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3095"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3119"/>
<source>Edit music</source>
<translation>Propriétés de la musique</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3098"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3122"/>
<source>Edit the slide musical playlist</source>
<translation>Modifier la musique de la diapositive</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3106"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3134"/>
<source>Edit object transition</source>
<translation>Propriétés de la transition</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3109"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3137"/>
<source>Edit entering transition for the slide</source>
<translation>Modifier la transition entrante de la diapositive</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3117"/>
- <source>Edit background transition</source>
- <translation>Propriétés de la transition d'arrière plan</translation>
- </message>
- <message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="704"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1931"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1943"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3164"/>
<source>Cut</source>
<translation>Couper</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="445"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1674"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1686"/>
<source>Settings</source>
<translation>Options</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="717"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1944"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1956"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3170"/>
<source>Ctrl+X</source>
<translation>Ctrl+X</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="748"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1975"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1987"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3179"/>
<source>Copy</source>
<translation>Copier</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="761"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1988"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2000"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3185"/>
<source>Ctrl+C</source>
<translation>Ctrl+C</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="792"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2019"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2031"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3194"/>
<source>Paste</source>
<translation>Coller</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="805"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2032"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2044"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3200"/>
<source>Ctrl+V</source>
<translation>Ctrl+V</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1124"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2355"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1130"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2367"/>
<source>Advanced</source>
<translation>Avancé</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1289"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2507"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1301"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2519"/>
<source>What's new</source>
<translation>Nouveautés</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="652"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1879"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1891"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3239"/>
<source>Add a previously saved project at the end of this project</source>
<translation>Ajouter un projet précédemment créé à la fin du projet en cours</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="918"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="924"/>
<source>Render video</source>
<translation>Générer le film</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="60"/>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="74"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="61"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="75"/>
<source>Search Raster mode in configuration file</source>
<translation>Recherche du mode Raster dans le fichier de configuration</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="274"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="275"/>
<source>All suported file (</source>
<translation>Fichiers supportés (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="281"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="282"/>
<source>Image file (</source>
<translation>Fichiers images (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="287"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="288"/>
<source>Video file (</source>
<translation>Fichiers vidéos (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="293"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="294"/>
<source>Music file (</source>
<translation>Fichiers musicaux (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="461"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="387"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="464"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="388"/>
<source>Read configuration file</source>
<translation>Lecture du fichier de configuration</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="649"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1815"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1409"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="588"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1707"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1459"/>
<source>This application support only audio track with unsigned 8 bits or signed 16 bits sample format</source>
<comment>Error message</comment>
<translation>Cette application supporte uniquement les pistes audio en 8 bits non signé ou 16 bits signé</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="653"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1819"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1417"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="592"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1467"/>
<source>This application support only mono or stereo audio track</source>
<comment>Error message</comment>
<translation>Cette application ne supporte que les piste audio en mono ou stéréo</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="659"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1943"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1399"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1445"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1458"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1508"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1514"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1521"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1530"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1398"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1410"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1418"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1497"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="598"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1832"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1602"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1648"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1653"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1661"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1717"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1724"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1733"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1448"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1460"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1468"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1547"/>
<source>Error</source>
<comment>Error message</comment>
<translation>Erreur</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="463"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="397"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="466"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="398"/>
<source>Error reading configuration file</source>
<comment>Error message</comment>
<translation>Erreur durant la lecture du fichier de configuration</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="468"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="402"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="471"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="403"/>
<source>Error reading content of configuration file</source>
<comment>Error message</comment>
<translation>Erreur durant la lecture du contenu du fichier de configuration</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="475"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="409"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="478"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="410"/>
<source>The file is not a valid configuration file</source>
<comment>Error message</comment>
<translation>Le fichier de configuration n'est pas valide</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="642"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="456"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="645"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="457"/>
<source>Error creating configuration file</source>
<comment>Error message</comment>
<translation>Erreur durant la création du fichier de configuration</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="857"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1052"/>
<source>Title</source>
<comment>Default slide name when no file</comment>
<translation>Titre</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1202"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1239"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1252"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1289"/>
<source>Saving project file ...</source>
<translation>Sauvegarde du fichier projet ...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1399"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1400"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1602"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1603"/>
<source>Error creating data file</source>
<comment>Error message</comment>
<translation>Erreur durant la création du fichier de données</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1421"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1624"/>
<source>Open project file</source>
<translation>Ouvrir un fichier projet</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1434"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1637"/>
<source>Impossible to open project file %1</source>
<translation>Impossible d'ouvrir le fichier projet %1</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1444"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1508"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1509"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1647"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1712"/>
<source>Error reading project file</source>
<comment>Error message</comment>
<translation>Erreur durant la lecture du fichier projet</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1451"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1514"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1515"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1653"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1654"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1717"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1718"/>
<source>Error reading content of project file</source>
<comment>Error message</comment>
<translation>Erreur durant la lecture du contenu du fichier projet</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1458"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1459"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1521"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1522"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1661"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1662"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1724"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1725"/>
<source>The file is not a valid project file</source>
<comment>Error message</comment>
<translation>Le fichier n'est pas un fichier projet valide</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1530"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1531"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1733"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1734"/>
<source>Impossible to import this file :
Image geometry in this file is not the same than the current project</source>
<comment>Error message</comment>
@@ -4336,115 +4828,90 @@ La géométrie d'image de ce fichier ne correspond pas à celle du projet e
<translation>Démarrage de SDL...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="109"/>
- <source>Starting ffmpeg...</source>
- <translation>Démarrage de ffmpeg...</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="118"/>
- <source>Registered video codecs for encoding :</source>
- <translation>Codecs vidéo disponibles pour l'encodage :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="120"/>
- <source>Registered audio codecs for encoding :</source>
- <translation>Codecs audio disponibles pour l'encodage :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="122"/>
- <source>Registered container formats for encoding :</source>
- <translation>Formats de fichier disponibles pour l'encodage :</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="124"/>
- <source> Device registered for rendering</source>
- <translation> équipements enregistrés pour la génération de film</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="126"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="117"/>
<source>Library :</source>
<translation>Librairie :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="128"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="119"/>
<source>Loading background library...</source>
<translation>Chargement des images d'arrière-plan ...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="129"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="120"/>
<source> images loaded into the background-library from </source>
<translation> images chargées dans la librairie des images d'arrière-plan depuis </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="130"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="121"/>
<source>Loading no-luma transitions...</source>
<translation>Chargement des transitions non luma...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="136"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="127"/>
<source> no-luma transitions loaded into the transition-library</source>
<translation> transitions non luma chargées dans la librairie des transitions</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="137"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="128"/>
<source>Loading luma transitions...</source>
<translation>Chargement des transitions luma...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="138"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="139"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="140"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="141"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="142"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="143"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="129"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="130"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="131"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="132"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="133"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="134"/>
<source> luma transitions loaded into the transition-library from </source>
<translation> transitions luma chargées dans la librairie des transitions depuis </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="144"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="135"/>
<source> Total:</source>
<translation> Total:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="144"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="135"/>
<source> transitions loaded into the transition-library</source>
<translation> transitions chargées dans la librairie des transitions</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="234"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="496"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="265"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="538"/>
<source>Slide : </source>
<translation>Diapositive : </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="357"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="388"/>
<source>Want to save the project before closing?</source>
<translation>Voulez-vous enregistrer le projet avant de fermer?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="534"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="582"/>
<source>Configuration not correct!</source>
<translation>Configuration incorrecte !</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="858"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="907"/>
<source><html><body>Visit the ffDiaporama Web site to use the forum,<br>consult tutorials and learn the lastest news:<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html></source>
<translation><html><body>Visiter le site WEB de ffDiaporama Web pour accéder au forum,<br>consulter des articles et lire les dernières nouvelles :<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1002"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1051"/>
<source>Saving configuration file and applying new configuration ...</source>
<translation>Sauvegarde le fichier de configuration et applique les nouveaux paramètres ...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1094"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1117"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1126"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1143"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1166"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1175"/>
<source>Open file :</source>
<translation>Ouverture de :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1140"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1189"/>
<source>This project was created with a newer version of ffDiaporama.
If you continue, you take the risk of losing data!
Do you want to open it nevertheless?</source>
@@ -4453,31 +4920,37 @@ Si vous continuez, vous risquez de perdre des informations !
Etes vous sur de vouloir ouvrir ce fichier malgré cela ?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1431"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1481"/>
<source>This video files contains more than one chapter.
Do you want to create one slide for each chapters ?</source>
<translation>Cette vidéo contient plusieurs chapitres.
Voulez-vous créer une diapositive pour chaque chapitre ?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1660"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1710"/>
<source>Add project file :</source>
<translation>Ajout du fichier projet :</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1740"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1745"/>
+ <source>Capture the image </source>
+ <translation>Capturer une image en </translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1837"/>
<source>Remove slide</source>
<translation>Supprimer une diapositive</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1837"/>
<source>Are you sure to want to delete this slide?</source>
<translation>Etes-vous sure de vouloir supprimer cette diapositive ?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1038"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1090"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1112"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1087"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1139"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1161"/>
<source>Current project has been modified.
Do you want to save-it ?</source>
<translation>Le projet en cours a été modifié.
@@ -4489,84 +4962,90 @@ Voulez-vous l'enregistrer ?</translation>
<translation>Chargement des icônes systèmes ...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="357"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="109"/>
+ <source>Starting libav...</source>
+ <translation>Démarrage de LIBAV ...</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="388"/>
<source>Close application</source>
<translation>Quitter l'application</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="432"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="463"/>
<source>A new ffDiaporama release is available from WEB site. Please update from http://ffdiaporama.tuxfamily.org !</source>
<translation>Une nouvelle version de ffDiaporama est disponible sur le site WEB. Merci de faire la mise à jour de http://ffdiaporama.tuxfamily.org !</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="506"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="548"/>
<source><new project></source>
<comment>when project have no name define</comment>
<translation><Nouveau projet></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="849"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="898"/>
<source><html><body>Select a project to open or to create a new project<br>To discover ffDiaporama:<br><a href="%1">Consult the WIKI</a></body></html></source>
<translation><html><body>Sélectionner un projet à ouvrir ou créer un nouveau projet<br>Pour découvrir ffDiaporama :<br><a href="%1">Consultez le WIKI</a></body></html></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="852"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="901"/>
<source><html><body>Add empty slides or slides based on photos or videos<br>To discover how to build your slide show and to animate slides:<br><a href="%1">Discover the principles of functioning of ffDiaporama</a></body></html></source>
<translation><html><body>Ajouter des diapositives vide ou basée sur des photos ou des vidéos<br>Pour découvrir comment construire votre diaporama et animer vos diapositives :<br><a href="%1">Découvrez les principes de fonctionnement de ffDiaporama</a></body></html></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="855"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="904"/>
<source><html><body>Select the equipment type that you plan to use for your video<br>To discover how to render videos:<br><a href="%1">Consult the rendering videos WIKI page</a></body></html></source>
<translation><html><body>Sélectionner le type d'équipement que vous comptez utiliser pour visionner votre film<br>Pour découvrir comment générer des vidéos :<br><a href="%1">Consultez la page "Générer des vidéos"</a></body></html></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1038"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1087"/>
<source>New project</source>
<translation>Nouveau projet</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1090"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1112"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1115"/>
<location filename="../src/ffDiaporama/mainwindow.cpp" line="1139"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1161"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1164"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1188"/>
<source>Open project</source>
<translation>Ouvrir un projet</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1228"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1278"/>
<source>Save project as</source>
<translation>Enregistrer le projet sous</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1308"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3221"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1358"/>
<source>Add files</source>
<translation>Ajouter des fichiers</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="641"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1773"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1389"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="580"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1665"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1439"/>
<source>Format not supported</source>
<comment>Error message</comment>
<translation>Format non supporté</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1649"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
<source>Add a sub project</source>
<translation>Ajouter un projet</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1422"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1625"/>
<source>Impossible to open file </source>
<translation>Impossible d'ouvrir le fichier image </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1422"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1625"/>
<source>Do you want to select another file ?</source>
<translation>Voulez vous sélectionner un autre fichier ?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1425"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1628"/>
<source>Select another file for </source>
<translation>Sélectionner un fichier de remplacement pour </translation>
</message>
@@ -4608,8 +5087,8 @@ Voulez-vous l'enregistrer ?</translation>
</message>
<message>
<location filename="../src/ffDiaporama/cCustomTableWidget.cpp" line="80"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1348"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1628"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1398"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1678"/>
<source>Add file to project :</source>
<translation>Ajout du fichier au projet :</translation>
</message>
@@ -4638,29 +5117,59 @@ Voulez-vous l'enregistrer ?</translation>
<source>Applying sharpen filter</source>
<translation>Applique le filtre Netteté</translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.cpp" line="156"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1751"/>
+ <source>Capture image</source>
+ <translation>Capturer une image</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.cpp" line="157"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1752"/>
+ <source>Select destination file</source>
+ <translation>Selectionner un fichier de destination</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="64"/>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="116"/>
+ <source>Error during startup</source>
+ <translation>Erreur au démarrage</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="65"/>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="117"/>
+ <source>Error during initialisation of sound system. Check your configuration and try again</source>
+ <translation>Erreur d'initialisation du système sonore. Vérifiez votre configuration et ré-essayez</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="531"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="562"/>
+ <source>ffDiaporama initialisation</source>
+ <translation>Initialisation de ffDiaporama</translation>
+ </message>
</context>
<context>
<name>QCustomFolderTree</name>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="99"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
<source>Kb</source>
<comment>Unit Kb</comment>
<translation>Ko</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
<source>Mb</source>
<comment>Unit Mb</comment>
<translation>Mo</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
<source>Gb</source>
<comment>Unit Gb</comment>
<translation>Go</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="103"/>
<source>Tb</source>
<comment>Unit Tb</comment>
<translation>To</translation>
@@ -4728,37 +5237,19 @@ Voulez-vous l'enregistrer ?</translation>
<translation>Pas de donnée EXIF dans l'image %1</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1099"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1143"/>
- <source>Impossible to start exiv2 - no exif informations will be decode for %1</source>
- <translation>Impossible de lancer exiv2 - Aucune information exif ne sera collecté pour %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1104"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1148"/>
- <source>Error during exiv2 process - no exif informations will be decode for %1</source>
- <translation>Erreur durant le processus exiv2 - Aucune information exif ne sera collecté pour %1</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1108"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1152"/>
- <source>exiv2 return error %1 - no exif informations will be decode for %2</source>
- <translation>exiv2 à retourner l'erreur %1 - Aucune information exif ne sera collecté pour %2</translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1647"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1627"/>
<source>Video</source>
<comment>File type</comment>
<translation>Vidéo</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1646"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1626"/>
<source>Music</source>
<comment>File type</comment>
<translation>Musique</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1491"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1479"/>
<source>Mono</source>
<comment>Audio channels mode</comment>
<translation>Mono</translation>
@@ -4785,7 +5276,25 @@ Voulez-vous l'enregistrer ?</translation>
<translation>ffDiaporama</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1492"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1099"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1143"/>
+ <source>Impossible to start exiv2 - no exif information will be decode for %1</source>
+ <translation>Impossible de démarrer exiv2 - aucune information exif ne sera décodée pour %1</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1104"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1148"/>
+ <source>Error during exiv2 process - no exif information will be decode for %1</source>
+ <translation>Erreur durant le processus exiv2 - aucune information exif ne sera décodée pour %1</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1108"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1152"/>
+ <source>exiv2 return error %1 - no exif information will be decode for %2</source>
+ <translation>exiv2 a retourné l'erreur %1 - aucune information exif ne sera décodée pour %2</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1480"/>
<source>Stereo</source>
<comment>Audio channels mode</comment>
<translation>Stéréo</translation>
@@ -4797,7 +5306,7 @@ Voulez-vous l'enregistrer ?</translation>
<translation>Répertoire</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1430"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1480"/>
<source>Add video file</source>
<translation>Ajout d'un fichier vidéo</translation>
</message>
@@ -4805,98 +5314,98 @@ Voulez-vous l'enregistrer ?</translation>
<context>
<name>cDeviceModelList</name>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="504"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
<source>Advanced</source>
<comment>Device database type</comment>
<translation>Avancé</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
<source>Smartphone</source>
<comment>Device database type</comment>
<translation>Smartphone</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
<source>Multimedia system</source>
<comment>Device database type</comment>
<translation>Système multimédia</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
<source>For the WEB</source>
<comment>Device database type</comment>
<translation>Pour Internet</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
<source>Lossless</source>
<comment>Device database type</comment>
<translation>Lossless</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
<source>Portable Player</source>
<comment>Device database type</comment>
<translation>Lecteur portable</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
<source>Netbook/NetPC</source>
<comment>Device database type</comment>
<translation>Netbook/NetPC</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
<source>Handheld game console</source>
<comment>Device database type</comment>
<translation>Console de jeux portable</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
<source>Tablet computer</source>
<comment>Device database type</comment>
<translation>Tablette tactile</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
<source>Multimedia hard drive and gateway</source>
<comment>Device database type</comment>
<translation>Disque dur et passerelle multimédia</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
<source>Player</source>
<comment>Device database type</comment>
<translation>Lecteur de salon</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
<source>ADSL Box</source>
<comment>Device database type</comment>
<translation>Box ADSL</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
<source>Game console</source>
<comment>Device database type</comment>
<translation>Console de jeux</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
<source>SWF Flash Player</source>
<comment>Device database type</comment>
<translation>Lecteur Flash SWF</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
<source>Video-sharing and social WebSite</source>
<comment>Device database type</comment>
<translation>Sites de partage et sites sociaux</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="521"/>
<source>HTML 5</source>
<comment>Device database type</comment>
<translation>HTML 5</translation>
@@ -4905,34 +5414,34 @@ Voulez-vous l'enregistrer ?</translation>
<context>
<name>wgt_QImageFilterTransform</name>
<message>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="558"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="608"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="630"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="651"/>
- <source>Gray</source>
- <translation>Niveaux de gris</translation>
- </message>
- <message>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="559"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="609"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="631"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="652"/>
- <source>Equalize</source>
- <translation>Egaliser</translation>
+ <source>Gray</source>
+ <translation>Niveaux de gris</translation>
</message>
<message>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="560"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="610"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="632"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="653"/>
- <source>Despeckle</source>
- <translation>Dépoussierer</translation>
+ <source>Equalize</source>
+ <translation>Egaliser</translation>
</message>
<message>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="561"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="611"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="633"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="654"/>
+ <source>Despeckle</source>
+ <translation>Dépoussierer</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="562"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="612"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="634"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="655"/>
<source>No transformation</source>
<translation>Aucune transformation</translation>
</message>
@@ -4945,5 +5454,11 @@ Voulez-vous l'enregistrer ?</translation>
<extracomment>Tooltip in dialog box</extracomment>
<translation>Cliquer pour commencer la lecture, cliquer à nouveau pour passer la lecture en pause</translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/wgt_QVideoPlayer.ui" line="361"/>
+ <source>Save this image of the movie</source>
+ <extracomment>Tooltip in dialog box</extracomment>
+ <translation>Capturer cette image de la vidéo</translation>
+ </message>
</context>
</TS>
diff --git a/locale/ffDiaporama_it.qm b/locale/ffDiaporama_it.qm
index b72c275..0405828 100755
Binary files a/locale/ffDiaporama_it.qm and b/locale/ffDiaporama_it.qm differ
diff --git a/locale/ffDiaporama_it.ts b/locale/ffDiaporama_it.ts
index 10bf95d..d6445e6 100755
--- a/locale/ffDiaporama_it.ts
+++ b/locale/ffDiaporama_it.ts
@@ -24,18 +24,10 @@
<translation>Crediti</translation>
</message>
<message>
- <source>This application was developped using Open Source version of Qt 4.7 SDK</source>
- <translation>Questa applicazione è stata sviluppata usando la versione Open Source di Qt 4.7 SDK</translation>
- </message>
- <message>
<source>WEB site & licence :</source>
<translation>Web site & licenza :</translation>
</message>
<message>
- <source>Video decoding and encoding engines are based on ffmpeg</source>
- <translation>Motore di decodifica e codifica video è basato su ffmpeg</translation>
- </message>
- <message>
<source>Sound engine for preview is based on SDL - Simple DirectMedia Layer</source>
<translation>Motore sonoro per l'anteprima è basato su SDL - Simple DirectMedia Layer</translation>
</message>
@@ -64,13 +56,21 @@
<translation>Gestione TAG basata su TAGLib</translation>
</message>
<message>
- <source>System informations</source>
- <translation>Informazione di sistema</translation>
- </message>
- <message>
<source>&Ok</source>
<translation>&Ok</translation>
</message>
+ <message>
+ <source>System information</source>
+ <translation>Informazioni sistema</translation>
+ </message>
+ <message>
+ <source>This application was developed using Open Source version of Qt 4.8 SDK</source>
+ <translation>Quest'applicazione è stata sviluppata utilizzando la versione Open Source di Qt 4.8 SDK</translation>
+ </message>
+ <message>
+ <source>Video decoding and encoding engines are based on libav</source>
+ <translation>Motori di decodifica e codifica video sono basati su libav</translation>
+ </message>
</context>
<context>
<name>DlgApplicationSettings</name>
@@ -779,6 +779,18 @@ Vedere la guida per maggiori dettagli!</translation>
<source>Select a file</source>
<translation>Seleziona un file</translation>
</message>
+ <message>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Annulla l'ultima azione (CTRL+Z)</translation>
+ </message>
+ <message>
+ <source>Undo</source>
+ <translation>Annulla</translation>
+ </message>
+ <message>
+ <source>Ctrl+Z</source>
+ <translation>Ctrl+Z</translation>
+ </message>
</context>
<context>
<name>DlgCheckConfig</name>
@@ -811,22 +823,10 @@ Vedere la guida per maggiori dettagli!</translation>
<translation>F1</translation>
</message>
<message>
- <source>ffmpeg not found - critical - application will stop !</source>
- <translation>ffmpeg non trovato - critico - l'applicazione sarà fermata !</translation>
- </message>
- <message>
- <source>ffmpeg Audio Codecs</source>
- <translation>ffmpeg Codec Audio</translation>
- </message>
- <message>
<source>available</source>
<translation>disponibile</translation>
</message>
<message>
- <source>Unable to determine ffmpeg version</source>
- <translation>Impossibile determinare la versione di ffmpeg</translation>
- </message>
- <message>
<source>LibExiv2 version:</source>
<translation>Versione LibExiv2:</translation>
</message>
@@ -855,10 +855,6 @@ Vedere la guida per maggiori dettagli!</translation>
<translation>Supporto TAGLib per M4A/MP4</translation>
</message>
<message>
- <source>ffmpeg version:</source>
- <translation>Versione Ffmpeg:</translation>
- </message>
- <message>
<source>LIBAVCODEC version:</source>
<translation>Versione LIBAVCODEC:</translation>
</message>
@@ -871,18 +867,6 @@ Vedere la guida per maggiori dettagli!</translation>
<translation>Versione LIBSWSCALE:</translation>
</message>
<message>
- <source>ffmpeg support for TAG and CHAPTERS</source>
- <translation>Supporto ffmpeg per TAG e CHAPTERS</translation>
- </message>
- <message>
- <source>ffmpeg Video Codecs</source>
- <translation>ffmpeg Codec Video</translation>
- </message>
- <message>
- <source>ffmpeg Container Formats</source>
- <translation>ffmpeg Formati Contenitore</translation>
- </message>
- <message>
<source>LibExiv2/Exiv2 binary version</source>
<translation>Versione LibExiv2/Exiv2 binario</translation>
</message>
@@ -894,6 +878,34 @@ Vedere la guida per maggiori dettagli!</translation>
<source>Lossless rendering</source>
<translation>Generazione lossless</translation>
</message>
+ <message>
+ <source>Unable to determine %1 version</source>
+ <translation>Impossibile determinare la versione %1</translation>
+ </message>
+ <message>
+ <source>%1 not found - critical - application will stop !</source>
+ <translation>%1 non trovato - critico - l'applicazione sarà fermata !</translation>
+ </message>
+ <message>
+ <source>encoder version:</source>
+ <translation>versione codificatore:</translation>
+ </message>
+ <message>
+ <source>LIBAV support for TAG and CHAPTERS</source>
+ <translation>Supporto LIBAV per TAG e CAPITOLI</translation>
+ </message>
+ <message>
+ <source>libav Audio Codecs</source>
+ <translation>Codec Audio libav</translation>
+ </message>
+ <message>
+ <source>libav Video Codecs</source>
+ <translation>Codec Video libav</translation>
+ </message>
+ <message>
+ <source>libav Container Formats</source>
+ <translation>Formati contenitori libav</translation>
+ </message>
</context>
<context>
<name>DlgImageCorrection</name>
@@ -994,10 +1006,6 @@ Vedere la guida per maggiori dettagli!</translation>
<translation>Nome del file immagine/video</translation>
</message>
<message>
- <source>Select an other file</source>
- <translation>Seleziona un altro file</translation>
- </message>
- <message>
<source>Framing :</source>
<translation>Fotogrammi:</translation>
</message>
@@ -1006,10 +1014,6 @@ Vedere la guida per maggiori dettagli!</translation>
<translation>Correzione immagine :</translation>
</message>
<message>
- <source>Show/Hide rullers</source>
- <translation>Mostra/Nascondi Righelli e squadrette</translation>
- </message>
- <message>
<source>Accept modification and exit dialog box</source>
<translation>Accetta le modifiche e esci dalla finestra di dialogo</translation>
</message>
@@ -1057,6 +1061,38 @@ Vedere la guida per maggiori dettagli!</translation>
<source>Creating cached filtered file ...</source>
<translation>Creazione file cache filtrata ...</translation>
</message>
+ <message>
+ <source>Enable or disable rulers corresponding to the margins of television sets.</source>
+ <translation>Attivare o disattivare i righelli corrispondenti ai margini dei televisori.</translation>
+ </message>
+ <message>
+ <source>Rullers</source>
+ <translation>Righelli</translation>
+ </message>
+ <message>
+ <source>Undo</source>
+ <translation>Annulla</translation>
+ </message>
+ <message>
+ <source>Ctrl+Z</source>
+ <translation>Ctrl+Z</translation>
+ </message>
+ <message>
+ <source>No style for nonstandard geometry image</source>
+ <translation>Nessuno stile per geometria immagine non predefinita</translation>
+ </message>
+ <message>
+ <source>Select a file</source>
+ <translation>Seleziona un file</translation>
+ </message>
+ <message>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Annulla l'ultima azione (CTRL+Z)</translation>
+ </message>
+ <message>
+ <source>Select another file</source>
+ <translation>Seleziona un'altro file</translation>
+ </message>
</context>
<context>
<name>DlgInfoFile</name>
@@ -1551,10 +1587,6 @@ Per favore seleziona un'altro nome!</translation>
<translation>Propietà musica</translation>
</message>
<message>
- <source>Allows to continue to play the play list define by a previous slide</source>
- <translation>Permette di continuare l'esecuzione della lista di brani definito da una diapositiva precedente</translation>
- </message>
- <message>
<source>Continue current playlist (defined in a previous slide)</source>
<translation>Continua la playlist corrente (definita in una diapositiva precedente)</translation>
</message>
@@ -1563,10 +1595,6 @@ Per favore seleziona un'altro nome!</translation>
<translation>GruppoPulsanti</translation>
</message>
<message>
- <source>Allows to indicate that from now on, the sound volume is reduced.</source>
- <translation>Permette di indicare che da ora in poi, il volume si riduce.</translation>
- </message>
- <message>
<source>Change volume level to :</source>
<translation>Cambia il livello del volume a :</translation>
</message>
@@ -1595,10 +1623,6 @@ Per favore seleziona un'altro nome!</translation>
<translation>Normale</translation>
</message>
<message>
- <source>Allows to start a new playlist.</source>
- <translation>Permette l'avvio di una nuova playlist.</translation>
- </message>
- <message>
<source>Start a new playlist from this slide</source>
<translation>Avvia una nuova playlist da questa diapositiva</translation>
</message>
@@ -1684,6 +1708,18 @@ Spostare il file corrente selezionato di una tacca verso il basso.</translation>
<comment>Error message</comment>
<translation>Formato non supportata</translation>
</message>
+ <message>
+ <source>Allows one to continue to play the play list define by a previous slide</source>
+ <translation>Permette di continuare a riprodurre la playlist definita da una diapositiva precedente</translation>
+ </message>
+ <message>
+ <source>Allows one to indicate that from now on, the sound volume is reduced.</source>
+ <translation>Permette di indicare che d'ora in poi, il volume è ridotto.</translation>
+ </message>
+ <message>
+ <source>Allows one to start a new playlist.</source>
+ <translation>Permette di avviare una nuova playlist.</translation>
+ </message>
</context>
<context>
<name>DlgRenderVideo</name>
@@ -1969,20 +2005,11 @@ Vuoi sovrascriverlo?</translation>
<translation>Codifica suono</translation>
</message>
<message>
- <source>Start ffmpeg encoder</source>
- <translation>Avvia codifica ffmpeg</translation>
- </message>
- <message>
<source>Error</source>
<comment>Error message</comment>
<translation>Errore</translation>
</message>
<message>
- <source>Error starting ffmpeg</source>
- <comment>Error message</comment>
- <translation>Errore avvio ffmpeg</translation>
- </message>
- <message>
<source> - Estimated time left : </source>
<translation> - Tempo stimato rimanente :</translation>
</message>
@@ -1992,27 +2019,95 @@ Vuoi sovrascriverlo?</translation>
<translation>Errore durante l'invio d'immagini per ffmpeg</translation>
</message>
<message>
- <source>ffmpeg error</source>
+ <source>Closing encoder</source>
+ <translation>Chiusura codifica</translation>
+ </message>
+ <message>
+ <source>Job completed successfully!</source>
+ <translation>Lavoro completato con successo! </translation>
+ </message>
+ <message>
+ <source>Start avconv encoder</source>
+ <translation>Avvio codifica avconv</translation>
+ </message>
+ <message>
+ <source>Error starting avconv</source>
<comment>Error message</comment>
- <translation>Errore ffmpeg</translation>
+ <translation>Errore avvio avconv</translation>
</message>
<message>
- <source>Closing encoder</source>
- <translation>Chiusura codifica</translation>
+ <source>avconv error</source>
+ <comment>Error message</comment>
+ <translation>errore avconv</translation>
</message>
<message>
- <source>Error during ffmpeg process</source>
+ <source>Error during avconv process</source>
<comment>Error message</comment>
- <translation>Errore durante il processo di ffmpeg</translation>
+ <translation>Errore durante processo avconv</translation>
</message>
<message>
- <source>Error exiting ffmpeg</source>
+ <source>Error exiting avconv</source>
<comment>Error message</comment>
- <translation>Errore in uscita da ffmpeg</translation>
+ <translation>Errore all'uscita di avconv</translation>
+ </message>
+</context>
+<context>
+ <name>DlgRulerDef</name>
+ <message>
+ <source>Ruler properties</source>
+ <translation>Propietà righello</translation>
+ </message>
+ <message>
+ <source>Horizontal rulers</source>
+ <translation>Righelli orizzontali</translation>
+ </message>
+ <message>
+ <source>Vertical rulers</source>
+ <translation>Righelli verticali</translation>
</message>
<message>
- <source>Job completed succesfully!</source>
- <translation>Lavoro completato con successo!</translation>
+ <source>screen borders</source>
+ <translation>Bordi schermo</translation>
+ </message>
+ <message>
+ <source>TV margins</source>
+ <translation>Margini TV</translation>
+ </message>
+ <message>
+ <source>Screen center</source>
+ <translation>Centro schermo</translation>
+ </message>
+ <message>
+ <source>Unselected objects</source>
+ <translation>Deseleziona oggetti</translation>
+ </message>
+ <message>
+ <source>Accept modification and exit dialog box</source>
+ <translation>Accetta le modifiche e esci dalla finestra di dialogo</translation>
+ </message>
+ <message>
+ <source>&Ok</source>
+ <translation>&Ok</translation>
+ </message>
+ <message>
+ <source>Cancel modification and exit dialog box</source>
+ <translation>Annulla le modifiche e esci dalla finestra di dialogo</translation>
+ </message>
+ <message>
+ <source>&Cancel</source>
+ <translation>Annulla (&C)</translation>
+ </message>
+ <message>
+ <source>Open help page describing this dialog box</source>
+ <translation>Apri la pagina di aiuto di questa finestra di dialogo</translation>
+ </message>
+ <message>
+ <source>&Help</source>
+ <translation>Aiuto(&H)</translation>
+ </message>
+ <message>
+ <source>F1</source>
+ <translation>F1</translation>
</message>
</context>
<context>
@@ -2066,46 +2161,10 @@ Vuoi sovrascriverlo?</translation>
<translation>Durata diapositiva :</translation>
</message>
<message>
- <source>Total slide duration :</source>
- <translation>Durata totale scatto :</translation>
- </message>
- <message>
- <source>Slide name :</source>
- <translation>Nome scatto :</translation>
- </message>
- <message>
<source>Indicate a name for the slide. It is this name which will appear on the thumbnail in the main window timeline.</source>
<translation>Indicare un nome per lo scatto. E 'questo il nome che apparirà sulla miniatura nella linea temporale della finestra principale.</translation>
</message>
<message>
- <source>Change the order of blocks by moving the active block upward (towards the background)</source>
- <translation>Modificare l'ordine dei blocchi spostando il blocco attivo verso l'alto (verso lo sfondo)</translation>
- </message>
- <message>
- <source>PgUp</source>
- <translation>PgSu</translation>
- </message>
- <message>
- <source>Change the order of blocks by moving the active block downward (towards the foreground)</source>
- <translation>Modificare l'ordine dei blocchi spostando il blocco attivo verso il basso (verso il primo piano)</translation>
- </message>
- <message>
- <source>PgDown</source>
- <translation>PgGiù</translation>
- </message>
- <message>
- <source>Add a new title block</source>
- <translation>Aggiungi un nuovo titolo al blocco</translation>
- </message>
- <message>
- <source>Start a new chapter from here</source>
- <translation>Avvia un nuovo capitolo da quì</translation>
- </message>
- <message>
- <source>Chapter :</source>
- <translation>Capitolo :</translation>
- </message>
- <message>
<source>Ctrl+Ins</source>
<translation>Ctrl+Ins</translation>
</message>
@@ -2118,10 +2177,6 @@ Vuoi sovrascriverlo?</translation>
<translation>Ins</translation>
</message>
<message>
- <source>Remove the current block</source>
- <translation>Rimuovi il blocco corrente</translation>
- </message>
- <message>
<source>Del</source>
<translation>Del</translation>
</message>
@@ -2150,10 +2205,6 @@ Vuoi sovrascriverlo?</translation>
<translation>Ctrl+V</translation>
</message>
<message>
- <source>Make visible or hidden the active block</source>
- <translation>Rendere visibilo o nascosto il blocco attivo</translation>
- </message>
- <message>
<source>Give the sound, during this shot, to the current video block</source>
<translation>Conferire il suono, durante questa diapositiva, al blocco video corrente</translation>
</message>
@@ -2162,26 +2213,14 @@ Vuoi sovrascriverlo?</translation>
<translation>Definire le propietà del blocco di testo</translation>
</message>
<message>
- <source>F5</source>
- <translation>F5</translation>
- </message>
- <message>
<source>Define framing and do correction of image or movie</source>
<translation>Definire l'inquadratura e correzione di immagine o filmato</translation>
</message>
<message>
- <source>F6</source>
- <translation>F6</translation>
- </message>
- <message>
<source>Cut the video</source>
<translation>Taglia il video</translation>
</message>
<message>
- <source>F7</source>
- <translation>F7</translation>
- </message>
- <message>
<source>Border :</source>
<translation>Bordo :</translation>
</message>
@@ -2262,26 +2301,10 @@ Vuoi sovrascriverlo?</translation>
<translation>Forma blocco :</translation>
</message>
<message>
- <source>Coordinates :</source>
- <translation>Coordinate :</translation>
- </message>
- <message>
- <source>Propertie</source>
- <translation>proprietà</translation>
- </message>
- <message>
- <source>Value</source>
- <translation>Valore</translation>
- </message>
- <message>
<source>Enable or disable rulers corresponding to the margins of television sets.</source>
<translation>Attivare o disattivare i righelli corrispondenti ai margini dei televisori.</translation>
</message>
<message>
- <source>TV margins</source>
- <translation>Margini TV</translation>
- </message>
- <message>
<source>Accept modification and go to previous slide</source>
<translation>Accetta le modifiche e vai alla diapositiva precedente</translation>
</message>
@@ -2354,61 +2377,355 @@ Vuoi sovrascriverlo?</translation>
<translation>Allungato a %1 sec</translation>
</message>
<message>
- <source>Object type</source>
- <translation>Tipo oggetto</translation>
+ <source>Remove shot</source>
+ <translation>Rimuovi diapositiva</translation>
</message>
<message>
- <source>Title</source>
- <translation>Titolo</translation>
+ <source>Are you sure to want to delete this shot?</source>
+ <translation>Sei sicuro di voler cancellare questa diapositiva?</translation>
</message>
<message>
- <source>Image</source>
- <translation>Immagine</translation>
+ <source>Text</source>
+ <comment>Default text value</comment>
+ <translation>Testo</translation>
</message>
<message>
- <source>Video</source>
- <translation>Video</translation>
+ <source>Add files</source>
+ <translation>Aggiungi files</translation>
</message>
<message>
- <source>Filename</source>
- <translation>Nome file</translation>
+ <source>Display detailled information on current block</source>
+ <translation>Visualizzare informazioni dettagliate sul blocco corrente</translation>
</message>
<message>
- <source>Image size</source>
- <translation>Dimensione immagine</translation>
+ <source>Reset to 0</source>
+ <translation>Ripristina a 0</translation>
</message>
<message>
- <source>No style for nonstandard geometry image</source>
- <translation>Nessuno stile per geometria immagine non predefinita</translation>
+ <source>Text animation :</source>
+ <translation>Animazione testo :</translation>
</message>
<message>
- <source>Select a file</source>
- <translation>Seleziona un file</translation>
+ <source>Zoom :</source>
+ <translation>Zoom :</translation>
</message>
<message>
- <source>Remove shot</source>
- <translation>Rimuovi diapositiva</translation>
+ <source>Define a zoom value for the text</source>
+ <translation>Definisce un valore di zoom per il testo</translation>
</message>
<message>
- <source>Are you sure to want to delete this shot?</source>
- <translation>Sei sicuro di voler cancellare questa diapositiva?</translation>
+ <source>Reset to 100%</source>
+ <translation>Ripristina a 100%</translation>
</message>
<message>
- <source>Text</source>
- <comment>Default text value</comment>
- <translation>Testo</translation>
+ <source>Scroll text from left to right</source>
+ <translation>Scorrimento testo da sinistra a destra</translation>
</message>
<message>
- <source>Add files</source>
- <translation>Aggiungi files</translation>
+ <source>Scroll text from bottom to up</source>
+ <translation>Scorrimento testo dal basso verso l'alto</translation>
+ </message>
+ <message>
+ <source>Block animation :</source>
+ <translation>Blocco animazione :</translation>
+ </message>
+ <message>
+ <source>Define the number of turn to be made around the Z axis during this shot</source>
+ <translation>Definire il numero di giri da fare intorno all'asse Z durante questa inquadratura</translation>
+ </message>
+ <message>
+ <source>Define the number of turn to be made around the X axis during this shot</source>
+ <translation>Definire il numero di giri da fare intorno all'asse X durante questa inquadratura</translation>
</message>
<message>
- <source>Remove bloc</source>
- <translation>Rimuovi blocco</translation>
+ <source>Define the number of turn to be made around the Y axis during this shot</source>
+ <translation>Definire il numero di giri da fare intorno all'asse Y durante questa inquadratura</translation>
</message>
<message>
- <source>Are you sure to want to delete this bloc?</source>
- <translation>Sei sicuro dicancellare questo blocco?</translation>
+ <source>Type :</source>
+ <translation>Tipo :</translation>
+ </message>
+ <message>
+ <source>Dissolve :</source>
+ <translation>Dissolvenza :</translation>
+ </message>
+ <message>
+ <source>Edit text</source>
+ <translation>Modifica testo</translation>
+ </message>
+ <message>
+ <source>Do image correct or reframming</source>
+ <translation>Correzione o riorganizzazione immagine</translation>
+ </message>
+ <message>
+ <source>Make visible the active block</source>
+ <translation>Rendi visibile il blocco attivo</translation>
+ </message>
+ <message>
+ <source>Take the sound</source>
+ <translation>Prende il suono</translation>
+ </message>
+ <message>
+ <source>Display information</source>
+ <translation>Visualizza informazioni</translation>
+ </message>
+ <message>
+ <source>Remove block</source>
+ <translation>Rimuove blocco</translation>
+ </message>
+ <message>
+ <source>Multiple block turn</source>
+ <translation>Giri multipli del blocco</translation>
+ </message>
+ <message>
+ <source>Dissolve</source>
+ <translation>Dissolvenza</translation>
+ </message>
+ <message>
+ <source>Appear</source>
+ <translation>Apparire</translation>
+ </message>
+ <message>
+ <source>Disappear</source>
+ <translation>Scomparire</translation>
+ </message>
+ <message>
+ <source>Blink at slow speed</source>
+ <translation>Lampeggia a bassa velocità</translation>
+ </message>
+ <message>
+ <source>Blink at medium speed</source>
+ <translation>Lampeggia a media velocità</translation>
+ </message>
+ <message>
+ <source>Blink at fast speed</source>
+ <translation>Lampeggia a forte velocità</translation>
+ </message>
+ <message>
+ <source>Blink at very fast speed</source>
+ <translation>Lampeggia a molto forte velocità</translation>
+ </message>
+ <message>
+ <source>Duration:</source>
+ <translation>Durata:</translation>
+ </message>
+ <message>
+ <source>Rullers</source>
+ <translation>Righelli</translation>
+ </message>
+ <message>
+ <source>Are you sure to want to delete this block?</source>
+ <translation>Sei sicuro di voler cancellare questo blocco?</translation>
+ </message>
+ <message>
+ <source>Add a new text block</source>
+ <translation>Aggiunge un nuovo blocco testo</translation>
+ </message>
+ <message>
+ <source>Arrange blocks</source>
+ <translation>Aggiusta blocchi</translation>
+ </message>
+ <message>
+ <source>Remove current block(s)</source>
+ <translation>Rimuove il blocco(i) corrente</translation>
+ </message>
+ <message>
+ <source>Align top</source>
+ <translation>Allinea in alto</translation>
+ </message>
+ <message>
+ <source>Align blocks to the top</source>
+ <translation>Allinea blocchi verso l'alto</translation>
+ </message>
+ <message>
+ <source>Align middle</source>
+ <translation>Allinea al centro</translation>
+ </message>
+ <message>
+ <source>Align blocks to the middle</source>
+ <translation>Allinea blocchi al centro</translation>
+ </message>
+ <message>
+ <source>Align bottom</source>
+ <translation>Allinea in basso</translation>
+ </message>
+ <message>
+ <source>Align blocks to the bottom</source>
+ <translation>Allinea blocchi verso il basso</translation>
+ </message>
+ <message>
+ <source>Align left</source>
+ <translation>Allinea a sinistra</translation>
+ </message>
+ <message>
+ <source>Align blocks to the left</source>
+ <translation>Allinea blocchi verso sinistra</translation>
+ </message>
+ <message>
+ <source>Align center</source>
+ <translation>Allinea al centro</translation>
+ </message>
+ <message>
+ <source>Align blocks to the center</source>
+ <translation>Allinea blocchi verso il centro</translation>
+ </message>
+ <message>
+ <source>Align right</source>
+ <translation>Allinea a destra</translation>
+ </message>
+ <message>
+ <source>Align blocks to the right</source>
+ <translation>Allinea blocchi verso destra</translation>
+ </message>
+ <message>
+ <source>Add text block</source>
+ <translation>Aggiunge un blocco testo</translation>
+ </message>
+ <message>
+ <source>Remove blocks</source>
+ <translation>Rimuove blocchi</translation>
+ </message>
+ <message>
+ <source>Are you sure to want to delete these blocks?</source>
+ <translation>Sei sicuro di voler cancellare questi blocchi?</translation>
+ </message>
+ <message>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Annulla l'ultima azione (CTRL+Z)</translation>
+ </message>
+ <message>
+ <source>Ctrl+Z</source>
+ <translation>Ctrl+Z</translation>
+ </message>
+ <message>
+ <source>Add
+shot</source>
+ <translation>Aggiungi
+scatto</translation>
+ </message>
+ <message>
+ <source>Remove
+shot</source>
+ <translation>Rimuovi
+scatto</translation>
+ </message>
+ <message>
+ <source>Edit block</source>
+ <translation>Modifica blocco</translation>
+ </message>
+ <message>
+ <source>Block coordinates :</source>
+ <translation>Coordinate blocco :</translation>
+ </message>
+ <message>
+ <source>Start a new chapter from this slide</source>
+ <translation>Avvia un nuovo capitolo da questa diapositiva</translation>
+ </message>
+ <message>
+ <source>Total duration :</source>
+ <translation>Durata totale :</translation>
+ </message>
+ <message>
+ <source>Move to background</source>
+ <translation>Muovi verso lo sfondo</translation>
+ </message>
+ <message>
+ <source>Change the order of blocks by moving the active block towards the background</source>
+ <translation>Modificare l'ordine dei blocchi spostando il blocco attivo verso il fondo</translation>
+ </message>
+ <message>
+ <source>Change the order of blocks by moving the active block towards the foreground</source>
+ <translation>Modificare l'ordine dei blocchi spostando il blocco attivo verso il primo piano</translation>
+ </message>
+ <message>
+ <source>Copy block</source>
+ <translation>Copia blocco</translation>
+ </message>
+ <message>
+ <source>Cut block</source>
+ <translation>Taglia blocco</translation>
+ </message>
+ <message>
+ <source>Paste block</source>
+ <translation>Incolla blocco</translation>
+ </message>
+ <message>
+ <source>Add file</source>
+ <translation>Aggiungi file</translation>
+ </message>
+ <message>
+ <source>Add
+text</source>
+ <translation>Aggiungi
+testo</translation>
+ </message>
+ <message>
+ <source>Undo</source>
+ <translation>Annulla</translation>
+ </message>
+ <message>
+ <source>Add
+file</source>
+ <translation>Aggiungi
+file</translation>
+ </message>
+ <message>
+ <source>Edit
+block</source>
+ <translation>Modifica
+blocco</translation>
+ </message>
+ <message>
+ <source>Arrange
+block</source>
+ <translation>Aggiusta
+blocco</translation>
+ </message>
+ <message>
+ <source>Block
+information</source>
+ <translation>Informazioni
+blocco</translation>
+ </message>
+ <message>
+ <source>Visible</source>
+ <translation>Visibile</translation>
+ </message>
+ <message>
+ <source>Lock properties</source>
+ <translation>Blocco propietà</translation>
+ </message>
+ <message>
+ <source>Lock properties to the same values as define for the previous shot</source>
+ <translation>Bloccare le proprietà agli stessi valori definire per l'inquadratura precedente</translation>
+ </message>
+ <message>
+ <source>Unlock properties from this shot</source>
+ <translation>Sblocca le propietà da questa inquadratura</translation>
+ </message>
+ <message>
+ <source>Define properties from this shot</source>
+ <translation>Definire le propietà da questa inquadratura</translation>
+ </message>
+ <message>
+ <source>Hide</source>
+ <translation>Nascondi</translation>
+ </message>
+ <message>
+ <source>Make hide the active block</source>
+ <translation>Impostare come nascosto il blocco attivo</translation>
+ </message>
+ <message>
+ <source>Move to foreground</source>
+ <translation>Spostare verso il primo piano</translation>
+ </message>
+ <message>
+ <source>Slide :</source>
+ <translation>Diapositiva :</translation>
+ </message>
+ <message>
+ <source>Start chapter from here</source>
+ <translation>Avvia capitolo da qui</translation>
</message>
</context>
<context>
@@ -2418,10 +2735,6 @@ Vuoi sovrascriverlo?</translation>
<translation>Modifica testo</translation>
</message>
<message>
- <source>Properties for all shots</source>
- <translation>Propietà per tutti gli scatti</translation>
- </message>
- <message>
<source>Select font family</source>
<translation>Seleziona il tipo di carattere</translation>
</message>
@@ -2514,14 +2827,6 @@ Vuoi sovrascriverlo?</translation>
<translation>Selezionare un'immagine tra quelle presenti nella libreria</translation>
</message>
<message>
- <source>Texte style :</source>
- <translation>Stile testo :</translation>
- </message>
- <message>
- <source>Block background style :</source>
- <translation>Blocca stile dello sfondo :</translation>
- </message>
- <message>
<source>Accept modification and exit dialog box</source>
<translation>Accetta le modifiche e esci dalla finestra di dialogo</translation>
</message>
@@ -2597,6 +2902,54 @@ Vuoi sovrascriverlo?</translation>
<source>Image from library</source>
<translation>Immagine dalla libreria</translation>
</message>
+ <message>
+ <source>Text</source>
+ <translation>Testo</translation>
+ </message>
+ <message>
+ <source>Bullet list</source>
+ <translation>Elenco puntato</translation>
+ </message>
+ <message>
+ <source>Numbered list</source>
+ <translation>Elenco numerato</translation>
+ </message>
+ <message>
+ <source>Set text to superscript</source>
+ <translation>Imposta testo a esponente</translation>
+ </message>
+ <message>
+ <source>Set text to subscript</source>
+ <translation>Imposta testo a deponente</translation>
+ </message>
+ <message>
+ <source>Increase indent</source>
+ <translation>Aumenta indentazione</translation>
+ </message>
+ <message>
+ <source>decrease indent</source>
+ <translation>Diminuisce indentazione</translation>
+ </message>
+ <message>
+ <source>Background</source>
+ <translation>Sfondo</translation>
+ </message>
+ <message>
+ <source>Background properties :</source>
+ <translation>Propietà sfondo :</translation>
+ </message>
+ <message>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Annulla l'ultima azione (CTRL+Z)</translation>
+ </message>
+ <message>
+ <source>Undo</source>
+ <translation>Annulla</translation>
+ </message>
+ <message>
+ <source>Ctrl+Z</source>
+ <translation>Ctrl+Z</translation>
+ </message>
</context>
<context>
<name>DlgTransitionProperties</name>
@@ -2785,6 +3138,18 @@ Vuoi sovrascriverlo?</translation>
<source>F1</source>
<translation>F1</translation>
</message>
+ <message>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation>Annulla l'ultima azione (CTRL+Z)</translation>
+ </message>
+ <message>
+ <source>Undo</source>
+ <translation>Annulla</translation>
+ </message>
+ <message>
+ <source>Ctrl+Z</source>
+ <translation>Ctrl+Z</translation>
+ </message>
</context>
<context>
<name>DlgffDPjrProperties</name>
@@ -3085,10 +3450,6 @@ WEB</translation>
<translation>Aiuto</translation>
</message>
<message>
- <source>Display informations about ffDiaporama</source>
- <translation>Visualizza informazioni su ffDiaporama</translation>
- </message>
- <message>
<source>About</source>
<translation>Riguardo a</translation>
</message>
@@ -3187,14 +3548,6 @@ e aiuto</translation>
<translation>F8</translation>
</message>
<message>
- <source>Edit background transition</source>
- <translation>Modifica transizioni di sfondo</translation>
- </message>
- <message>
- <source>Edit the entering background transition for the slide</source>
- <translation>Modifica le transizioni di sfondo in entrata per la diapositiva</translation>
- </message>
- <message>
<source>Search Raster mode in configuration file</source>
<translation>Modalità ricerca Raster nel file di configurazione</translation>
</message>
@@ -3314,26 +3667,6 @@ la geometria dell'immagine nel file non è uguale a quella del progetto cor
<translation>Avvio di SDL...</translation>
</message>
<message>
- <source>Starting ffmpeg...</source>
- <translation>Avvio di ffmpeg...</translation>
- </message>
- <message>
- <source>Registered video codecs for encoding :</source>
- <translation>Codec video registrati per la codifica :</translation>
- </message>
- <message>
- <source>Registered audio codecs for encoding :</source>
- <translation>Codec audio registrati per la codifica :</translation>
- </message>
- <message>
- <source>Registered container formats for encoding :</source>
- <translation>Formati contenitore registrati per la codifica :</translation>
- </message>
- <message>
- <source> Device registered for rendering</source>
- <translation>Dispositivo registrato per il rendering</translation>
- </message>
- <message>
<source>Library :</source>
<translation>Libreria :</translation>
</message>
@@ -3535,6 +3868,46 @@ Vuoi aprirlo comunque?</translation>
<source>Rescal image to 8MPix</source>
<translation>Riscala immagine a 8MPix</translation>
</message>
+ <message>
+ <source>Add title</source>
+ <translation>Aggiungi titolo</translation>
+ </message>
+ <message>
+ <source>Add project</source>
+ <translation>Aggiungi progetto</translation>
+ </message>
+ <message>
+ <source>Display information about ffDiaporama</source>
+ <translation>Visualizza informazioni riguardo a ffDiaporama</translation>
+ </message>
+ <message>
+ <source>Capture image</source>
+ <translation>Cattura immagine</translation>
+ </message>
+ <message>
+ <source>Select destination file</source>
+ <translation>Seleziona il file destinazione</translation>
+ </message>
+ <message>
+ <source>Capture the image </source>
+ <translation>Cattura l'immagine</translation>
+ </message>
+ <message>
+ <source>Error during startup</source>
+ <translation>Errore durante l'avvio</translation>
+ </message>
+ <message>
+ <source>Error during initialisation of sound system. Check your configuration and try again</source>
+ <translation>Errore durante l'inizializzazione del suono di sistema. Controlla la tua configurazione a prova ancora</translation>
+ </message>
+ <message>
+ <source>Starting libav...</source>
+ <translation>Avvio libav...</translation>
+ </message>
+ <message>
+ <source>ffDiaporama initialisation</source>
+ <translation>Inizializzazione ffDiaporama</translation>
+ </message>
</context>
<context>
<name>QCustomFolderTree</name>
@@ -3655,16 +4028,16 @@ Vuoi aprirlo comunque?</translation>
<translation>Immagine non ha metadati EXIF %1</translation>
</message>
<message>
- <source>Impossible to start exiv2 - no exif informations will be decode for %1</source>
- <translation>Impossibile avviare exiv2 - nessuna informazione exif sarà decodificata per %1</translation>
+ <source>Impossible to start exiv2 - no exif information will be decode for %1</source>
+ <translation>Impossibile avviare exiv2 - nessuan informazione exif sarà decodificata per %1</translation>
</message>
<message>
- <source>Error during exiv2 process - no exif informations will be decode for %1</source>
- <translation>Errore durante processo exiv2 - nessuna informazione exif sarà decodificata per %1</translation>
+ <source>Error during exiv2 process - no exif information will be decode for %1</source>
+ <translation>Errore durante il processo exiv2 - nessuna informazione exif sarà decodificata per %1</translation>
</message>
<message>
- <source>exiv2 return error %1 - no exif informations will be decode for %2</source>
- <translation>exiv2 ritorna errore %1 - nessuna informazione exif sarà decodificata per %2</translation>
+ <source>exiv2 return error %1 - no exif information will be decode for %2</source>
+ <translation>exiv2 ritorna l'errore %1 - nessuna informazione exif sarà decodificata per %2</translation>
</message>
</context>
<context>
@@ -3776,5 +4149,10 @@ Vuoi aprirlo comunque?</translation>
<extracomment>Tooltip in dialog box</extracomment>
<translation>Clicca per avviare la riproduzione, clicca ancora per mettere in pausa il filmato</translation>
</message>
+ <message>
+ <source>Save this image of the movie</source>
+ <extracomment>Tooltip in dialog box</extracomment>
+ <translation>Salva questa immagine per il filmato</translation>
+ </message>
</context>
</TS>
diff --git a/locale/ffDiaporama_nl.ts b/locale/ffDiaporama_nl.ts
index d5b906f..89aacc6 100755
--- a/locale/ffDiaporama_nl.ts
+++ b/locale/ffDiaporama_nl.ts
@@ -29,11 +29,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgAbout.ui" line="258"/>
- <source>This application was developped using Open Source version of Qt 4.7 SDK</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="268"/>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="318"/>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="349"/>
@@ -45,8 +40,13 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../src/ffDiaporama/DlgAbout.ui" line="258"/>
+ <source>This application was developed using Open Source version of Qt 4.8 SDK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="305"/>
- <source>Video decoding and encoding engines are based on ffmpeg</source>
+ <source>Video decoding and encoding engines are based on libav</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -86,7 +86,7 @@
</message>
<message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="665"/>
- <source>System informations</source>
+ <source>System information</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -98,467 +98,467 @@
<context>
<name>DlgApplicationSettings</name>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="32"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="32"/>
<source>Application settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2865"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2865"/>
<source>Project options (default values)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="574"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="574"/>
<source>Project geometry:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="639"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="639"/>
<source>1st shot duration:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="692"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="692"/>
<source>Next shot duration:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="745"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="745"/>
<source>Speed wave:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="54"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="54"/>
<source>Application Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="90"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="90"/>
<source>If this box is checked, the sizes and the positions of all the windows and dialogue box of ffDiaporama will be saved to be reused the next time which you will use ffDiaporama.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="93"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="93"/>
<source>Remember Windows size and positions</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="100"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="100"/>
<source>If this box is checked, the directories that you use for the images, the videos, the projects, the musics and the generations of movie will be saved to be reused the next time which you will use ffDiaporama.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="103"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="103"/>
<source>Remember last used folders</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="117"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="117"/>
<source>Application options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="143"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="143"/>
<source>Preview options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="153"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="153"/>
<source>Frame rate :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="171"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="171"/>
<source>Defined the number of images by seconds which will be generated to show the preview.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="209"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="209"/>
<source>fps (Reduce this value for slow computer)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="218"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="218"/>
<source>Image transformation :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="228"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="228"/>
<source>If this box is checked, The effects of transformations will be applied to the images of videos during the preview.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="231"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="231"/>
<source>Apply to video during preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="257"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="257"/>
<source>Editor options (when adding objects)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="267"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="267"/>
<source>Object position :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="280"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="280"/>
<source>Define the position which occupy the new objects in the timeline during the insertions</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="284"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="284"/>
<source>Insert after current object</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="289"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="289"/>
<source>Append at project end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="297"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="297"/>
<source>Multiple file insertion :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="307"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="307"/>
<source>Adjust the way will be sorted out files when you select several files in Add file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="310"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="310"/>
<source>Sort file by last number</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="822"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="822"/>
<source>Defined the transition to be inserted between slides during the insertions:
Chosen randomly a transition in the library</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="833"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="857"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="881"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="833"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="857"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="881"/>
<source>TransitionButtons</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="846"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="846"/>
<source>Defined the transition to be inserted between slides during the insertions:
No transition</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="870"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="870"/>
<source>Defined the transition to be inserted between slides during the insertions:
Crossfade transition</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="906"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="906"/>
<source>Define the transition duration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="670"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="723"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="953"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="670"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="723"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="953"/>
<source>sec</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="330"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="330"/>
<source>If this box is checked, a confirmation will display every time you remove an object</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="333"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="333"/>
<source>Ask user confirmation to remove slide, object or shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="340"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="340"/>
<source>Object deletion :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="350"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="350"/>
<source>Coordinates unit :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="360"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="360"/>
<source>Select the unit of the coordinates which will be used in properties dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="364"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="364"/>
<source>Percent</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="369"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="369"/>
<source>Pixel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="377"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="377"/>
<source>Enable "raster" Graphics System (Need application restart)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="503"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="503"/>
<source>Automatically crop 1920x1088 video to 1920x1080</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="418"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="418"/>
<source>SDL Audio use old mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="438"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="438"/>
<source>256 Mb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="443"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="443"/>
<source>512 Mb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="448"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="448"/>
<source>1 Gb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="453"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="453"/>
<source>2 Gb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="427"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="427"/>
<source>Memory profil :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="384"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="384"/>
<source>Image smoothing :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="394"/>
<source>Smooth image during preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="401"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="401"/>
<source>Use quick resampler during preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="408"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="408"/>
<source>Audio resampling :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="476"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="476"/>
<source>Transformed image :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="486"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="486"/>
<source>Create cache file (with _ffd suffix) for transformed images</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="493"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="493"/>
<source>Video :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="515"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="515"/>
<source>Project Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="564"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="564"/>
<source>Project properties (default values)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="592"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="592"/>
<source>Select the geometry of image to be used for the creation of the projects.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="599"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="599"/>
<source>Old TV (4:3)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="604"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="604"/>
<source>TV Wide (16:9)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="609"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="609"/>
<source>Cinema (2.35:1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="617"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="617"/>
<source>(Only for new project)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="657"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="657"/>
<source>Defined the default duration of the first shot of slides during their creation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="710"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="710"/>
<source>Defined the default duration of next shots.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="763"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="763"/>
<source>Defined the curve of speed to be used for the transitions and the animations.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="770"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="770"/>
<source>Linear</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="775"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="775"/>
<source>Quarter sine</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="798"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="798"/>
<source>Default transition:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="994"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="994"/>
<source>Default options for new text block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1010"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1010"/>
<source>Text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1026"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1026"/>
<source>Background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1061"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1061"/>
<source>Default options for new image or video block (when adding block in slide dialog)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1079"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1223"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1441"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1502"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1563"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1624"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1685"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1814"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1875"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1936"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2233"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2294"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2355"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2416"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2477"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2538"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2599"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2660"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2721"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1079"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1223"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1441"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1502"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1563"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1624"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1685"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1814"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1875"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1936"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2233"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2294"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2355"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2416"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2477"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2538"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2599"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2660"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2721"/>
<source>For 4:3 project:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1096"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1230"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1448"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1509"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1570"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1631"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1692"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1821"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1882"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1943"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2240"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2301"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2362"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2423"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2484"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2545"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2606"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2667"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2728"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1096"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1230"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1448"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1509"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1570"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1631"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1692"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1821"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1882"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1943"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2240"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2301"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2362"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2423"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2484"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2545"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2606"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2667"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2728"/>
<source>For 16:9 project:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1103"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1237"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1455"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1516"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1577"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1638"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1699"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1828"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1889"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1950"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2247"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2308"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2369"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2430"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2491"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2552"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2613"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2674"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2735"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1103"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1237"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1455"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1516"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1577"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1638"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1699"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1828"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1889"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1950"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2247"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2308"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2369"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2430"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2491"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2552"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2613"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2674"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2735"/>
<source>For cinema project:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1138"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1138"/>
<source>Coordinates</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1167"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1167"/>
<source>Default options for new image or video block (when creating slide)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1183"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2810"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1183"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2810"/>
<source>Text style</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1202"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1282"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2829"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1202"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1282"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2829"/>
<source>Shape</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1301"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2025"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1301"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2025"/>
<source>Coordinates
for 3:2
image in
@@ -567,8 +567,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1324"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2048"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1324"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2048"/>
<source>Coordinates
for 3:2
image in
@@ -577,8 +577,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1347"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2071"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1347"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2071"/>
<source>Coordinates
for 4:3
image in
@@ -587,8 +587,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1370"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2094"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1370"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2094"/>
<source>Coordinates
for 4:3
image in
@@ -597,8 +597,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1393"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2117"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1393"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2117"/>
<source>Coordinates
for 16:9
image in
@@ -607,8 +607,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1416"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2140"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1416"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2140"/>
<source>Coordinates
for 16:9
image in
@@ -617,8 +617,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1744"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2163"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1744"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2163"/>
<source>Coordinates
for cinema
image in
@@ -627,8 +627,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1767"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2186"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1767"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2186"/>
<source>Coordinates
for cinema
image in
@@ -637,8 +637,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1790"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2209"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1790"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2209"/>
<source>Coordinates
for
nonstandard
@@ -646,283 +646,283 @@ image</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2842"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2842"/>
<source>Title :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2875"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2875"/>
<source>Author :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2893"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2893"/>
<source>No automatic filling</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2898"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2898"/>
<source>Fill with project name when project save (if not yet defined)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2903"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2903"/>
<source>Fill with project folder name when project save (if not yet defined)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2911"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2911"/>
<source>Default language :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2944"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2944"/>
<source>und</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2954"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2954"/>
<source>(ISO 639 language code)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2968"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2968"/>
<source>Rendering Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3036"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3036"/>
<source>Default advanced rendering options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3263"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3263"/>
<source>Video standard :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3386"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3386"/>
<source>Use title project as video name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3407"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3407"/>
<source>Lossless :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3464"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3464"/>
<source>Manage Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3043"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3043"/>
<source>Video codec :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3056"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3056"/>
<source>File format :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3322"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3322"/>
<source>Format :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3341"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3423"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3341"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3423"/>
<source>Select the default image format to use for the rendering among the proposed list. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3284"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3284"/>
<source>Select the default video standard to use, PAL or NTSC.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3288"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3288"/>
<source>PAL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3293"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3293"/>
<source>NTSC</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3075"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3146"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3075"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3146"/>
<source>Bit rate :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3100"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3100"/>
<source>Select the default bit rate to use for video during the rendering among the proposed list. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3113"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3113"/>
<source>Select the default video codec to use for the rendering among the proposed list. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3120"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3120"/>
<source>Select the default audio codec to use for the rendering among the proposed list. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3127"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3127"/>
<source>Audio codec :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3171"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3171"/>
<source>Select the default bit rate to use for audio during the rendering among the proposed list. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3368"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3368"/>
<source>Default device mode rendering options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3178"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3178"/>
<source>Smartphone :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3188"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3188"/>
<source>Multimedia system :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3198"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3198"/>
<source>For the WEB :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3208"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3208"/>
<source>Select the type of equipment which will be proposed by default when you will click the "Player and Smartphone" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3215"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3215"/>
<source>Select the type of equipment which will be proposed by default when you will click the "For the WEB" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3222"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3222"/>
<source>Select the type of equipment which will be proposed by default when you will click the "Multimedia system" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3256"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3256"/>
<source>Select the default file type to use for the rendering among the proposed list.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3229"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3229"/>
<source>Select the model of equipment which will be proposed by default when you will click the "Player and Smartphone" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3236"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3236"/>
<source>Select the model of equipment which will be proposed by default when you will click the "Multimedia system" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3243"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3243"/>
<source>Select the model of equipment which will be proposed by default when you will click the "For the WEB" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3351"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3351"/>
<source>Default video name :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3381"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3381"/>
<source>Use project name as video name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3376"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3376"/>
<source>Use project folder's name as video name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3453"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3453"/>
<source>Check Configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3488"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3488"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3491"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3491"/>
<source>&Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3502"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3502"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3505"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3505"/>
<source>&Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3516"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3516"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3519"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3519"/>
<source>&Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3526"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3526"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="173"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="180"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="176"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="183"/>
<source>Lock to image geometry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="174"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="181"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="177"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="184"/>
<source>Lock to project geometry-to full image</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="175"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="182"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="178"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="185"/>
<source>Lock to project geometry-to width</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="176"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="183"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="179"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="186"/>
<source>Lock to project geometry-to height</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="361"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="364"/>
<source>Language selection</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="362"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="365"/>
<source>Language must be empty or an ISO 639 language code (3 characters)
See help for more details!</source>
<translation type="unfinished"></translation>
@@ -931,77 +931,92 @@ See help for more details!</source>
<context>
<name>DlgBackgroundProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="26"/>
<source>Background properties</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="44"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="44"/>
<source>Same background as precedent object</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="57"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="57"/>
<source>Select a new background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="261"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="261"/>
<source>Keep aspect ratio</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="224"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="224"/>
<source>Full filling (deform image)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="655"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="655"/>
<source>&Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="666"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="691"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="694"/>
+ <source>Undo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="701"/>
+ <source>Ctrl+Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="708"/>
<source>&Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="677"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="719"/>
<source>&Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="684"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="726"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="47"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="73"/>
<source>Solid brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="49"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="75"/>
<source>Gradient 2 colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="51"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="77"/>
<source>Gradient 3 colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="53"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="79"/>
<source>Image from library</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="55"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="81"/>
<source>Image from disk</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="305"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="310"/>
<source>Select a file</source>
<translation type="unfinished"></translation>
</message>
@@ -1044,124 +1059,124 @@ See help for more details!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="63"/>
- <source>ffmpeg not found - critical - application will stop !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="165"/>
- <source>ffmpeg Audio Codecs</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="179"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="177"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="181"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="186"/>
<source>available</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="60"/>
- <source>Unable to determine ffmpeg version</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="67"/>
+ <source>Unable to determine %1 version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="70"/>
+ <source>%1 not found - critical - application will stop !</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="103"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="110"/>
<source>LibExiv2 version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="105"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="112"/>
<source>LibExiv2/Exiv2 binary version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="177"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="181"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="187"/>
<source>not available</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<source>LibExiv2 support for preview image</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="119"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
<source>TAGLib version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<source>TAGLib support for FLAC</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
<source>TAGLib support for ASF/WMA</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<source>TAGLib support for M4A/MP4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="149"/>
- <source>ffmpeg version:</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="156"/>
+ <source>encoder version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="150"/>
- <source>LIBAVCODEC version:</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
+ <source>LIBAV support for TAG and CHAPTERS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="151"/>
- <source>LIBAVFORMAT version:</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="172"/>
+ <source>libav Audio Codecs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="152"/>
- <source>LIBSWSCALE version:</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="176"/>
+ <source>libav Video Codecs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <source>ffmpeg support for TAG and CHAPTERS</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <source>libav Container Formats</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="169"/>
- <source>ffmpeg Video Codecs</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="157"/>
+ <source>LIBAVCODEC version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
- <source>ffmpeg Container Formats</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="158"/>
+ <source>LIBAVFORMAT version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="178"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <source>LIBSWSCALE version:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="185"/>
<source>Lossless</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="179"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="186"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="187"/>
<source>Lossless rendering</source>
<translation type="unfinished"></translation>
</message>
@@ -1169,298 +1184,328 @@ See help for more details!</source>
<context>
<name>DlgImageCorrection</name>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="26"/>
<source>Image framing and correction</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="107"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="110"/>
<source>Properties for this shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="158"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="161"/>
<source>Define the horizontal position from the left (X).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="223"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="226"/>
<source>Define the vertical position from the top of the image ( Y ).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1345"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1348"/>
<source>Properties for all shots</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1735"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1423"/>
+ <source>Select another file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1738"/>
<source>Define automatically the framing to the width of the image.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1755"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1758"/>
<source>Define automatically the framing to the height of the image.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1787"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1790"/>
<source>Define automatically the framing to the diagonal of the image.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="244"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1843"/>
+ <source>Enable or disable rulers corresponding to the margins of television sets.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1846"/>
+ <source>Rullers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1915"/>
+ <source>Undo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1922"/>
+ <source>Ctrl+Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="247"/>
<source>Define the width</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="314"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="317"/>
<source>Define the height</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1601"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1604"/>
<source>Turn the image to the left (on the multiple fellow man of 90°).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1638"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1641"/>
<source>Define the rotation angle for z axis.</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1669"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1672"/>
<source>Turn the image to the right (on the multiple fellow man of 90°).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="398"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="431"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="401"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="434"/>
<source>Adjust luminosity</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="512"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="545"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="515"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="548"/>
<source>Adjust contrast</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="613"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="649"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="616"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="652"/>
<source>Adjust gamma</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="726"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="759"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="729"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="762"/>
<source>Adjust red chanel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="833"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="866"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="836"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="869"/>
<source>Adjust green chanel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="940"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="973"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="943"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="976"/>
<source>Adjust blue chanel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="447"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="561"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="668"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="775"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="882"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="989"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1169"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="450"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="564"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="671"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="778"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="885"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="992"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1172"/>
<source>Reset to zero</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1028"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1031"/>
<source>Apply a filter to the photo or the images of the video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1107"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1238"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1283"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1110"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1241"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1286"/>
<source>Define a blur/sharpen filter to the photo</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1305"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1308"/>
<source>Reset to 5</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1398"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1401"/>
<source>Name of image/video file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1420"/>
- <source>Select an other file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1473"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1476"/>
<source>Framing :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1504"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1507"/>
<source>Image correction :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1834"/>
- <source>Show/Hide rullers</source>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1912"/>
+ <source>Undo last action (CTRL+Z)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1867"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1870"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1870"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1873"/>
<source>&Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1881"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1929"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1884"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1932"/>
<source>&Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1895"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1943"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1898"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1946"/>
<source>&Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1905"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1953"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="65"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="521"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="524"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="101"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="747"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="750"/>
<source>Unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="66"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="525"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="102"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="751"/>
<source>Lock to this geometry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="67"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="526"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="103"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="752"/>
<source>Lock to project geometry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="68"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="104"/>
<source>Lock to image geometry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="379"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="343"/>
<source>Creating cached filtered file ...</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="515"/>
+ <source>No style for nonstandard geometry image</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="564"/>
+ <source>Select a file</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DlgInfoFile</name>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="25"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="26"/>
<source>File information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="93"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="94"/>
<source>File name :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="100"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="101"/>
<source>File type :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="133"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="134"/>
<source>File size :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="153"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="154"/>
<source>File created :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="167"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="168"/>
<source>File modify :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="219"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="220"/>
<source>Video track information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="323"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="324"/>
<source>Chapter information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="288"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="289"/>
<source>Audio track information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="379"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="380"/>
<source>Additional information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="418"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="419"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="421"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="422"/>
<source>&Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="432"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="433"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="435"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="436"/>
<source>&Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="442"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="443"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
@@ -1975,30 +2020,30 @@ Please select another name!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="563"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="771"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="377"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="398"/>
<source>Adjust to image width</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="564"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="772"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="378"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="399"/>
<source>Adjust to image height</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="565"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="773"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="379"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="400"/>
<source>Adjust to full image</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="544"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="546"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="566"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="774"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="785"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="787"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="380"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="401"/>
<source>Custom</source>
@@ -2008,173 +2053,173 @@ Please select another name!</source>
<context>
<name>DlgMusicProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="26"/>
<source>Music properties</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="38"/>
- <source>Allows to continue to play the play list define by a previous slide</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="41"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="41"/>
<source>Continue current playlist (defined in a previous slide)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="44"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="201"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="44"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="201"/>
<source>buttonGroup</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="68"/>
- <source>Allows to indicate that from now on, the sound volume is reduced.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="71"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="71"/>
<source>Change volume level to :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="74"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="173"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="186"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="74"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="173"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="186"/>
<source>buttonGroup_2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="99"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="99"/>
<source>Define the sound volume for this slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="167"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="167"/>
<source>Set music to pause during this slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="170"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="170"/>
<source>Set to pause</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="180"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="180"/>
<source>No specific settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="183"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="183"/>
<source>Normal</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="195"/>
- <source>Allows to start a new playlist.</source>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="38"/>
+ <source>Allows one to continue to play the play list define by a previous slide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="68"/>
+ <source>Allows one to indicate that from now on, the sound volume is reduced.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="195"/>
+ <source>Allows one to start a new playlist.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="198"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="198"/>
<source>Start a new playlist from this slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="216"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="216"/>
<source>Add a file to the playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="230"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="230"/>
<source>Remove the current selected file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="244"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="244"/>
<source>Change the order in which will be played the music files:
Move the current selected file of a notch upward.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="259"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="259"/>
<source>Change the order in which will be played the music files:
Move the current selected file of a notch downward.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="274"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="274"/>
<source>Total playlist duration : </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="324"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="324"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="334"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="334"/>
<source>Duration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="344"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="344"/>
<source>Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="354"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="354"/>
<source>Source folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="392"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="392"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="395"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="395"/>
<source>&Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="406"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="406"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="409"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="409"/>
<source>&Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="420"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="420"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="423"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="423"/>
<source>&Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="430"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="430"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="235"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="217"/>
<source>Add music files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="268"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="250"/>
<source>Error</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="269"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="251"/>
<source>Format not supported</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
@@ -2472,872 +2517,1281 @@ Move the current selected file of a notch downward.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="324"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="325"/>
<source>Select destination file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="584"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="658"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="585"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="863"/>
<source>Stop rendering</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="665"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="875"/>
<source>Range selection</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="666"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="876"/>
<source>Slide range is defined to incorrect values</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="674"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="884"/>
<source>Language selection</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="675"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="885"/>
<source>Language must be empty or an ISO 639 language code (3 characters)
See help for more details!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="682"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="892"/>
<source>Overwrite file ?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="683"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="893"/>
<source>The file you selected already exist.
Do you want to overwrite it ?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="701"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="713"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="910"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="941"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1186"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1241"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1250"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1261"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1276"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1291"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1316"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1336"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1345"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1357"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1506"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1510"/>
- <source>Render video</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1073"/>
+ <source>Start avconv encoder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="739"/>
- <source>Device model selection</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1110"/>
+ <source>Error starting avconv</source>
+ <comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="740"/>
- <source>A device model is require!</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1193"/>
+ <source>avconv error</source>
+ <comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="823"/>
- <source>Encoding sound</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1230"/>
+ <source>Error during avconv process</source>
+ <comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1010"/>
- <source>Start ffmpeg encoder</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1234"/>
+ <source>Error exiting avconv</source>
+ <comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1061"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1126"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1133"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1170"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1174"/>
- <source>Error</source>
- <comment>Error message</comment>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="668"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="753"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="907"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="919"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1246"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1301"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1310"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1327"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1342"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1363"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1379"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1388"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1395"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1488"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1540"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1544"/>
+ <source>Render video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1062"/>
- <source>Error starting ffmpeg</source>
- <comment>Error message</comment>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="946"/>
+ <source>Device model selection</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1096"/>
- <source> - Estimated time left : </source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="947"/>
+ <source>A device model is require!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1126"/>
- <source>Error sending image to ffmpeg</source>
- <comment>Error message</comment>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1031"/>
+ <source>Encoding sound</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1133"/>
- <source>ffmpeg error</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1109"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1184"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1193"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1230"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1234"/>
+ <source>Error</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1155"/>
- <source>Closing encoder</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1144"/>
+ <source> - Estimated time left : </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1170"/>
- <source>Error during ffmpeg process</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1184"/>
+ <source>Error sending image to ffmpeg</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1174"/>
- <source>Error exiting ffmpeg</source>
- <comment>Error message</comment>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1215"/>
+ <source>Closing encoder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1186"/>
- <source>Job completed succesfully!</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1246"/>
+ <source>Job completed successfully!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>DlgSlideProperties</name>
+ <name>DlgRulerDef</name>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="29"/>
- <source>Slide properties</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="20"/>
+ <source>Ruler properties</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="139"/>
- <source>Append a shot to end of the timeline</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="76"/>
+ <source>Horizontal rulers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="142"/>
- <source>Add shot</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="97"/>
+ <source>Vertical rulers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="180"/>
- <source>Remove current selected shot</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="110"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="123"/>
+ <source>screen borders</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="183"/>
- <source>Remove</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="136"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="149"/>
+ <source>TV margins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="221"/>
- <source>Change the order of the shot by moving the current selected shot, of a notch towards the left</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="162"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="175"/>
+ <source>Screen center</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="224"/>
- <source>Move left</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="195"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="202"/>
+ <source>Unselected objects</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="256"/>
- <source>Change the order of the shot by moving the current selected shot, of a notch towards the right</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="241"/>
+ <source>Accept modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="259"/>
- <source>Move right</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="244"/>
+ <source>&Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="394"/>
- <source>Indicate the duration for the current selected shot.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="255"/>
+ <source>Cancel modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="417"/>
- <source>HH:mm:ss.zzz</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="258"/>
+ <source>&Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="444"/>
- <source>Shot duration :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="269"/>
+ <source>Open help page describing this dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="466"/>
- <source>Total slide duration :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="272"/>
+ <source>&Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="504"/>
- <source>Slide name :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="279"/>
+ <source>F1</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>DlgSlideProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="532"/>
- <source>Indicate a name for the slide. It is this name which will appear on the thumbnail in the main window timeline.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="29"/>
+ <source>Slide properties</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="986"/>
- <source>Change the order of blocks by moving the active block upward (towards the background)</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="116"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3544"/>
+ <source>Append a shot to end of the timeline</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1002"/>
- <source>PgUp</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3529"/>
+ <source>Add file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1030"/>
- <source>Change the order of blocks by moving the active block downward (towards the foreground)</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3541"/>
+ <source>Add shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1046"/>
- <source>PgDown</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="164"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3556"/>
+ <source>Remove current selected shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="744"/>
- <source>Add a new title block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3415"/>
+ <source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="539"/>
- <source>Start a new chapter from here</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3568"/>
+ <source>Change the order of the shot by moving the current selected shot, of a notch towards the left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="546"/>
- <source>Chapter :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3565"/>
+ <source>Move left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="754"/>
- <source>Ctrl+Ins</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3580"/>
+ <source>Change the order of the shot by moving the current selected shot, of a notch towards the right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="782"/>
- <source>Add a new block of type image or video.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3577"/>
+ <source>Move right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="792"/>
- <source>Ins</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="687"/>
+ <source>Indicate the duration for the current selected shot.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="941"/>
- <source>Remove the current block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="710"/>
+ <source>HH:mm:ss.zzz</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="951"/>
- <source>Del</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="660"/>
+ <source>Shot duration :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="827"/>
- <source>Copy the current block to the ffDiaporama clipboard.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="501"/>
+ <source>Indicate a name for the slide. It is this name which will appear on the thumbnail in the main window timeline.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="837"/>
- <source>Ctrl+C</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="213"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3520"/>
+ <source>Add a new text block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="865"/>
- <source>Copy the current block to the ffDiaporama clipboard and remove it from the slide</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3238"/>
+ <source>Undo</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="875"/>
- <source>Ctrl+X</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="216"/>
+ <source>Add
+text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="903"/>
- <source>Paste block from the ffDiaporama clipboard and insert it.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="261"/>
+ <source>Add
+file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="913"/>
- <source>Ctrl+V</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="313"/>
+ <source>Edit
+block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1074"/>
- <source>Make visible or hidden the active block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="352"/>
+ <source>Arrange blocks</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1109"/>
- <source>Give the sound, during this shot, to the current video block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="355"/>
+ <source>Arrange
+block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1151"/>
- <source>Define the properties of the text block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="397"/>
+ <source>Block
+information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1161"/>
- <source>F5</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2199"/>
+ <source>Text animation :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1189"/>
- <source>Define framing and do correction of image or movie</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2209"/>
+ <source>Zoom :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1199"/>
- <source>F6</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2245"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2287"/>
+ <source>Define a zoom value for the text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1227"/>
- <source>Cut the video</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2309"/>
+ <source>Reset to 100%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1237"/>
- <source>F7</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2351"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2393"/>
+ <source>Scroll text from left to right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2310"/>
- <source>Border :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2457"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2499"/>
+ <source>Scroll text from bottom to up</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2225"/>
- <source>Shape :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2551"/>
+ <source>Block animation :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2253"/>
- <source>Select a shape for current block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2587"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2632"/>
+ <source>Define the number of turn to be made around the Z axis during this shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2275"/>
- <source>Opacity :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2693"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2738"/>
+ <source>Define the number of turn to be made around the X axis during this shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2303"/>
- <source>Defined the opaqueness of the block.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2799"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2844"/>
+ <source>Define the number of turn to be made around the Y axis during this shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2345"/>
- <source>Defined the thickness of the border</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3065"/>
+ <source>Type :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2373"/>
- <source>Defined the color of the line to be used to draw the border</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3078"/>
+ <source>Dissolve :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2404"/>
- <source>Defined the type of line (solid, dotted line, etc.)</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3097"/>
+ <source>Block coordinates :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2064"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2103"/>
- <source>Define rotation according to the X axis (defined in degree).</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="508"/>
+ <source>Start a new chapter from this slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1950"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1989"/>
- <source>Define rotation according to the Y axis (defined in degree).</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="531"/>
+ <source>Total duration :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1833"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1872"/>
- <source>Define rotation according to the Z axis (defined in degree).</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3144"/>
+ <source>Rullers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2517"/>
- <source>Defined the distance between the block and its shadow</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3289"/>
+ <source>Edit text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2545"/>
- <source>Defined the color of the shadow</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3301"/>
+ <source>Do image correct or reframming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1682"/>
- <source>Define width of current block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3337"/>
+ <source>Move to foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1755"/>
- <source>Define height of current block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3589"/>
+ <source>Lock properties</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1526"/>
- <source>Define X position of current block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3592"/>
+ <source>Lock properties to the same values as define for the previous shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1599"/>
- <source>Define Y position of current block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3601"/>
+ <source>Unlock properties from this shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2479"/>
- <source>Defined in which corner the shadow will be positioned (or no shadow)</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3604"/>
+ <source>Define properties from this shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2457"/>
- <source>Shadow :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3613"/>
+ <source>Hide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2135"/>
- <source>Block shape :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3616"/>
+ <source>Make hide the active block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1339"/>
- <source>Coordinates :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3352"/>
+ <source>Make visible the active block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2645"/>
- <source>Propertie</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="473"/>
+ <source>Slide :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2655"/>
- <source>Value</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="511"/>
+ <source>Start chapter from here</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2696"/>
- <source>Enable or disable rulers corresponding to the margins of television sets.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3361"/>
+ <source>Take the sound</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2699"/>
- <source>TV margins</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3373"/>
+ <source>Display information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2726"/>
- <source>Accept modification and go to previous slide</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3418"/>
+ <source>Remove current block(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2729"/>
- <source>Previous</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3445"/>
+ <source>Align top</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2740"/>
- <source>Accept modification and exit dialog box</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3448"/>
+ <source>Align blocks to the top</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2743"/>
- <source>&Ok</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3457"/>
+ <source>Align middle</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2754"/>
- <source>Accept modification and go to next slide</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3460"/>
+ <source>Align blocks to the middle</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2757"/>
- <source>Next</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3469"/>
+ <source>Align bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2793"/>
- <source>Cancel modification and exit dialog box</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3472"/>
+ <source>Align blocks to the bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2796"/>
- <source>&Cancel</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3481"/>
+ <source>Align left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2807"/>
- <source>Open help page describing this dialog box</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3484"/>
+ <source>Align blocks to the left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2810"/>
- <source>&Help</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3493"/>
+ <source>Align center</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2817"/>
- <source>F1</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3496"/>
+ <source>Align blocks to the center</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="101"/>
- <source>Slide</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3505"/>
+ <source>Align right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="146"/>
- <source>None</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3508"/>
+ <source>Align blocks to the right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="147"/>
- <source>Shadow upper left</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3517"/>
+ <source>Add text block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="148"/>
- <source>Shadow upper right</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1845"/>
+ <source>Remove block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="149"/>
- <source>Shadow bottom left</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="230"/>
+ <source>Ctrl+Ins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="150"/>
- <source>Shadow bottom right</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="258"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3532"/>
+ <source>Add a new block of type image or video.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="626"/>
- <source>Lengthened to %1 sec</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="275"/>
+ <source>Ins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1039"/>
- <source>Object type</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3421"/>
+ <source>Del</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1040"/>
- <source>Title</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3388"/>
+ <source>Copy the current block to the ffDiaporama clipboard.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1041"/>
- <source>Image</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3325"/>
+ <source>Move to background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1042"/>
- <source>Video</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3328"/>
+ <source>Change the order of blocks by moving the active block towards the background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1046"/>
- <source>Filename</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3340"/>
+ <source>Change the order of blocks by moving the active block towards the foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1056"/>
- <source>Image size</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3349"/>
+ <source>Visible</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="561"/>
- <source>No style for nonstandard geometry image</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3385"/>
+ <source>Copy block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="626"/>
- <source>Select a file</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3391"/>
+ <source>Ctrl+C</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1572"/>
- <source>Remove shot</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3400"/>
+ <source>Cut block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1572"/>
- <source>Are you sure to want to delete this shot?</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3403"/>
+ <source>Copy the current block to the ffDiaporama clipboard and remove it from the slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1715"/>
- <source>Text</source>
- <comment>Default text value</comment>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3406"/>
+ <source>Ctrl+X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1740"/>
- <source>Add files</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3430"/>
+ <source>Paste block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1957"/>
- <source>Remove bloc</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3433"/>
+ <source>Paste block from the ffDiaporama clipboard and insert it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1957"/>
- <source>Are you sure to want to delete this bloc?</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3436"/>
+ <source>Ctrl+V</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>DlgTextEdit</name>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="26"/>
- <source>Edit text</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3364"/>
+ <source>Give the sound, during this shot, to the current video block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="187"/>
- <source>Properties for all shots</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3292"/>
+ <source>Define the properties of the text block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="158"/>
- <source>Select font family</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3304"/>
+ <source>Define framing and do correction of image or movie</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="339"/>
- <source>Select font size</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3313"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3316"/>
+ <source>Cut the video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="364"/>
- <source>Select font color</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3376"/>
+ <source>Display detailled information on current block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1267"/>
- <source>Select font effect (outerline, shadow)</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1485"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1582"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1710"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2415"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2521"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2651"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2757"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2863"/>
+ <source>Reset to 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1298"/>
- <source>Select outerline/shadow color</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1915"/>
+ <source>Border :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="230"/>
- <source>Set text to Bold</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1830"/>
+ <source>Shape :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3235"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3245"/>
+ <source>Ctrl+Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="119"/>
+ <source>Add
+shot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="167"/>
+ <source>Remove
+shot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="310"/>
+ <source>Edit block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1858"/>
+ <source>Select a shape for current block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1880"/>
+ <source>Opacity :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1908"/>
+ <source>Defined the opaqueness of the block.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1950"/>
+ <source>Defined the thickness of the border</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1978"/>
+ <source>Defined the color of the line to be used to draw the border</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2009"/>
+ <source>Defined the type of line (solid, dotted line, etc.)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1655"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1694"/>
+ <source>Define rotation according to the X axis (defined in degree).</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1527"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1566"/>
+ <source>Define rotation according to the Y axis (defined in degree).</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1427"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1466"/>
+ <source>Define rotation according to the Z axis (defined in degree).</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2122"/>
+ <source>Defined the distance between the block and its shadow</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2150"/>
+ <source>Defined the color of the shadow</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1276"/>
+ <source>Define width of current block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1349"/>
+ <source>Define height of current block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1120"/>
+ <source>Define X position of current block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1193"/>
+ <source>Define Y position of current block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2084"/>
+ <source>Defined in which corner the shadow will be positioned (or no shadow)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2062"/>
+ <source>Shadow :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1740"/>
+ <source>Block shape :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3141"/>
+ <source>Enable or disable rulers corresponding to the margins of television sets.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3168"/>
+ <source>Accept modification and go to previous slide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3171"/>
+ <source>Previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3182"/>
+ <source>Accept modification and exit dialog box</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3185"/>
+ <source>&Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="262"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3196"/>
+ <source>Accept modification and go to next slide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3199"/>
+ <source>Next</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3252"/>
+ <source>Cancel modification and exit dialog box</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3255"/>
+ <source>&Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3266"/>
+ <source>Open help page describing this dialog box</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3269"/>
+ <source>&Help</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3276"/>
+ <source>F1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="156"/>
+ <source>Slide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="193"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="234"/>
+ <source>None</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="194"/>
+ <source>Shadow upper left</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="195"/>
+ <source>Shadow upper right</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="196"/>
+ <source>Shadow bottom left</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="197"/>
+ <source>Shadow bottom right</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="235"/>
+ <source>Multiple block turn</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="236"/>
+ <source>Dissolve</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="239"/>
+ <source>Appear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="240"/>
+ <source>Disappear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="241"/>
+ <source>Blink at slow speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="242"/>
+ <source>Blink at medium speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="243"/>
+ <source>Blink at fast speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="244"/>
+ <source>Blink at very fast speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1332"/>
+ <source>Lengthened to %1 sec</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1845"/>
+ <source>Are you sure to want to delete this block?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1848"/>
+ <source>Remove blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1848"/>
+ <source>Are you sure to want to delete these blocks?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3553"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1200"/>
+ <source>Remove shot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1200"/>
+ <source>Are you sure to want to delete this shot?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1564"/>
+ <source>Text</source>
+ <comment>Default text value</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1623"/>
+ <source>Add files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/cCustomBlockTable.cpp" line="136"/>
+ <source>Duration:</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>DlgTextEdit</name>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="26"/>
+ <source>Edit text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="109"/>
+ <source>Select font family</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="134"/>
+ <source>Select font size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="159"/>
+ <source>Select font color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="443"/>
+ <source>Select font effect (outerline, shadow)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="474"/>
+ <source>Select outerline/shadow color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="512"/>
+ <source>Set text to Bold</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="544"/>
<source>Set text to Italic</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="291"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="573"/>
<source>Set text to Underline</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="412"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="289"/>
<source>Align left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="447"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="356"/>
<source>Align center</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="479"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="324"/>
<source>Align justify</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="511"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="45"/>
+ <source>Text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="200"/>
+ <source>Bullet list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="235"/>
+ <source>Numbered list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="388"/>
<source>Align right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="556"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="602"/>
+ <source>Set text to superscript</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="631"/>
+ <source>Set text to subscript</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="679"/>
+ <source>Increase indent</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="708"/>
+ <source>decrease indent</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="756"/>
<source>Align top</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="588"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="788"/>
<source>Align in the middle</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="620"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="820"/>
<source>Align bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="682"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="870"/>
+ <source>Background</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="916"/>
+ <source>Background properties :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="967"/>
<source>Define the background brush type for the shape</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="734"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1019"/>
<source>Define the color (or first color for a gradient brush)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="759"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1063"/>
<source>Define the second gradient brush color </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="784"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1107"/>
<source>Define the third gradient brush color </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="843"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1166"/>
<source>Select the pattern</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="904"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1227"/>
<source>Define orientation of the gradient brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="948"/>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="987"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1258"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1297"/>
<source>Define position of the second color in the gradient brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1077"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1400"/>
<source>Select an image among that present in the library</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1215"/>
- <source>Texte style :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1456"/>
+ <source>Accept modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1123"/>
- <source>Block background style :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1459"/>
+ <source>&Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1357"/>
- <source>Accept modification and exit dialog box</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1495"/>
+ <source>Undo last action (CTRL+Z)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1360"/>
- <source>&Ok</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1498"/>
+ <source>Undo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1505"/>
+ <source>Ctrl+Z</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1371"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1512"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1374"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1515"/>
<source>&Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1385"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1526"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1388"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1529"/>
<source>&Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1395"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1536"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="74"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="118"/>
<source>No effect</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="75"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="119"/>
<source>Outerline</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="76"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="120"/>
<source>Shadow upper left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="77"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="121"/>
<source>Shadow upper right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="78"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="122"/>
<source>Shadow bottom left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="79"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="123"/>
<source>Shadow bottom right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="85"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="129"/>
<source>No brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="86"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="130"/>
<source>Solid brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="87"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="131"/>
<source>Pattern brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="88"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="132"/>
<source>Gradient 2 colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="89"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="133"/>
<source>Gradient 3 colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="90"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="134"/>
<source>Image from library</source>
<translation type="unfinished"></translation>
</message>
@@ -3468,108 +3922,123 @@ Do you want to overwrite it ?</source>
<context>
<name>DlgVideoEdit</name>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="26"/>
<source>Cut video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="52"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="52"/>
<source>Properties for all shots</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="110"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="110"/>
<source>Start :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="117"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="117"/>
<source>Move to start position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="131"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="131"/>
<source>Use current position as start position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="157"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="157"/>
<source>Define the start position to use for</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="179"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="179"/>
<source>End :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="201"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="201"/>
<source>Define the end position to use for</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="220"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="220"/>
<source>Use current position as end position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="234"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="234"/>
<source>Move to end position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="254"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="254"/>
<source>Duration :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="286"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="286"/>
<source>Volume :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="314"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="314"/>
<source>Define the " Master Volume " for the movie</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="355"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="355"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="358"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="358"/>
<source>&Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="369"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="394"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="397"/>
+ <source>Undo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="404"/>
+ <source>Ctrl+Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="411"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="372"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="414"/>
<source>&Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="383"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="425"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="386"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="428"/>
<source>&Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="393"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="435"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
@@ -3577,87 +4046,87 @@ Do you want to overwrite it ?</source>
<context>
<name>DlgffDPjrProperties</name>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="19"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="20"/>
<source>Project properties</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="33"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="34"/>
<source>Title :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="50"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="51"/>
<source>Author :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="60"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="61"/>
<source>Album :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="70"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="71"/>
<source>Year :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="120"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="121"/>
<source>Language :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="153"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="154"/>
<source>und</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="163"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="164"/>
<source>(ISO 639 language code)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="172"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="173"/>
<source>Comment :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="182"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="183"/>
<source>Chapters :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="222"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="223"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="225"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="226"/>
<source>&Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="236"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="237"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="239"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="240"/>
<source>&Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="250"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="251"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="253"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="254"/>
<source>&Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="260"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="261"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
@@ -3677,127 +4146,127 @@ Do you want to overwrite it ?</source>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="156"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1385"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1397"/>
<source>Create a new empty project (Ctrl+N)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="159"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1388"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1400"/>
<source>New
project</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="173"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1402"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1414"/>
<source>Ctrl+N</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="207"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1436"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1448"/>
<source>Open a previously saved project (Ctrl+O)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="210"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1439"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1451"/>
<source>Open
project</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="224"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1453"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1465"/>
<source>Ctrl+O</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="258"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1487"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1499"/>
<source>Open a recently used project file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="261"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1490"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1502"/>
<source>Open
recent</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="306"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1535"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1547"/>
<source>Save current project (Ctrl+S)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="309"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1538"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1550"/>
<source>Save
project</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="323"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1552"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1564"/>
<source>Ctrl+S</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="357"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1586"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1598"/>
<source>Save current project to a new project file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="360"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1589"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1601"/>
<source>Save
project as</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="400"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1629"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1641"/>
<source>Define project properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="403"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1632"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1644"/>
<source>Project
properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="442"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1671"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1683"/>
<source>Change application and project settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="445"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1674"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1686"/>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="483"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1712"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1724"/>
<source>Exit application (Ctrl+W)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="486"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1715"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1727"/>
<source>Exit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="499"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1728"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1740"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
@@ -3808,487 +4277,503 @@ properties</source>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="559"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1786"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1798"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3212"/>
<source>Add an empty slide</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="562"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1789"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1801"/>
<source>Add
title</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="607"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1834"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1846"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3224"/>
<source>Add image or video as slide (INS)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="610"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1837"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1849"/>
<source>Add
files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="624"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1851"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1863"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3227"/>
<source>Ins</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="652"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1879"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1891"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3239"/>
<source>Add a previously saved project at the end of this project</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="655"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1882"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1894"/>
<source>Add
project</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="701"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1928"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1940"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3167"/>
<source>Copy current slide to clipboard and remove it (Ctrl+X)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="704"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1931"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1943"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3164"/>
<source>Cut</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="717"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1944"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1956"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3170"/>
<source>Ctrl+X</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="745"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1972"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1984"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3182"/>
<source>Copy current slide to clipboard (Ctrl+C)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="748"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1975"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1987"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3179"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="761"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1988"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2000"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3185"/>
<source>Ctrl+C</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="789"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2016"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2028"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3197"/>
<source>Paste current slide from clipboard (Ctrl+V)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="792"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2019"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2031"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3194"/>
<source>Paste</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="805"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2032"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2044"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3200"/>
<source>Ctrl+V</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="846"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2073"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2085"/>
<source>Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="884"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2111"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2123"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3152"/>
<source>Remove current slide (DEL)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="887"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2114"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2126"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3149"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="900"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2127"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2139"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3155"/>
<source>Del</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="918"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="924"/>
<source>Render video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="954"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2185"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="960"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2197"/>
<source>Player and
smartphone</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="999"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2230"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1005"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2242"/>
<source>Multimedia
system</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1038"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2269"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1044"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2281"/>
<source>For the
WEB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1077"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2308"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1083"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2320"/>
<source>Lossless</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1121"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2352"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1127"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2364"/>
<source>Render project as a video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1124"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2355"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1130"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2367"/>
<source>Advanced</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1152"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1164"/>
<source>Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1188"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2406"/>
- <source>Display informations about ffDiaporama</source>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1200"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2418"/>
+ <source>Display information about ffDiaporama</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1191"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2409"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1203"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2421"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1235"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2453"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1247"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2465"/>
<source>Call ffDiaporama WIKI</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1238"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2456"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1250"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2468"/>
<source>Support
and help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1252"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2470"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1264"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2482"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1286"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2504"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1298"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2516"/>
<source>Display blog/news page from internet WEB site</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1289"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2507"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1301"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2519"/>
<source>What's new</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2881"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2893"/>
<source>Slide : xx/xxx</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2922"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2934"/>
<source>Switch display to preview mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2939"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2951"/>
<source>...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2962"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2974"/>
<source>Switch display to sheet mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3002"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3014"/>
<source>Enlarge thumbnails</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3042"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3054"/>
<source>Reduce thumbnails</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3073"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3089"/>
<source>Edit background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3076"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3092"/>
<source>Edit the background image for the slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3079"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3095"/>
<source>F5</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3084"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3104"/>
<source>Edit slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3087"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3107"/>
<source>Edit the slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3090"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3110"/>
<source>F6</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3095"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3119"/>
<source>Edit music</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3098"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3122"/>
<source>Edit the slide musical playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3101"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3125"/>
<source>F7</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3106"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3134"/>
<source>Edit object transition</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3109"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3137"/>
<source>Edit entering transition for the slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3112"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3140"/>
<source>F8</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3117"/>
- <source>Edit background transition</source>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3209"/>
+ <source>Add title</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3120"/>
- <source>Edit the entering background transition for the slide</source>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3236"/>
+ <source>Add project</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="60"/>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="74"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="61"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="75"/>
<source>Search Raster mode in configuration file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="274"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="275"/>
<source>All suported file (</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="281"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="282"/>
<source>Image file (</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="287"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="288"/>
<source>Video file (</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="293"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="294"/>
<source>Music file (</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="461"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="387"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="464"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="388"/>
<source>Read configuration file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="649"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1815"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1409"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="588"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1707"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1459"/>
<source>This application support only audio track with unsigned 8 bits or signed 16 bits sample format</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="653"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1819"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1417"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="592"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1467"/>
<source>This application support only mono or stereo audio track</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="659"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1943"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1399"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1445"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1458"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1508"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1514"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1521"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1530"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1398"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1410"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1418"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1497"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="598"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1832"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1602"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1648"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1653"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1661"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1717"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1724"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1733"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1448"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1460"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1468"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1547"/>
<source>Error</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="463"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="397"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="466"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="398"/>
<source>Error reading configuration file</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="468"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="402"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="471"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="403"/>
<source>Error reading content of configuration file</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="475"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="409"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="478"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="410"/>
<source>The file is not a valid configuration file</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="642"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="456"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="645"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="457"/>
<source>Error creating configuration file</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="857"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1052"/>
<source>Title</source>
<comment>Default slide name when no file</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1202"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1239"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1252"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1289"/>
<source>Saving project file ...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1399"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1400"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1602"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1603"/>
<source>Error creating data file</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1421"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1624"/>
<source>Open project file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1422"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1625"/>
<source>Impossible to open file </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1422"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1625"/>
<source>Do you want to select another file ?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1425"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1628"/>
<source>Select another file for </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1434"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1637"/>
<source>Impossible to open project file %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1444"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1508"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1509"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1647"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1712"/>
<source>Error reading project file</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1451"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1514"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1515"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1653"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1654"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1717"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1718"/>
<source>Error reading content of project file</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1458"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1459"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1521"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1522"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1661"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1662"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1724"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1725"/>
<source>The file is not a valid project file</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1530"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1531"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1733"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1734"/>
<source>Impossible to import this file :
Image geometry in this file is not the same than the current project</source>
<comment>Error message</comment>
@@ -4336,132 +4821,107 @@ Image geometry in this file is not the same than the current project</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="109"/>
- <source>Starting ffmpeg...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="118"/>
- <source>Registered video codecs for encoding :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="120"/>
- <source>Registered audio codecs for encoding :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="122"/>
- <source>Registered container formats for encoding :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="124"/>
- <source> Device registered for rendering</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="126"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="117"/>
<source>Library :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="128"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="119"/>
<source>Loading background library...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="129"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="120"/>
<source> images loaded into the background-library from </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="130"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="121"/>
<source>Loading no-luma transitions...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="136"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="127"/>
<source> no-luma transitions loaded into the transition-library</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="137"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="128"/>
<source>Loading luma transitions...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="138"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="139"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="140"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="141"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="142"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="143"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="129"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="130"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="131"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="132"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="133"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="134"/>
<source> luma transitions loaded into the transition-library from </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="144"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="135"/>
<source> Total:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="144"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="135"/>
<source> transitions loaded into the transition-library</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="234"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="496"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="265"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="538"/>
<source>Slide : </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="357"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="388"/>
<source>Close application</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="357"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="388"/>
<source>Want to save the project before closing?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="432"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="463"/>
<source>A new ffDiaporama release is available from WEB site. Please update from http://ffdiaporama.tuxfamily.org !</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="534"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="582"/>
<source>Configuration not correct!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="858"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="907"/>
<source><html><body>Visit the ffDiaporama Web site to use the forum,<br>consult tutorials and learn the lastest news:<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html></source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1002"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1051"/>
<source>Saving configuration file and applying new configuration ...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1038"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1090"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1112"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1087"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1139"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1161"/>
<source>Current project has been modified.
Do you want to save-it ?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1431"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1481"/>
<source>This video files contains more than one chapter.
Do you want to create one slide for each chapters ?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="506"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="548"/>
<source><new project></source>
<comment>when project have no name define</comment>
<translation type="unfinished"></translation>
@@ -4472,89 +4932,101 @@ Do you want to create one slide for each chapters ?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="849"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="109"/>
+ <source>Starting libav...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="898"/>
<source><html><body>Select a project to open or to create a new project<br>To discover ffDiaporama:<br><a href="%1">Consult the WIKI</a></body></html></source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="852"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="901"/>
<source><html><body>Add empty slides or slides based on photos or videos<br>To discover how to build your slide show and to animate slides:<br><a href="%1">Discover the principles of functioning of ffDiaporama</a></body></html></source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="855"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="904"/>
<source><html><body>Select the equipment type that you plan to use for your video<br>To discover how to render videos:<br><a href="%1">Consult the rendering videos WIKI page</a></body></html></source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1038"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1087"/>
<source>New project</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1090"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1112"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1115"/>
<location filename="../src/ffDiaporama/mainwindow.cpp" line="1139"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1161"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1164"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1188"/>
<source>Open project</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1094"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1117"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1126"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1143"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1166"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1175"/>
<source>Open file :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1140"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1189"/>
<source>This project was created with a newer version of ffDiaporama.
If you continue, you take the risk of losing data!
Do you want to open it nevertheless?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1228"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1278"/>
<source>Save project as</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1308"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3221"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1358"/>
<source>Add files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="641"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1773"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1389"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="580"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1665"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1439"/>
<source>Format not supported</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1649"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
<source>Add a sub project</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1660"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1710"/>
<source>Add project file :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1740"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1745"/>
+ <source>Capture the image </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1837"/>
<source>Remove slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1837"/>
<source>Are you sure to want to delete this slide?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/cCustomTableWidget.cpp" line="80"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1348"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1628"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1398"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1678"/>
<source>Add file to project :</source>
<translation type="unfinished"></translation>
</message>
@@ -4583,29 +5055,59 @@ Do you want to open it nevertheless?</source>
<source>Applying sharpen filter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.cpp" line="156"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1751"/>
+ <source>Capture image</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.cpp" line="157"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1752"/>
+ <source>Select destination file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="64"/>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="116"/>
+ <source>Error during startup</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="65"/>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="117"/>
+ <source>Error during initialisation of sound system. Check your configuration and try again</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="531"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="562"/>
+ <source>ffDiaporama initialisation</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCustomFolderTree</name>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="99"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
<source>Kb</source>
<comment>Unit Kb</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
<source>Mb</source>
<comment>Unit Mb</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
<source>Gb</source>
<comment>Unit Gb</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="103"/>
<source>Tb</source>
<comment>Unit Tb</comment>
<translation type="unfinished"></translation>
@@ -4673,37 +5175,19 @@ Do you want to open it nevertheless?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1099"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1143"/>
- <source>Impossible to start exiv2 - no exif informations will be decode for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1104"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1148"/>
- <source>Error during exiv2 process - no exif informations will be decode for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1108"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1152"/>
- <source>exiv2 return error %1 - no exif informations will be decode for %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1647"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1627"/>
<source>Video</source>
<comment>File type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1646"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1626"/>
<source>Music</source>
<comment>File type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1491"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1479"/>
<source>Mono</source>
<comment>Audio channels mode</comment>
<translation type="unfinished"></translation>
@@ -4730,7 +5214,25 @@ Do you want to open it nevertheless?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1492"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1099"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1143"/>
+ <source>Impossible to start exiv2 - no exif information will be decode for %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1104"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1148"/>
+ <source>Error during exiv2 process - no exif information will be decode for %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1108"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1152"/>
+ <source>exiv2 return error %1 - no exif information will be decode for %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1480"/>
<source>Stereo</source>
<comment>Audio channels mode</comment>
<translation type="unfinished"></translation>
@@ -4742,7 +5244,7 @@ Do you want to open it nevertheless?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1430"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1480"/>
<source>Add video file</source>
<translation type="unfinished"></translation>
</message>
@@ -4750,98 +5252,98 @@ Do you want to open it nevertheless?</source>
<context>
<name>cDeviceModelList</name>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="504"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
<source>Advanced</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
<source>Smartphone</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
<source>Multimedia system</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
<source>For the WEB</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
<source>Lossless</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
<source>Portable Player</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
<source>Netbook/NetPC</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
<source>Handheld game console</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
<source>Tablet computer</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
<source>Multimedia hard drive and gateway</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
<source>Player</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
<source>ADSL Box</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
<source>Game console</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
<source>SWF Flash Player</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
<source>Video-sharing and social WebSite</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="521"/>
<source>HTML 5</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
@@ -4850,19 +5352,11 @@ Do you want to open it nevertheless?</source>
<context>
<name>wgt_QImageFilterTransform</name>
<message>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="558"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="608"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="630"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="651"/>
- <source>Gray</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="559"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="609"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="631"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="652"/>
- <source>Equalize</source>
+ <source>Gray</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -4870,7 +5364,7 @@ Do you want to open it nevertheless?</source>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="610"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="632"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="653"/>
- <source>Despeckle</source>
+ <source>Equalize</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -4878,6 +5372,14 @@ Do you want to open it nevertheless?</source>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="611"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="633"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="654"/>
+ <source>Despeckle</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="562"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="612"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="634"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="655"/>
<source>No transformation</source>
<translation type="unfinished"></translation>
</message>
@@ -4890,5 +5392,11 @@ Do you want to open it nevertheless?</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/wgt_QVideoPlayer.ui" line="361"/>
+ <source>Save this image of the movie</source>
+ <extracomment>Tooltip in dialog box</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
diff --git a/locale/ffDiaporama_pt.ts b/locale/ffDiaporama_pt.ts
index 3409d90..c3ebf93 100755
--- a/locale/ffDiaporama_pt.ts
+++ b/locale/ffDiaporama_pt.ts
@@ -29,11 +29,6 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgAbout.ui" line="258"/>
- <source>This application was developped using Open Source version of Qt 4.7 SDK</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="268"/>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="318"/>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="349"/>
@@ -45,8 +40,13 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../src/ffDiaporama/DlgAbout.ui" line="258"/>
+ <source>This application was developed using Open Source version of Qt 4.8 SDK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="305"/>
- <source>Video decoding and encoding engines are based on ffmpeg</source>
+ <source>Video decoding and encoding engines are based on libav</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -86,7 +86,7 @@
</message>
<message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="665"/>
- <source>System informations</source>
+ <source>System information</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -98,467 +98,467 @@
<context>
<name>DlgApplicationSettings</name>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="32"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="32"/>
<source>Application settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2865"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2865"/>
<source>Project options (default values)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="574"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="574"/>
<source>Project geometry:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="639"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="639"/>
<source>1st shot duration:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="692"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="692"/>
<source>Next shot duration:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="745"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="745"/>
<source>Speed wave:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="54"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="54"/>
<source>Application Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="90"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="90"/>
<source>If this box is checked, the sizes and the positions of all the windows and dialogue box of ffDiaporama will be saved to be reused the next time which you will use ffDiaporama.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="93"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="93"/>
<source>Remember Windows size and positions</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="100"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="100"/>
<source>If this box is checked, the directories that you use for the images, the videos, the projects, the musics and the generations of movie will be saved to be reused the next time which you will use ffDiaporama.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="103"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="103"/>
<source>Remember last used folders</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="117"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="117"/>
<source>Application options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="143"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="143"/>
<source>Preview options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="153"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="153"/>
<source>Frame rate :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="171"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="171"/>
<source>Defined the number of images by seconds which will be generated to show the preview.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="209"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="209"/>
<source>fps (Reduce this value for slow computer)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="218"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="218"/>
<source>Image transformation :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="228"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="228"/>
<source>If this box is checked, The effects of transformations will be applied to the images of videos during the preview.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="231"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="231"/>
<source>Apply to video during preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="257"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="257"/>
<source>Editor options (when adding objects)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="267"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="267"/>
<source>Object position :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="280"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="280"/>
<source>Define the position which occupy the new objects in the timeline during the insertions</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="284"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="284"/>
<source>Insert after current object</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="289"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="289"/>
<source>Append at project end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="297"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="297"/>
<source>Multiple file insertion :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="307"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="307"/>
<source>Adjust the way will be sorted out files when you select several files in Add file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="310"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="310"/>
<source>Sort file by last number</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="822"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="822"/>
<source>Defined the transition to be inserted between slides during the insertions:
Chosen randomly a transition in the library</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="833"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="857"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="881"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="833"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="857"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="881"/>
<source>TransitionButtons</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="846"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="846"/>
<source>Defined the transition to be inserted between slides during the insertions:
No transition</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="870"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="870"/>
<source>Defined the transition to be inserted between slides during the insertions:
Crossfade transition</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="906"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="906"/>
<source>Define the transition duration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="670"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="723"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="953"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="670"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="723"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="953"/>
<source>sec</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="330"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="330"/>
<source>If this box is checked, a confirmation will display every time you remove an object</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="333"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="333"/>
<source>Ask user confirmation to remove slide, object or shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="340"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="340"/>
<source>Object deletion :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="350"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="350"/>
<source>Coordinates unit :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="360"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="360"/>
<source>Select the unit of the coordinates which will be used in properties dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="364"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="364"/>
<source>Percent</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="369"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="369"/>
<source>Pixel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="377"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="377"/>
<source>Enable "raster" Graphics System (Need application restart)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="503"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="503"/>
<source>Automatically crop 1920x1088 video to 1920x1080</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="418"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="418"/>
<source>SDL Audio use old mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="438"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="438"/>
<source>256 Mb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="443"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="443"/>
<source>512 Mb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="448"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="448"/>
<source>1 Gb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="453"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="453"/>
<source>2 Gb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="427"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="427"/>
<source>Memory profil :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="384"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="384"/>
<source>Image smoothing :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="394"/>
<source>Smooth image during preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="401"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="401"/>
<source>Use quick resampler during preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="408"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="408"/>
<source>Audio resampling :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="476"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="476"/>
<source>Transformed image :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="486"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="486"/>
<source>Create cache file (with _ffd suffix) for transformed images</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="493"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="493"/>
<source>Video :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="515"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="515"/>
<source>Project Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="564"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="564"/>
<source>Project properties (default values)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="592"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="592"/>
<source>Select the geometry of image to be used for the creation of the projects.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="599"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="599"/>
<source>Old TV (4:3)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="604"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="604"/>
<source>TV Wide (16:9)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="609"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="609"/>
<source>Cinema (2.35:1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="617"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="617"/>
<source>(Only for new project)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="657"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="657"/>
<source>Defined the default duration of the first shot of slides during their creation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="710"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="710"/>
<source>Defined the default duration of next shots.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="763"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="763"/>
<source>Defined the curve of speed to be used for the transitions and the animations.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="770"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="770"/>
<source>Linear</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="775"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="775"/>
<source>Quarter sine</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="798"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="798"/>
<source>Default transition:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="994"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="994"/>
<source>Default options for new text block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1010"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1010"/>
<source>Text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1026"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1026"/>
<source>Background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1061"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1061"/>
<source>Default options for new image or video block (when adding block in slide dialog)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1079"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1223"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1441"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1502"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1563"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1624"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1685"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1814"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1875"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1936"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2233"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2294"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2355"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2416"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2477"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2538"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2599"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2660"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2721"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1079"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1223"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1441"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1502"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1563"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1624"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1685"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1814"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1875"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1936"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2233"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2294"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2355"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2416"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2477"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2538"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2599"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2660"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2721"/>
<source>For 4:3 project:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1096"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1230"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1448"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1509"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1570"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1631"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1692"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1821"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1882"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1943"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2240"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2301"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2362"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2423"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2484"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2545"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2606"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2667"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2728"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1096"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1230"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1448"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1509"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1570"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1631"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1692"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1821"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1882"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1943"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2240"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2301"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2362"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2423"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2484"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2545"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2606"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2667"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2728"/>
<source>For 16:9 project:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1103"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1237"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1455"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1516"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1577"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1638"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1699"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1828"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1889"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1950"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2247"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2308"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2369"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2430"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2491"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2552"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2613"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2674"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2735"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1103"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1237"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1455"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1516"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1577"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1638"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1699"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1828"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1889"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1950"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2247"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2308"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2369"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2430"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2491"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2552"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2613"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2674"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2735"/>
<source>For cinema project:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1138"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1138"/>
<source>Coordinates</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1167"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1167"/>
<source>Default options for new image or video block (when creating slide)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1183"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2810"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1183"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2810"/>
<source>Text style</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1202"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1282"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2829"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1202"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1282"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2829"/>
<source>Shape</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1301"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2025"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1301"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2025"/>
<source>Coordinates
for 3:2
image in
@@ -567,8 +567,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1324"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2048"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1324"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2048"/>
<source>Coordinates
for 3:2
image in
@@ -577,8 +577,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1347"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2071"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1347"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2071"/>
<source>Coordinates
for 4:3
image in
@@ -587,8 +587,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1370"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2094"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1370"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2094"/>
<source>Coordinates
for 4:3
image in
@@ -597,8 +597,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1393"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2117"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1393"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2117"/>
<source>Coordinates
for 16:9
image in
@@ -607,8 +607,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1416"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2140"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1416"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2140"/>
<source>Coordinates
for 16:9
image in
@@ -617,8 +617,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1744"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2163"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1744"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2163"/>
<source>Coordinates
for cinema
image in
@@ -627,8 +627,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1767"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2186"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1767"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2186"/>
<source>Coordinates
for cinema
image in
@@ -637,8 +637,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1790"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2209"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1790"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2209"/>
<source>Coordinates
for
nonstandard
@@ -646,283 +646,283 @@ image</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2842"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2842"/>
<source>Title :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2875"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2875"/>
<source>Author :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2893"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2893"/>
<source>No automatic filling</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2898"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2898"/>
<source>Fill with project name when project save (if not yet defined)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2903"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2903"/>
<source>Fill with project folder name when project save (if not yet defined)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2911"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2911"/>
<source>Default language :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2944"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2944"/>
<source>und</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2954"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2954"/>
<source>(ISO 639 language code)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2968"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2968"/>
<source>Rendering Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3036"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3036"/>
<source>Default advanced rendering options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3263"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3263"/>
<source>Video standard :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3386"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3386"/>
<source>Use title project as video name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3407"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3407"/>
<source>Lossless :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3464"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3464"/>
<source>Manage Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3043"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3043"/>
<source>Video codec :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3056"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3056"/>
<source>File format :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3322"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3322"/>
<source>Format :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3341"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3423"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3341"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3423"/>
<source>Select the default image format to use for the rendering among the proposed list. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3284"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3284"/>
<source>Select the default video standard to use, PAL or NTSC.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3288"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3288"/>
<source>PAL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3293"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3293"/>
<source>NTSC</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3075"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3146"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3075"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3146"/>
<source>Bit rate :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3100"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3100"/>
<source>Select the default bit rate to use for video during the rendering among the proposed list. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3113"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3113"/>
<source>Select the default video codec to use for the rendering among the proposed list. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3120"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3120"/>
<source>Select the default audio codec to use for the rendering among the proposed list. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3127"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3127"/>
<source>Audio codec :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3171"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3171"/>
<source>Select the default bit rate to use for audio during the rendering among the proposed list. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3368"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3368"/>
<source>Default device mode rendering options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3178"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3178"/>
<source>Smartphone :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3188"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3188"/>
<source>Multimedia system :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3198"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3198"/>
<source>For the WEB :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3208"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3208"/>
<source>Select the type of equipment which will be proposed by default when you will click the "Player and Smartphone" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3215"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3215"/>
<source>Select the type of equipment which will be proposed by default when you will click the "For the WEB" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3222"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3222"/>
<source>Select the type of equipment which will be proposed by default when you will click the "Multimedia system" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3256"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3256"/>
<source>Select the default file type to use for the rendering among the proposed list.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3229"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3229"/>
<source>Select the model of equipment which will be proposed by default when you will click the "Player and Smartphone" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3236"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3236"/>
<source>Select the model of equipment which will be proposed by default when you will click the "Multimedia system" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3243"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3243"/>
<source>Select the model of equipment which will be proposed by default when you will click the "For the WEB" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3351"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3351"/>
<source>Default video name :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3381"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3381"/>
<source>Use project name as video name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3376"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3376"/>
<source>Use project folder's name as video name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3453"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3453"/>
<source>Check Configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3488"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3488"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3491"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3491"/>
<source>&Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3502"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3502"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3505"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3505"/>
<source>&Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3516"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3516"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3519"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3519"/>
<source>&Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3526"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3526"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="173"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="180"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="176"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="183"/>
<source>Lock to image geometry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="174"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="181"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="177"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="184"/>
<source>Lock to project geometry-to full image</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="175"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="182"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="178"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="185"/>
<source>Lock to project geometry-to width</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="176"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="183"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="179"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="186"/>
<source>Lock to project geometry-to height</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="361"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="364"/>
<source>Language selection</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="362"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="365"/>
<source>Language must be empty or an ISO 639 language code (3 characters)
See help for more details!</source>
<translation type="unfinished"></translation>
@@ -931,77 +931,92 @@ See help for more details!</source>
<context>
<name>DlgBackgroundProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="26"/>
<source>Background properties</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="44"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="44"/>
<source>Same background as precedent object</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="57"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="57"/>
<source>Select a new background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="261"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="261"/>
<source>Keep aspect ratio</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="224"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="224"/>
<source>Full filling (deform image)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="655"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="655"/>
<source>&Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="666"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="691"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="694"/>
+ <source>Undo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="701"/>
+ <source>Ctrl+Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="708"/>
<source>&Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="677"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="719"/>
<source>&Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="684"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="726"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="47"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="73"/>
<source>Solid brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="49"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="75"/>
<source>Gradient 2 colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="51"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="77"/>
<source>Gradient 3 colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="53"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="79"/>
<source>Image from library</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="55"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="81"/>
<source>Image from disk</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="305"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="310"/>
<source>Select a file</source>
<translation type="unfinished"></translation>
</message>
@@ -1044,124 +1059,124 @@ See help for more details!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="63"/>
- <source>ffmpeg not found - critical - application will stop !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="165"/>
- <source>ffmpeg Audio Codecs</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="179"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="177"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="181"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="186"/>
<source>available</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="60"/>
- <source>Unable to determine ffmpeg version</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="67"/>
+ <source>Unable to determine %1 version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="70"/>
+ <source>%1 not found - critical - application will stop !</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="103"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="110"/>
<source>LibExiv2 version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="105"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="112"/>
<source>LibExiv2/Exiv2 binary version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="177"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="181"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="187"/>
<source>not available</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<source>LibExiv2 support for preview image</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="119"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
<source>TAGLib version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<source>TAGLib support for FLAC</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
<source>TAGLib support for ASF/WMA</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<source>TAGLib support for M4A/MP4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="149"/>
- <source>ffmpeg version:</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="156"/>
+ <source>encoder version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="150"/>
- <source>LIBAVCODEC version:</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
+ <source>LIBAV support for TAG and CHAPTERS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="151"/>
- <source>LIBAVFORMAT version:</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="172"/>
+ <source>libav Audio Codecs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="152"/>
- <source>LIBSWSCALE version:</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="176"/>
+ <source>libav Video Codecs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <source>ffmpeg support for TAG and CHAPTERS</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <source>libav Container Formats</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="169"/>
- <source>ffmpeg Video Codecs</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="157"/>
+ <source>LIBAVCODEC version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
- <source>ffmpeg Container Formats</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="158"/>
+ <source>LIBAVFORMAT version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="178"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <source>LIBSWSCALE version:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="185"/>
<source>Lossless</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="179"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="186"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="187"/>
<source>Lossless rendering</source>
<translation type="unfinished"></translation>
</message>
@@ -1169,298 +1184,328 @@ See help for more details!</source>
<context>
<name>DlgImageCorrection</name>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="26"/>
<source>Image framing and correction</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="107"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="110"/>
<source>Properties for this shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="158"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="161"/>
<source>Define the horizontal position from the left (X).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="223"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="226"/>
<source>Define the vertical position from the top of the image ( Y ).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1345"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1348"/>
<source>Properties for all shots</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1735"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1423"/>
+ <source>Select another file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1738"/>
<source>Define automatically the framing to the width of the image.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1755"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1758"/>
<source>Define automatically the framing to the height of the image.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1787"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1790"/>
<source>Define automatically the framing to the diagonal of the image.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="244"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1843"/>
+ <source>Enable or disable rulers corresponding to the margins of television sets.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1846"/>
+ <source>Rullers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1915"/>
+ <source>Undo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1922"/>
+ <source>Ctrl+Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="247"/>
<source>Define the width</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="314"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="317"/>
<source>Define the height</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1601"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1604"/>
<source>Turn the image to the left (on the multiple fellow man of 90°).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1638"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1641"/>
<source>Define the rotation angle for z axis.</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1669"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1672"/>
<source>Turn the image to the right (on the multiple fellow man of 90°).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="398"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="431"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="401"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="434"/>
<source>Adjust luminosity</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="512"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="545"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="515"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="548"/>
<source>Adjust contrast</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="613"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="649"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="616"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="652"/>
<source>Adjust gamma</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="726"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="759"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="729"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="762"/>
<source>Adjust red chanel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="833"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="866"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="836"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="869"/>
<source>Adjust green chanel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="940"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="973"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="943"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="976"/>
<source>Adjust blue chanel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="447"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="561"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="668"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="775"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="882"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="989"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1169"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="450"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="564"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="671"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="778"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="885"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="992"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1172"/>
<source>Reset to zero</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1028"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1031"/>
<source>Apply a filter to the photo or the images of the video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1107"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1238"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1283"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1110"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1241"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1286"/>
<source>Define a blur/sharpen filter to the photo</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1305"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1308"/>
<source>Reset to 5</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1398"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1401"/>
<source>Name of image/video file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1420"/>
- <source>Select an other file</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1473"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1476"/>
<source>Framing :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1504"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1507"/>
<source>Image correction :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1834"/>
- <source>Show/Hide rullers</source>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1912"/>
+ <source>Undo last action (CTRL+Z)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1867"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1870"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1870"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1873"/>
<source>&Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1881"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1929"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1884"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1932"/>
<source>&Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1895"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1943"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1898"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1946"/>
<source>&Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1905"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1953"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="65"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="521"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="524"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="101"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="747"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="750"/>
<source>Unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="66"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="525"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="102"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="751"/>
<source>Lock to this geometry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="67"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="526"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="103"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="752"/>
<source>Lock to project geometry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="68"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="104"/>
<source>Lock to image geometry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="379"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="343"/>
<source>Creating cached filtered file ...</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="515"/>
+ <source>No style for nonstandard geometry image</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="564"/>
+ <source>Select a file</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DlgInfoFile</name>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="25"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="26"/>
<source>File information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="93"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="94"/>
<source>File name :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="100"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="101"/>
<source>File type :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="133"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="134"/>
<source>File size :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="153"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="154"/>
<source>File created :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="167"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="168"/>
<source>File modify :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="219"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="220"/>
<source>Video track information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="323"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="324"/>
<source>Chapter information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="288"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="289"/>
<source>Audio track information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="379"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="380"/>
<source>Additional information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="418"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="419"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="421"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="422"/>
<source>&Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="432"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="433"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="435"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="436"/>
<source>&Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="442"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="443"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
@@ -1975,30 +2020,30 @@ Please select another name!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="563"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="771"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="377"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="398"/>
<source>Adjust to image width</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="564"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="772"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="378"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="399"/>
<source>Adjust to image height</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="565"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="773"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="379"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="400"/>
<source>Adjust to full image</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="544"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="546"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="566"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="774"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="785"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="787"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="380"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="401"/>
<source>Custom</source>
@@ -2008,173 +2053,173 @@ Please select another name!</source>
<context>
<name>DlgMusicProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="26"/>
<source>Music properties</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="38"/>
- <source>Allows to continue to play the play list define by a previous slide</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="41"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="41"/>
<source>Continue current playlist (defined in a previous slide)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="44"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="201"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="44"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="201"/>
<source>buttonGroup</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="68"/>
- <source>Allows to indicate that from now on, the sound volume is reduced.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="71"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="71"/>
<source>Change volume level to :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="74"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="173"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="186"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="74"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="173"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="186"/>
<source>buttonGroup_2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="99"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="99"/>
<source>Define the sound volume for this slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="167"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="167"/>
<source>Set music to pause during this slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="170"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="170"/>
<source>Set to pause</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="180"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="180"/>
<source>No specific settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="183"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="183"/>
<source>Normal</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="195"/>
- <source>Allows to start a new playlist.</source>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="38"/>
+ <source>Allows one to continue to play the play list define by a previous slide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="68"/>
+ <source>Allows one to indicate that from now on, the sound volume is reduced.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="195"/>
+ <source>Allows one to start a new playlist.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="198"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="198"/>
<source>Start a new playlist from this slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="216"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="216"/>
<source>Add a file to the playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="230"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="230"/>
<source>Remove the current selected file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="244"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="244"/>
<source>Change the order in which will be played the music files:
Move the current selected file of a notch upward.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="259"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="259"/>
<source>Change the order in which will be played the music files:
Move the current selected file of a notch downward.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="274"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="274"/>
<source>Total playlist duration : </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="324"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="324"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="334"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="334"/>
<source>Duration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="344"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="344"/>
<source>Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="354"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="354"/>
<source>Source folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="392"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="392"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="395"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="395"/>
<source>&Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="406"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="406"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="409"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="409"/>
<source>&Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="420"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="420"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="423"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="423"/>
<source>&Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="430"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="430"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="235"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="217"/>
<source>Add music files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="268"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="250"/>
<source>Error</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="269"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="251"/>
<source>Format not supported</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
@@ -2472,872 +2517,1281 @@ Move the current selected file of a notch downward.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="324"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="325"/>
<source>Select destination file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="584"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="658"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="585"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="863"/>
<source>Stop rendering</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="665"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="875"/>
<source>Range selection</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="666"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="876"/>
<source>Slide range is defined to incorrect values</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="674"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="884"/>
<source>Language selection</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="675"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="885"/>
<source>Language must be empty or an ISO 639 language code (3 characters)
See help for more details!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="682"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="892"/>
<source>Overwrite file ?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="683"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="893"/>
<source>The file you selected already exist.
Do you want to overwrite it ?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="701"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="713"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="910"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="941"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1186"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1241"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1250"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1261"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1276"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1291"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1316"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1336"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1345"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1357"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1506"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1510"/>
- <source>Render video</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1073"/>
+ <source>Start avconv encoder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="739"/>
- <source>Device model selection</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1110"/>
+ <source>Error starting avconv</source>
+ <comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="740"/>
- <source>A device model is require!</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1193"/>
+ <source>avconv error</source>
+ <comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="823"/>
- <source>Encoding sound</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1230"/>
+ <source>Error during avconv process</source>
+ <comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1010"/>
- <source>Start ffmpeg encoder</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1234"/>
+ <source>Error exiting avconv</source>
+ <comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1061"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1126"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1133"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1170"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1174"/>
- <source>Error</source>
- <comment>Error message</comment>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="668"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="753"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="907"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="919"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1246"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1301"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1310"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1327"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1342"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1363"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1379"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1388"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1395"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1488"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1540"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1544"/>
+ <source>Render video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1062"/>
- <source>Error starting ffmpeg</source>
- <comment>Error message</comment>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="946"/>
+ <source>Device model selection</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1096"/>
- <source> - Estimated time left : </source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="947"/>
+ <source>A device model is require!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1126"/>
- <source>Error sending image to ffmpeg</source>
- <comment>Error message</comment>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1031"/>
+ <source>Encoding sound</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1133"/>
- <source>ffmpeg error</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1109"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1184"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1193"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1230"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1234"/>
+ <source>Error</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1155"/>
- <source>Closing encoder</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1144"/>
+ <source> - Estimated time left : </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1170"/>
- <source>Error during ffmpeg process</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1184"/>
+ <source>Error sending image to ffmpeg</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1174"/>
- <source>Error exiting ffmpeg</source>
- <comment>Error message</comment>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1215"/>
+ <source>Closing encoder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1186"/>
- <source>Job completed succesfully!</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1246"/>
+ <source>Job completed successfully!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>DlgSlideProperties</name>
+ <name>DlgRulerDef</name>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="29"/>
- <source>Slide properties</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="20"/>
+ <source>Ruler properties</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="139"/>
- <source>Append a shot to end of the timeline</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="76"/>
+ <source>Horizontal rulers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="142"/>
- <source>Add shot</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="97"/>
+ <source>Vertical rulers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="180"/>
- <source>Remove current selected shot</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="110"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="123"/>
+ <source>screen borders</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="183"/>
- <source>Remove</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="136"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="149"/>
+ <source>TV margins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="221"/>
- <source>Change the order of the shot by moving the current selected shot, of a notch towards the left</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="162"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="175"/>
+ <source>Screen center</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="224"/>
- <source>Move left</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="195"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="202"/>
+ <source>Unselected objects</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="256"/>
- <source>Change the order of the shot by moving the current selected shot, of a notch towards the right</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="241"/>
+ <source>Accept modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="259"/>
- <source>Move right</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="244"/>
+ <source>&Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="394"/>
- <source>Indicate the duration for the current selected shot.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="255"/>
+ <source>Cancel modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="417"/>
- <source>HH:mm:ss.zzz</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="258"/>
+ <source>&Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="444"/>
- <source>Shot duration :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="269"/>
+ <source>Open help page describing this dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="466"/>
- <source>Total slide duration :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="272"/>
+ <source>&Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="504"/>
- <source>Slide name :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="279"/>
+ <source>F1</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>DlgSlideProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="532"/>
- <source>Indicate a name for the slide. It is this name which will appear on the thumbnail in the main window timeline.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="29"/>
+ <source>Slide properties</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="986"/>
- <source>Change the order of blocks by moving the active block upward (towards the background)</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="116"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3544"/>
+ <source>Append a shot to end of the timeline</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1002"/>
- <source>PgUp</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3529"/>
+ <source>Add file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1030"/>
- <source>Change the order of blocks by moving the active block downward (towards the foreground)</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3541"/>
+ <source>Add shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1046"/>
- <source>PgDown</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="164"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3556"/>
+ <source>Remove current selected shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="744"/>
- <source>Add a new title block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3415"/>
+ <source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="539"/>
- <source>Start a new chapter from here</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3568"/>
+ <source>Change the order of the shot by moving the current selected shot, of a notch towards the left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="546"/>
- <source>Chapter :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3565"/>
+ <source>Move left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="754"/>
- <source>Ctrl+Ins</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3580"/>
+ <source>Change the order of the shot by moving the current selected shot, of a notch towards the right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="782"/>
- <source>Add a new block of type image or video.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3577"/>
+ <source>Move right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="792"/>
- <source>Ins</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="687"/>
+ <source>Indicate the duration for the current selected shot.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="941"/>
- <source>Remove the current block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="710"/>
+ <source>HH:mm:ss.zzz</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="951"/>
- <source>Del</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="660"/>
+ <source>Shot duration :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="827"/>
- <source>Copy the current block to the ffDiaporama clipboard.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="501"/>
+ <source>Indicate a name for the slide. It is this name which will appear on the thumbnail in the main window timeline.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="837"/>
- <source>Ctrl+C</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="213"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3520"/>
+ <source>Add a new text block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="865"/>
- <source>Copy the current block to the ffDiaporama clipboard and remove it from the slide</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3238"/>
+ <source>Undo</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="875"/>
- <source>Ctrl+X</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="216"/>
+ <source>Add
+text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="903"/>
- <source>Paste block from the ffDiaporama clipboard and insert it.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="261"/>
+ <source>Add
+file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="913"/>
- <source>Ctrl+V</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="313"/>
+ <source>Edit
+block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1074"/>
- <source>Make visible or hidden the active block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="352"/>
+ <source>Arrange blocks</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1109"/>
- <source>Give the sound, during this shot, to the current video block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="355"/>
+ <source>Arrange
+block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1151"/>
- <source>Define the properties of the text block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="397"/>
+ <source>Block
+information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1161"/>
- <source>F5</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2199"/>
+ <source>Text animation :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1189"/>
- <source>Define framing and do correction of image or movie</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2209"/>
+ <source>Zoom :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1199"/>
- <source>F6</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2245"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2287"/>
+ <source>Define a zoom value for the text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1227"/>
- <source>Cut the video</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2309"/>
+ <source>Reset to 100%</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1237"/>
- <source>F7</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2351"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2393"/>
+ <source>Scroll text from left to right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2310"/>
- <source>Border :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2457"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2499"/>
+ <source>Scroll text from bottom to up</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2225"/>
- <source>Shape :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2551"/>
+ <source>Block animation :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2253"/>
- <source>Select a shape for current block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2587"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2632"/>
+ <source>Define the number of turn to be made around the Z axis during this shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2275"/>
- <source>Opacity :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2693"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2738"/>
+ <source>Define the number of turn to be made around the X axis during this shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2303"/>
- <source>Defined the opaqueness of the block.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2799"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2844"/>
+ <source>Define the number of turn to be made around the Y axis during this shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2345"/>
- <source>Defined the thickness of the border</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3065"/>
+ <source>Type :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2373"/>
- <source>Defined the color of the line to be used to draw the border</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3078"/>
+ <source>Dissolve :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2404"/>
- <source>Defined the type of line (solid, dotted line, etc.)</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3097"/>
+ <source>Block coordinates :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2064"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2103"/>
- <source>Define rotation according to the X axis (defined in degree).</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="508"/>
+ <source>Start a new chapter from this slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1950"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1989"/>
- <source>Define rotation according to the Y axis (defined in degree).</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="531"/>
+ <source>Total duration :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1833"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1872"/>
- <source>Define rotation according to the Z axis (defined in degree).</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3144"/>
+ <source>Rullers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2517"/>
- <source>Defined the distance between the block and its shadow</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3289"/>
+ <source>Edit text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2545"/>
- <source>Defined the color of the shadow</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3301"/>
+ <source>Do image correct or reframming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1682"/>
- <source>Define width of current block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3337"/>
+ <source>Move to foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1755"/>
- <source>Define height of current block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3589"/>
+ <source>Lock properties</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1526"/>
- <source>Define X position of current block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3592"/>
+ <source>Lock properties to the same values as define for the previous shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1599"/>
- <source>Define Y position of current block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3601"/>
+ <source>Unlock properties from this shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2479"/>
- <source>Defined in which corner the shadow will be positioned (or no shadow)</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3604"/>
+ <source>Define properties from this shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2457"/>
- <source>Shadow :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3613"/>
+ <source>Hide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2135"/>
- <source>Block shape :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3616"/>
+ <source>Make hide the active block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1339"/>
- <source>Coordinates :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3352"/>
+ <source>Make visible the active block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2645"/>
- <source>Propertie</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="473"/>
+ <source>Slide :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2655"/>
- <source>Value</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="511"/>
+ <source>Start chapter from here</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2696"/>
- <source>Enable or disable rulers corresponding to the margins of television sets.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3361"/>
+ <source>Take the sound</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2699"/>
- <source>TV margins</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3373"/>
+ <source>Display information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2726"/>
- <source>Accept modification and go to previous slide</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3418"/>
+ <source>Remove current block(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2729"/>
- <source>Previous</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3445"/>
+ <source>Align top</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2740"/>
- <source>Accept modification and exit dialog box</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3448"/>
+ <source>Align blocks to the top</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2743"/>
- <source>&Ok</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3457"/>
+ <source>Align middle</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2754"/>
- <source>Accept modification and go to next slide</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3460"/>
+ <source>Align blocks to the middle</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2757"/>
- <source>Next</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3469"/>
+ <source>Align bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2793"/>
- <source>Cancel modification and exit dialog box</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3472"/>
+ <source>Align blocks to the bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2796"/>
- <source>&Cancel</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3481"/>
+ <source>Align left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2807"/>
- <source>Open help page describing this dialog box</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3484"/>
+ <source>Align blocks to the left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2810"/>
- <source>&Help</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3493"/>
+ <source>Align center</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2817"/>
- <source>F1</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3496"/>
+ <source>Align blocks to the center</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="101"/>
- <source>Slide</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3505"/>
+ <source>Align right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="146"/>
- <source>None</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3508"/>
+ <source>Align blocks to the right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="147"/>
- <source>Shadow upper left</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3517"/>
+ <source>Add text block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="148"/>
- <source>Shadow upper right</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1845"/>
+ <source>Remove block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="149"/>
- <source>Shadow bottom left</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="230"/>
+ <source>Ctrl+Ins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="150"/>
- <source>Shadow bottom right</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="258"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3532"/>
+ <source>Add a new block of type image or video.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="626"/>
- <source>Lengthened to %1 sec</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="275"/>
+ <source>Ins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1039"/>
- <source>Object type</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3421"/>
+ <source>Del</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1040"/>
- <source>Title</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3388"/>
+ <source>Copy the current block to the ffDiaporama clipboard.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1041"/>
- <source>Image</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3325"/>
+ <source>Move to background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1042"/>
- <source>Video</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3328"/>
+ <source>Change the order of blocks by moving the active block towards the background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1046"/>
- <source>Filename</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3340"/>
+ <source>Change the order of blocks by moving the active block towards the foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1056"/>
- <source>Image size</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3349"/>
+ <source>Visible</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="561"/>
- <source>No style for nonstandard geometry image</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3385"/>
+ <source>Copy block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="626"/>
- <source>Select a file</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3391"/>
+ <source>Ctrl+C</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1572"/>
- <source>Remove shot</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3400"/>
+ <source>Cut block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1572"/>
- <source>Are you sure to want to delete this shot?</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3403"/>
+ <source>Copy the current block to the ffDiaporama clipboard and remove it from the slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1715"/>
- <source>Text</source>
- <comment>Default text value</comment>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3406"/>
+ <source>Ctrl+X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1740"/>
- <source>Add files</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3430"/>
+ <source>Paste block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1957"/>
- <source>Remove bloc</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3433"/>
+ <source>Paste block from the ffDiaporama clipboard and insert it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1957"/>
- <source>Are you sure to want to delete this bloc?</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3436"/>
+ <source>Ctrl+V</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>DlgTextEdit</name>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="26"/>
- <source>Edit text</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3364"/>
+ <source>Give the sound, during this shot, to the current video block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="187"/>
- <source>Properties for all shots</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3292"/>
+ <source>Define the properties of the text block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="158"/>
- <source>Select font family</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3304"/>
+ <source>Define framing and do correction of image or movie</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="339"/>
- <source>Select font size</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3313"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3316"/>
+ <source>Cut the video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="364"/>
- <source>Select font color</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3376"/>
+ <source>Display detailled information on current block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1267"/>
- <source>Select font effect (outerline, shadow)</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1485"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1582"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1710"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2415"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2521"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2651"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2757"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2863"/>
+ <source>Reset to 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1298"/>
- <source>Select outerline/shadow color</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1915"/>
+ <source>Border :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="230"/>
- <source>Set text to Bold</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1830"/>
+ <source>Shape :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3235"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3245"/>
+ <source>Ctrl+Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="119"/>
+ <source>Add
+shot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="167"/>
+ <source>Remove
+shot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="310"/>
+ <source>Edit block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1858"/>
+ <source>Select a shape for current block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1880"/>
+ <source>Opacity :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1908"/>
+ <source>Defined the opaqueness of the block.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1950"/>
+ <source>Defined the thickness of the border</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1978"/>
+ <source>Defined the color of the line to be used to draw the border</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2009"/>
+ <source>Defined the type of line (solid, dotted line, etc.)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1655"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1694"/>
+ <source>Define rotation according to the X axis (defined in degree).</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1527"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1566"/>
+ <source>Define rotation according to the Y axis (defined in degree).</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1427"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1466"/>
+ <source>Define rotation according to the Z axis (defined in degree).</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2122"/>
+ <source>Defined the distance between the block and its shadow</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2150"/>
+ <source>Defined the color of the shadow</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1276"/>
+ <source>Define width of current block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1349"/>
+ <source>Define height of current block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1120"/>
+ <source>Define X position of current block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1193"/>
+ <source>Define Y position of current block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2084"/>
+ <source>Defined in which corner the shadow will be positioned (or no shadow)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2062"/>
+ <source>Shadow :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1740"/>
+ <source>Block shape :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3141"/>
+ <source>Enable or disable rulers corresponding to the margins of television sets.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3168"/>
+ <source>Accept modification and go to previous slide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3171"/>
+ <source>Previous</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3182"/>
+ <source>Accept modification and exit dialog box</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3185"/>
+ <source>&Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="262"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3196"/>
+ <source>Accept modification and go to next slide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3199"/>
+ <source>Next</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3252"/>
+ <source>Cancel modification and exit dialog box</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3255"/>
+ <source>&Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3266"/>
+ <source>Open help page describing this dialog box</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3269"/>
+ <source>&Help</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3276"/>
+ <source>F1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="156"/>
+ <source>Slide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="193"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="234"/>
+ <source>None</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="194"/>
+ <source>Shadow upper left</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="195"/>
+ <source>Shadow upper right</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="196"/>
+ <source>Shadow bottom left</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="197"/>
+ <source>Shadow bottom right</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="235"/>
+ <source>Multiple block turn</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="236"/>
+ <source>Dissolve</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="239"/>
+ <source>Appear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="240"/>
+ <source>Disappear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="241"/>
+ <source>Blink at slow speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="242"/>
+ <source>Blink at medium speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="243"/>
+ <source>Blink at fast speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="244"/>
+ <source>Blink at very fast speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1332"/>
+ <source>Lengthened to %1 sec</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1845"/>
+ <source>Are you sure to want to delete this block?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1848"/>
+ <source>Remove blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1848"/>
+ <source>Are you sure to want to delete these blocks?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3553"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1200"/>
+ <source>Remove shot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1200"/>
+ <source>Are you sure to want to delete this shot?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1564"/>
+ <source>Text</source>
+ <comment>Default text value</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1623"/>
+ <source>Add files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/cCustomBlockTable.cpp" line="136"/>
+ <source>Duration:</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>DlgTextEdit</name>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="26"/>
+ <source>Edit text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="109"/>
+ <source>Select font family</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="134"/>
+ <source>Select font size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="159"/>
+ <source>Select font color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="443"/>
+ <source>Select font effect (outerline, shadow)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="474"/>
+ <source>Select outerline/shadow color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="512"/>
+ <source>Set text to Bold</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="544"/>
<source>Set text to Italic</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="291"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="573"/>
<source>Set text to Underline</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="412"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="289"/>
<source>Align left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="447"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="356"/>
<source>Align center</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="479"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="324"/>
<source>Align justify</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="511"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="45"/>
+ <source>Text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="200"/>
+ <source>Bullet list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="235"/>
+ <source>Numbered list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="388"/>
<source>Align right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="556"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="602"/>
+ <source>Set text to superscript</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="631"/>
+ <source>Set text to subscript</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="679"/>
+ <source>Increase indent</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="708"/>
+ <source>decrease indent</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="756"/>
<source>Align top</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="588"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="788"/>
<source>Align in the middle</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="620"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="820"/>
<source>Align bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="682"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="870"/>
+ <source>Background</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="916"/>
+ <source>Background properties :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="967"/>
<source>Define the background brush type for the shape</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="734"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1019"/>
<source>Define the color (or first color for a gradient brush)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="759"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1063"/>
<source>Define the second gradient brush color </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="784"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1107"/>
<source>Define the third gradient brush color </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="843"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1166"/>
<source>Select the pattern</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="904"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1227"/>
<source>Define orientation of the gradient brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="948"/>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="987"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1258"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1297"/>
<source>Define position of the second color in the gradient brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1077"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1400"/>
<source>Select an image among that present in the library</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1215"/>
- <source>Texte style :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1456"/>
+ <source>Accept modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1123"/>
- <source>Block background style :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1459"/>
+ <source>&Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1357"/>
- <source>Accept modification and exit dialog box</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1495"/>
+ <source>Undo last action (CTRL+Z)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1360"/>
- <source>&Ok</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1498"/>
+ <source>Undo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1505"/>
+ <source>Ctrl+Z</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1371"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1512"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1374"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1515"/>
<source>&Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1385"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1526"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1388"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1529"/>
<source>&Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1395"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1536"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="74"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="118"/>
<source>No effect</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="75"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="119"/>
<source>Outerline</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="76"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="120"/>
<source>Shadow upper left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="77"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="121"/>
<source>Shadow upper right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="78"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="122"/>
<source>Shadow bottom left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="79"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="123"/>
<source>Shadow bottom right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="85"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="129"/>
<source>No brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="86"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="130"/>
<source>Solid brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="87"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="131"/>
<source>Pattern brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="88"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="132"/>
<source>Gradient 2 colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="89"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="133"/>
<source>Gradient 3 colors</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="90"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="134"/>
<source>Image from library</source>
<translation type="unfinished"></translation>
</message>
@@ -3468,108 +3922,123 @@ Do you want to overwrite it ?</source>
<context>
<name>DlgVideoEdit</name>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="26"/>
<source>Cut video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="52"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="52"/>
<source>Properties for all shots</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="110"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="110"/>
<source>Start :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="117"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="117"/>
<source>Move to start position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="131"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="131"/>
<source>Use current position as start position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="157"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="157"/>
<source>Define the start position to use for</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="179"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="179"/>
<source>End :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="201"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="201"/>
<source>Define the end position to use for</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="220"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="220"/>
<source>Use current position as end position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="234"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="234"/>
<source>Move to end position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="254"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="254"/>
<source>Duration :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="286"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="286"/>
<source>Volume :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="314"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="314"/>
<source>Define the " Master Volume " for the movie</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="355"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="355"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="358"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="358"/>
<source>&Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="369"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="394"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="397"/>
+ <source>Undo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="404"/>
+ <source>Ctrl+Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="411"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="372"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="414"/>
<source>&Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="383"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="425"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="386"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="428"/>
<source>&Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="393"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="435"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
@@ -3577,87 +4046,87 @@ Do you want to overwrite it ?</source>
<context>
<name>DlgffDPjrProperties</name>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="19"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="20"/>
<source>Project properties</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="33"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="34"/>
<source>Title :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="50"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="51"/>
<source>Author :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="60"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="61"/>
<source>Album :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="70"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="71"/>
<source>Year :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="120"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="121"/>
<source>Language :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="153"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="154"/>
<source>und</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="163"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="164"/>
<source>(ISO 639 language code)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="172"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="173"/>
<source>Comment :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="182"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="183"/>
<source>Chapters :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="222"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="223"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="225"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="226"/>
<source>&Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="236"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="237"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="239"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="240"/>
<source>&Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="250"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="251"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="253"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="254"/>
<source>&Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="260"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="261"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
@@ -3677,127 +4146,127 @@ Do you want to overwrite it ?</source>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="156"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1385"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1397"/>
<source>Create a new empty project (Ctrl+N)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="159"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1388"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1400"/>
<source>New
project</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="173"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1402"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1414"/>
<source>Ctrl+N</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="207"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1436"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1448"/>
<source>Open a previously saved project (Ctrl+O)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="210"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1439"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1451"/>
<source>Open
project</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="224"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1453"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1465"/>
<source>Ctrl+O</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="258"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1487"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1499"/>
<source>Open a recently used project file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="261"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1490"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1502"/>
<source>Open
recent</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="306"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1535"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1547"/>
<source>Save current project (Ctrl+S)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="309"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1538"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1550"/>
<source>Save
project</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="323"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1552"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1564"/>
<source>Ctrl+S</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="357"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1586"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1598"/>
<source>Save current project to a new project file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="360"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1589"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1601"/>
<source>Save
project as</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="400"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1629"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1641"/>
<source>Define project properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="403"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1632"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1644"/>
<source>Project
properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="442"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1671"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1683"/>
<source>Change application and project settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="445"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1674"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1686"/>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="483"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1712"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1724"/>
<source>Exit application (Ctrl+W)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="486"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1715"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1727"/>
<source>Exit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="499"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1728"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1740"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
@@ -3808,487 +4277,503 @@ properties</source>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="559"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1786"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1798"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3212"/>
<source>Add an empty slide</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="562"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1789"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1801"/>
<source>Add
title</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="607"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1834"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1846"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3224"/>
<source>Add image or video as slide (INS)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="610"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1837"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1849"/>
<source>Add
files</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="624"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1851"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1863"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3227"/>
<source>Ins</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="652"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1879"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1891"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3239"/>
<source>Add a previously saved project at the end of this project</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="655"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1882"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1894"/>
<source>Add
project</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="701"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1928"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1940"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3167"/>
<source>Copy current slide to clipboard and remove it (Ctrl+X)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="704"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1931"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1943"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3164"/>
<source>Cut</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="717"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1944"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1956"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3170"/>
<source>Ctrl+X</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="745"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1972"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1984"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3182"/>
<source>Copy current slide to clipboard (Ctrl+C)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="748"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1975"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1987"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3179"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="761"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1988"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2000"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3185"/>
<source>Ctrl+C</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="789"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2016"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2028"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3197"/>
<source>Paste current slide from clipboard (Ctrl+V)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="792"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2019"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2031"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3194"/>
<source>Paste</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="805"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2032"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2044"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3200"/>
<source>Ctrl+V</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="846"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2073"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2085"/>
<source>Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="884"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2111"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2123"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3152"/>
<source>Remove current slide (DEL)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="887"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2114"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2126"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3149"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="900"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2127"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2139"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3155"/>
<source>Del</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="918"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="924"/>
<source>Render video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="954"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2185"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="960"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2197"/>
<source>Player and
smartphone</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="999"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2230"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1005"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2242"/>
<source>Multimedia
system</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1038"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2269"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1044"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2281"/>
<source>For the
WEB</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1077"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2308"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1083"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2320"/>
<source>Lossless</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1121"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2352"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1127"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2364"/>
<source>Render project as a video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1124"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2355"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1130"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2367"/>
<source>Advanced</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1152"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1164"/>
<source>Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1188"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2406"/>
- <source>Display informations about ffDiaporama</source>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1200"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2418"/>
+ <source>Display information about ffDiaporama</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1191"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2409"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1203"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2421"/>
<source>About</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1235"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2453"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1247"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2465"/>
<source>Call ffDiaporama WIKI</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1238"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2456"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1250"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2468"/>
<source>Support
and help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1252"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2470"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1264"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2482"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1286"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2504"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1298"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2516"/>
<source>Display blog/news page from internet WEB site</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1289"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2507"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1301"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2519"/>
<source>What's new</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2881"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2893"/>
<source>Slide : xx/xxx</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2922"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2934"/>
<source>Switch display to preview mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2939"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2951"/>
<source>...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2962"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2974"/>
<source>Switch display to sheet mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3002"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3014"/>
<source>Enlarge thumbnails</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3042"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3054"/>
<source>Reduce thumbnails</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3073"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3089"/>
<source>Edit background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3076"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3092"/>
<source>Edit the background image for the slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3079"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3095"/>
<source>F5</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3084"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3104"/>
<source>Edit slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3087"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3107"/>
<source>Edit the slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3090"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3110"/>
<source>F6</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3095"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3119"/>
<source>Edit music</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3098"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3122"/>
<source>Edit the slide musical playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3101"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3125"/>
<source>F7</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3106"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3134"/>
<source>Edit object transition</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3109"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3137"/>
<source>Edit entering transition for the slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3112"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3140"/>
<source>F8</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3117"/>
- <source>Edit background transition</source>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3209"/>
+ <source>Add title</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3120"/>
- <source>Edit the entering background transition for the slide</source>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3236"/>
+ <source>Add project</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="60"/>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="74"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="61"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="75"/>
<source>Search Raster mode in configuration file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="274"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="275"/>
<source>All suported file (</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="281"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="282"/>
<source>Image file (</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="287"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="288"/>
<source>Video file (</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="293"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="294"/>
<source>Music file (</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="461"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="387"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="464"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="388"/>
<source>Read configuration file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="649"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1815"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1409"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="588"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1707"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1459"/>
<source>This application support only audio track with unsigned 8 bits or signed 16 bits sample format</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="653"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1819"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1417"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="592"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1467"/>
<source>This application support only mono or stereo audio track</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="659"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1943"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1399"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1445"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1458"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1508"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1514"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1521"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1530"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1398"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1410"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1418"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1497"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="598"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1832"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1602"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1648"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1653"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1661"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1717"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1724"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1733"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1448"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1460"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1468"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1547"/>
<source>Error</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="463"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="397"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="466"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="398"/>
<source>Error reading configuration file</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="468"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="402"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="471"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="403"/>
<source>Error reading content of configuration file</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="475"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="409"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="478"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="410"/>
<source>The file is not a valid configuration file</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="642"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="456"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="645"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="457"/>
<source>Error creating configuration file</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="857"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1052"/>
<source>Title</source>
<comment>Default slide name when no file</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1202"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1239"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1252"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1289"/>
<source>Saving project file ...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1399"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1400"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1602"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1603"/>
<source>Error creating data file</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1421"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1624"/>
<source>Open project file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1422"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1625"/>
<source>Impossible to open file </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1422"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1625"/>
<source>Do you want to select another file ?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1425"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1628"/>
<source>Select another file for </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1434"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1637"/>
<source>Impossible to open project file %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1444"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1508"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1509"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1647"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1712"/>
<source>Error reading project file</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1451"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1514"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1515"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1653"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1654"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1717"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1718"/>
<source>Error reading content of project file</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1458"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1459"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1521"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1522"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1661"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1662"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1724"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1725"/>
<source>The file is not a valid project file</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1530"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1531"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1733"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1734"/>
<source>Impossible to import this file :
Image geometry in this file is not the same than the current project</source>
<comment>Error message</comment>
@@ -4336,132 +4821,107 @@ Image geometry in this file is not the same than the current project</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="109"/>
- <source>Starting ffmpeg...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="118"/>
- <source>Registered video codecs for encoding :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="120"/>
- <source>Registered audio codecs for encoding :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="122"/>
- <source>Registered container formats for encoding :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="124"/>
- <source> Device registered for rendering</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="126"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="117"/>
<source>Library :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="128"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="119"/>
<source>Loading background library...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="129"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="120"/>
<source> images loaded into the background-library from </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="130"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="121"/>
<source>Loading no-luma transitions...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="136"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="127"/>
<source> no-luma transitions loaded into the transition-library</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="137"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="128"/>
<source>Loading luma transitions...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="138"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="139"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="140"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="141"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="142"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="143"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="129"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="130"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="131"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="132"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="133"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="134"/>
<source> luma transitions loaded into the transition-library from </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="144"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="135"/>
<source> Total:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="144"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="135"/>
<source> transitions loaded into the transition-library</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="234"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="496"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="265"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="538"/>
<source>Slide : </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="357"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="388"/>
<source>Close application</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="357"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="388"/>
<source>Want to save the project before closing?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="432"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="463"/>
<source>A new ffDiaporama release is available from WEB site. Please update from http://ffdiaporama.tuxfamily.org !</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="534"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="582"/>
<source>Configuration not correct!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="858"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="907"/>
<source><html><body>Visit the ffDiaporama Web site to use the forum,<br>consult tutorials and learn the lastest news:<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html></source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1002"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1051"/>
<source>Saving configuration file and applying new configuration ...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1038"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1090"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1112"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1087"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1139"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1161"/>
<source>Current project has been modified.
Do you want to save-it ?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1431"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1481"/>
<source>This video files contains more than one chapter.
Do you want to create one slide for each chapters ?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="506"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="548"/>
<source><new project></source>
<comment>when project have no name define</comment>
<translation type="unfinished"></translation>
@@ -4472,89 +4932,101 @@ Do you want to create one slide for each chapters ?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="849"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="109"/>
+ <source>Starting libav...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="898"/>
<source><html><body>Select a project to open or to create a new project<br>To discover ffDiaporama:<br><a href="%1">Consult the WIKI</a></body></html></source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="852"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="901"/>
<source><html><body>Add empty slides or slides based on photos or videos<br>To discover how to build your slide show and to animate slides:<br><a href="%1">Discover the principles of functioning of ffDiaporama</a></body></html></source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="855"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="904"/>
<source><html><body>Select the equipment type that you plan to use for your video<br>To discover how to render videos:<br><a href="%1">Consult the rendering videos WIKI page</a></body></html></source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1038"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1087"/>
<source>New project</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1090"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1112"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1115"/>
<location filename="../src/ffDiaporama/mainwindow.cpp" line="1139"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1161"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1164"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1188"/>
<source>Open project</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1094"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1117"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1126"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1143"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1166"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1175"/>
<source>Open file :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1140"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1189"/>
<source>This project was created with a newer version of ffDiaporama.
If you continue, you take the risk of losing data!
Do you want to open it nevertheless?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1228"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1278"/>
<source>Save project as</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1308"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3221"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1358"/>
<source>Add files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="641"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1773"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1389"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="580"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1665"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1439"/>
<source>Format not supported</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1649"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
<source>Add a sub project</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1660"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1710"/>
<source>Add project file :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1740"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1745"/>
+ <source>Capture the image </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1837"/>
<source>Remove slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1837"/>
<source>Are you sure to want to delete this slide?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/cCustomTableWidget.cpp" line="80"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1348"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1628"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1398"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1678"/>
<source>Add file to project :</source>
<translation type="unfinished"></translation>
</message>
@@ -4583,29 +5055,59 @@ Do you want to open it nevertheless?</source>
<source>Applying sharpen filter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.cpp" line="156"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1751"/>
+ <source>Capture image</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.cpp" line="157"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1752"/>
+ <source>Select destination file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="64"/>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="116"/>
+ <source>Error during startup</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="65"/>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="117"/>
+ <source>Error during initialisation of sound system. Check your configuration and try again</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="531"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="562"/>
+ <source>ffDiaporama initialisation</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCustomFolderTree</name>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="99"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
<source>Kb</source>
<comment>Unit Kb</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
<source>Mb</source>
<comment>Unit Mb</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
<source>Gb</source>
<comment>Unit Gb</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="103"/>
<source>Tb</source>
<comment>Unit Tb</comment>
<translation type="unfinished"></translation>
@@ -4673,37 +5175,19 @@ Do you want to open it nevertheless?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1099"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1143"/>
- <source>Impossible to start exiv2 - no exif informations will be decode for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1104"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1148"/>
- <source>Error during exiv2 process - no exif informations will be decode for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1108"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1152"/>
- <source>exiv2 return error %1 - no exif informations will be decode for %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1647"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1627"/>
<source>Video</source>
<comment>File type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1646"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1626"/>
<source>Music</source>
<comment>File type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1491"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1479"/>
<source>Mono</source>
<comment>Audio channels mode</comment>
<translation type="unfinished"></translation>
@@ -4730,7 +5214,25 @@ Do you want to open it nevertheless?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1492"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1099"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1143"/>
+ <source>Impossible to start exiv2 - no exif information will be decode for %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1104"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1148"/>
+ <source>Error during exiv2 process - no exif information will be decode for %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1108"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1152"/>
+ <source>exiv2 return error %1 - no exif information will be decode for %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1480"/>
<source>Stereo</source>
<comment>Audio channels mode</comment>
<translation type="unfinished"></translation>
@@ -4742,7 +5244,7 @@ Do you want to open it nevertheless?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1430"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1480"/>
<source>Add video file</source>
<translation type="unfinished"></translation>
</message>
@@ -4750,98 +5252,98 @@ Do you want to open it nevertheless?</source>
<context>
<name>cDeviceModelList</name>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="504"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
<source>Advanced</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
<source>Smartphone</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
<source>Multimedia system</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
<source>For the WEB</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
<source>Lossless</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
<source>Portable Player</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
<source>Netbook/NetPC</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
<source>Handheld game console</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
<source>Tablet computer</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
<source>Multimedia hard drive and gateway</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
<source>Player</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
<source>ADSL Box</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
<source>Game console</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
<source>SWF Flash Player</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
<source>Video-sharing and social WebSite</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="521"/>
<source>HTML 5</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
@@ -4850,19 +5352,11 @@ Do you want to open it nevertheless?</source>
<context>
<name>wgt_QImageFilterTransform</name>
<message>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="558"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="608"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="630"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="651"/>
- <source>Gray</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="559"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="609"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="631"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="652"/>
- <source>Equalize</source>
+ <source>Gray</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -4870,7 +5364,7 @@ Do you want to open it nevertheless?</source>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="610"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="632"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="653"/>
- <source>Despeckle</source>
+ <source>Equalize</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -4878,6 +5372,14 @@ Do you want to open it nevertheless?</source>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="611"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="633"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="654"/>
+ <source>Despeckle</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="562"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="612"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="634"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="655"/>
<source>No transformation</source>
<translation type="unfinished"></translation>
</message>
@@ -4890,5 +5392,11 @@ Do you want to open it nevertheless?</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/wgt_QVideoPlayer.ui" line="361"/>
+ <source>Save this image of the movie</source>
+ <extracomment>Tooltip in dialog box</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
diff --git a/locale/ffDiaporama_ru.qm b/locale/ffDiaporama_ru.qm
index a4c4ac0..1384f4e 100755
Binary files a/locale/ffDiaporama_ru.qm and b/locale/ffDiaporama_ru.qm differ
diff --git a/locale/ffDiaporama_ru.ts b/locale/ffDiaporama_ru.ts
index c08fd5d..9d89a33 100755
--- a/locale/ffDiaporama_ru.ts
+++ b/locale/ffDiaporama_ru.ts
@@ -29,11 +29,6 @@
<translation>Авторы</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgAbout.ui" line="258"/>
- <source>This application was developped using Open Source version of Qt 4.7 SDK</source>
- <translation>Это приложени было разработано с помощью Qt 4.7 SDK с открытым исходным кодом</translation>
- </message>
- <message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="268"/>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="318"/>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="349"/>
@@ -45,9 +40,14 @@
<translation>Сайт программы и лицензия:</translation>
</message>
<message>
+ <location filename="../src/ffDiaporama/DlgAbout.ui" line="258"/>
+ <source>This application was developed using Open Source version of Qt 4.8 SDK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="305"/>
- <source>Video decoding and encoding engines are based on ffmpeg</source>
- <translation>Кодирование и декодирование видео происзодит с помощью ffmpeg</translation>
+ <source>Video decoding and encoding engines are based on libav</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="336"/>
@@ -86,8 +86,8 @@
</message>
<message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="665"/>
- <source>System informations</source>
- <translation>Параметры системы</translation>
+ <source>System information</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/DlgAbout.ui" line="772"/>
@@ -98,594 +98,594 @@
<context>
<name>DlgApplicationSettings</name>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="32"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="32"/>
<source>Application settings</source>
<translation>Настройки приложения</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="54"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="54"/>
<source>Application Options</source>
<translation>Параметры приложения</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="90"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="90"/>
<source>If this box is checked, the sizes and the positions of all the windows and dialogue box of ffDiaporama will be saved to be reused the next time which you will use ffDiaporama.</source>
<translation type="unfinished">Если этот пункт отмечен, размер и позиция всех окон и диалоговый </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="93"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="93"/>
<source>Remember Windows size and positions</source>
<translation>Запомнить размер и позицию окон</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="100"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="100"/>
<source>If this box is checked, the directories that you use for the images, the videos, the projects, the musics and the generations of movie will be saved to be reused the next time which you will use ffDiaporama.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="103"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="103"/>
<source>Remember last used folders</source>
<translation>Запомнить последнию используюмую папку</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="117"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="117"/>
<source>Application options</source>
<translation>Параметры приложения</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="143"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="143"/>
<source>Preview options</source>
<translation>Пареметры предпросмотра</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="153"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="153"/>
<source>Frame rate :</source>
<translation>Частота кадров(frame rate):</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="171"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="171"/>
<source>Defined the number of images by seconds which will be generated to show the preview.</source>
<translation>Определить количество изображение в секундах, которое будет сгенерировано для предварительного показа.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="209"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="209"/>
<source>fps (Reduce this value for slow computer)</source>
<translation>Кадров/секунду (если компьютер медленный, уменьшите эту велечину)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="218"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="218"/>
<source>Image transformation :</source>
<translation>Трансформация фотографии:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="228"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="228"/>
<source>If this box is checked, The effects of transformations will be applied to the images of videos during the preview.</source>
<translation>Если этот пункт отмечен, эффект трансформации будет применен к изображениям в предпросмотре.</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="231"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="231"/>
<source>Apply to video during preview</source>
<translation>Применить к видео в предпросмотре</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="257"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="257"/>
<source>Editor options (when adding objects)</source>
<translation>Параметры редактора (при добавлении объекта)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="267"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="267"/>
<source>Object position :</source>
<translation>Позиция объекта:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="280"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="280"/>
<source>Define the position which occupy the new objects in the timeline during the insertions</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="284"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="284"/>
<source>Insert after current object</source>
<translation>Вставить после текущегообъекта</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="289"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="289"/>
<source>Append at project end</source>
<translation>Добавить в конец проекта</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="297"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="297"/>
<source>Multiple file insertion :</source>
<translation>Множественная вставка файла:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="307"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="307"/>
<source>Adjust the way will be sorted out files when you select several files in Add file.</source>
<translation type="unfinished">Изменить </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="310"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="310"/>
<source>Sort file by last number</source>
<translation>Сортировка по последней цифре в номере файла</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="822"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="822"/>
<source>Defined the transition to be inserted between slides during the insertions:
Chosen randomly a transition in the library</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="833"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="857"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="881"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="833"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="857"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="881"/>
<source>TransitionButtons</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="846"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="846"/>
<source>Defined the transition to be inserted between slides during the insertions:
No transition</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="870"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="870"/>
<source>Defined the transition to be inserted between slides during the insertions:
Crossfade transition</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="906"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="906"/>
<source>Define the transition duration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="670"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="723"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="953"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="670"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="723"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="953"/>
<source>sec</source>
<translation>Сек</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="330"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="330"/>
<source>If this box is checked, a confirmation will display every time you remove an object</source>
<translation>Если этот пункт отмечен, будет необходимо подтверждать удаление любого объекта</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="333"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="333"/>
<source>Ask user confirmation to remove slide, object or shot</source>
<translation></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="340"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="340"/>
<source>Object deletion :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="350"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="350"/>
<source>Coordinates unit :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="360"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="360"/>
<source>Select the unit of the coordinates which will be used in properties dialog box</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="364"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="364"/>
<source>Percent</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="369"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="369"/>
<source>Pixel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="515"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="515"/>
<source>Project Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="592"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="592"/>
<source>Select the geometry of image to be used for the creation of the projects.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="599"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="599"/>
<source>Old TV (4:3)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="604"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="604"/>
<source>TV Wide (16:9)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="609"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="609"/>
<source>Cinema (2.35:1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="617"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="617"/>
<source>(Only for new project)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="657"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="657"/>
<source>Defined the default duration of the first shot of slides during their creation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="710"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="710"/>
<source>Defined the default duration of next shots.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="763"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="763"/>
<source>Defined the curve of speed to be used for the transitions and the animations.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="770"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="770"/>
<source>Linear</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="775"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="775"/>
<source>Quarter sine</source>
<translation></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2968"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2968"/>
<source>Rendering Options</source>
<translation>Настройки рендирования</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3036"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3036"/>
<source>Default advanced rendering options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3263"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3263"/>
<source>Video standard :</source>
<translation>Видео стандарт:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3043"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3043"/>
<source>Video codec :</source>
<translation>Видео кодек:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3056"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3056"/>
<source>File format :</source>
<translation>Формат файла:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3322"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3322"/>
<source>Format :</source>
<translation>Формат:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3341"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3423"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3341"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3423"/>
<source>Select the default image format to use for the rendering among the proposed list. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3284"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3284"/>
<source>Select the default video standard to use, PAL or NTSC.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3288"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3288"/>
<source>PAL</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3293"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3293"/>
<source>NTSC</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3075"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3146"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3075"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3146"/>
<source>Bit rate :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3100"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3100"/>
<source>Select the default bit rate to use for video during the rendering among the proposed list. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3113"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3113"/>
<source>Select the default video codec to use for the rendering among the proposed list. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3120"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3120"/>
<source>Select the default audio codec to use for the rendering among the proposed list. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3127"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3127"/>
<source>Audio codec :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3171"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3171"/>
<source>Select the default bit rate to use for audio during the rendering among the proposed list. </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3368"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3368"/>
<source>Default device mode rendering options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3178"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3178"/>
<source>Smartphone :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3188"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3188"/>
<source>Multimedia system :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3198"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3198"/>
<source>For the WEB :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3208"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3208"/>
<source>Select the type of equipment which will be proposed by default when you will click the "Player and Smartphone" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3215"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3215"/>
<source>Select the type of equipment which will be proposed by default when you will click the "For the WEB" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3222"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3222"/>
<source>Select the type of equipment which will be proposed by default when you will click the "Multimedia system" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3256"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3256"/>
<source>Select the default file type to use for the rendering among the proposed list.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3229"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3229"/>
<source>Select the model of equipment which will be proposed by default when you will click the "Player and Smartphone" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="377"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="377"/>
<source>Enable "raster" Graphics System (Need application restart)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="503"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="503"/>
<source>Automatically crop 1920x1088 video to 1920x1080</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="418"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="418"/>
<source>SDL Audio use old mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="438"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="438"/>
<source>256 Mb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="443"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="443"/>
<source>512 Mb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="448"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="448"/>
<source>1 Gb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="453"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="453"/>
<source>2 Gb</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="427"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="427"/>
<source>Memory profil :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="384"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="384"/>
<source>Image smoothing :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="394"/>
<source>Smooth image during preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="401"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="401"/>
<source>Use quick resampler during preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="408"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="408"/>
<source>Audio resampling :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2865"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2865"/>
<source>Project options (default values)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="574"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="574"/>
<source>Project geometry:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="476"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="476"/>
<source>Transformed image :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="486"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="486"/>
<source>Create cache file (with _ffd suffix) for transformed images</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="493"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="493"/>
<source>Video :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="564"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="564"/>
<source>Project properties (default values)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="639"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="639"/>
<source>1st shot duration:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="692"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="692"/>
<source>Next shot duration:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="745"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="745"/>
<source>Speed wave:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="798"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="798"/>
<source>Default transition:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="994"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="994"/>
<source>Default options for new text block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1010"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1010"/>
<source>Text</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1026"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1026"/>
<source>Background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1061"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1061"/>
<source>Default options for new image or video block (when adding block in slide dialog)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1079"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1223"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1441"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1502"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1563"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1624"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1685"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1814"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1875"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1936"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2233"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2294"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2355"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2416"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2477"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2538"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2599"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2660"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2721"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1079"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1223"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1441"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1502"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1563"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1624"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1685"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1814"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1875"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1936"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2233"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2294"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2355"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2416"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2477"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2538"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2599"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2660"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2721"/>
<source>For 4:3 project:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1096"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1230"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1448"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1509"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1570"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1631"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1692"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1821"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1882"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1943"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2240"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2301"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2362"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2423"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2484"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2545"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2606"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2667"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2728"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1096"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1230"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1448"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1509"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1570"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1631"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1692"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1821"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1882"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1943"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2240"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2301"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2362"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2423"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2484"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2545"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2606"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2667"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2728"/>
<source>For 16:9 project:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1103"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1237"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1455"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1516"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1577"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1638"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1699"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1828"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1889"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1950"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2247"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2308"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2369"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2430"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2491"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2552"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2613"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2674"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2735"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1103"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1237"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1455"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1516"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1577"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1638"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1699"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1828"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1889"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1950"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2247"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2308"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2369"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2430"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2491"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2552"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2613"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2674"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2735"/>
<source>For cinema project:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1138"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1138"/>
<source>Coordinates</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1167"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1167"/>
<source>Default options for new image or video block (when creating slide)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1183"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2810"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1183"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2810"/>
<source>Text style</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1202"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1282"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2829"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1202"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1282"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2829"/>
<source>Shape</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1301"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2025"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1301"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2025"/>
<source>Coordinates
for 3:2
image in
@@ -694,8 +694,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1324"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2048"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1324"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2048"/>
<source>Coordinates
for 3:2
image in
@@ -704,8 +704,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1347"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2071"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1347"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2071"/>
<source>Coordinates
for 4:3
image in
@@ -714,8 +714,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1370"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2094"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1370"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2094"/>
<source>Coordinates
for 4:3
image in
@@ -724,8 +724,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1393"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2117"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1393"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2117"/>
<source>Coordinates
for 16:9
image in
@@ -734,8 +734,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1416"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2140"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1416"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2140"/>
<source>Coordinates
for 16:9
image in
@@ -744,8 +744,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1744"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2163"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1744"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2163"/>
<source>Coordinates
for cinema
image in
@@ -754,8 +754,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1767"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2186"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1767"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2186"/>
<source>Coordinates
for cinema
image in
@@ -764,8 +764,8 @@ mode</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="1790"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2209"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="1790"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2209"/>
<source>Coordinates
for
nonstandard
@@ -773,156 +773,156 @@ image</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2842"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2842"/>
<source>Title :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2875"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2875"/>
<source>Author :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2893"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2893"/>
<source>No automatic filling</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2898"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2898"/>
<source>Fill with project name when project save (if not yet defined)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2903"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2903"/>
<source>Fill with project folder name when project save (if not yet defined)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2911"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2911"/>
<source>Default language :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2944"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2944"/>
<source>und</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="2954"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="2954"/>
<source>(ISO 639 language code)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3236"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3236"/>
<source>Select the model of equipment which will be proposed by default when you will click the "Multimedia system" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3243"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3243"/>
<source>Select the model of equipment which will be proposed by default when you will click the "For the WEB" button of the "Render movie" menu</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3351"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3351"/>
<source>Default video name :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3381"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3381"/>
<source>Use project name as video name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3376"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3376"/>
<source>Use project folder's name as video name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3386"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3386"/>
<source>Use title project as video name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3407"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3407"/>
<source>Lossless :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3464"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3464"/>
<source>Manage Devices</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3453"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3453"/>
<source>Check Configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3488"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3488"/>
<source>Accept modification and exit dialog box</source>
<translation>Принять изменение и выйти из диалогового окна</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3491"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3491"/>
<source>&Ok</source>
<translation>&Ок</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3502"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3502"/>
<source>Cancel modification and exit dialog box</source>
<translation>Отменить изменение и выйти из диалогового окна</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3505"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3505"/>
<source>&Cancel</source>
<translation>&Отмена</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3516"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3516"/>
<source>Open help page describing this dialog box</source>
<translation>Открыть страницу помощи, описывающий это диалоговое окно</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3519"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3519"/>
<source>&Help</source>
<translation>&Помощь</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.ui" line="3526"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui" line="3526"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="173"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="180"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="176"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="183"/>
<source>Lock to image geometry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="174"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="181"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="177"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="184"/>
<source>Lock to project geometry-to full image</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="175"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="182"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="178"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="185"/>
<source>Lock to project geometry-to width</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="176"/>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="183"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="179"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="186"/>
<source>Lock to project geometry-to height</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="361"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="364"/>
<source>Language selection</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgApplicationSettings.cpp" line="362"/>
+ <location filename="../src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp" line="365"/>
<source>Language must be empty or an ISO 639 language code (3 characters)
See help for more details!</source>
<translation type="unfinished"></translation>
@@ -931,77 +931,92 @@ See help for more details!</source>
<context>
<name>DlgBackgroundProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="26"/>
<source>Background properties</source>
<translation>Свойства фона</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="44"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="44"/>
<source>Same background as precedent object</source>
<translation>Тот же фон что и предыдущий объект</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="57"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="57"/>
<source>Select a new background</source>
<translation>Выбор нового фона</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="224"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="224"/>
<source>Full filling (deform image)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="261"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="261"/>
<source>Keep aspect ratio</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="684"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="691"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="694"/>
+ <source>Undo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="701"/>
+ <source>Ctrl+Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="726"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="655"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="655"/>
<source>&Ok</source>
<translation>&Ок</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="666"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="708"/>
<source>&Cancel</source>
<translation>&Отмена</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.ui" line="677"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui" line="719"/>
<source>&Help</source>
<translation>&Помощь</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="47"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="73"/>
<source>Solid brush</source>
<translation>Твердая кисть</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="49"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="75"/>
<source>Gradient 2 colors</source>
<translation>Градиент из двух цветов</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="51"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="77"/>
<source>Gradient 3 colors</source>
<translation>Градиент из трех цветов</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="53"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="79"/>
<source>Image from library</source>
<translation>Изображение из бибилиотеки</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="55"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="81"/>
<source>Image from disk</source>
<translation>Изображение с диска</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgBackgroundProperties.cpp" line="305"/>
+ <location filename="../src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp" line="310"/>
<source>Select a file</source>
<translation>Выбор файла</translation>
</message>
@@ -1044,124 +1059,124 @@ See help for more details!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="63"/>
- <source>ffmpeg not found - critical - application will stop !</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="165"/>
- <source>ffmpeg Audio Codecs</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="179"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="177"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="181"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="186"/>
<source>available</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="60"/>
- <source>Unable to determine ffmpeg version</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="67"/>
+ <source>Unable to determine %1 version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="70"/>
+ <source>%1 not found - critical - application will stop !</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="103"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="110"/>
<source>LibExiv2 version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="105"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="112"/>
<source>LibExiv2/Exiv2 binary version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="170"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="174"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="177"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="181"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="187"/>
<source>not available</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="113"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="120"/>
<source>LibExiv2 support for preview image</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="119"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
<source>TAGLib version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="126"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
<source>TAGLib support for FLAC</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="133"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
<source>TAGLib support for ASF/WMA</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="140"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="147"/>
<source>TAGLib support for M4A/MP4</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="149"/>
- <source>ffmpeg version:</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="156"/>
+ <source>encoder version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="150"/>
- <source>LIBAVCODEC version:</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="166"/>
+ <source>LIBAV support for TAG and CHAPTERS</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="151"/>
- <source>LIBAVFORMAT version:</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="172"/>
+ <source>libav Audio Codecs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="152"/>
- <source>LIBSWSCALE version:</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="176"/>
+ <source>libav Video Codecs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
- <source>ffmpeg support for TAG and CHAPTERS</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <source>libav Container Formats</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="169"/>
- <source>ffmpeg Video Codecs</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="157"/>
+ <source>LIBAVCODEC version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="173"/>
- <source>ffmpeg Container Formats</source>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="158"/>
+ <source>LIBAVFORMAT version:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="159"/>
+ <source>LIBSWSCALE version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="178"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="185"/>
<source>Lossless</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="179"/>
- <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="180"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="186"/>
+ <location filename="../src/sharedfiles/DlgCheckConfig.cpp" line="187"/>
<source>Lossless rendering</source>
<translation type="unfinished"></translation>
</message>
@@ -1169,299 +1184,329 @@ See help for more details!</source>
<context>
<name>DlgImageCorrection</name>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="26"/>
<source>Image framing and correction</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="158"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="161"/>
<source>Define the horizontal position from the left (X).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="223"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="226"/>
<source>Define the vertical position from the top of the image ( Y ).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1735"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1738"/>
<source>Define automatically the framing to the width of the image.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1755"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1758"/>
<source>Define automatically the framing to the height of the image.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1787"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1790"/>
<source>Define automatically the framing to the diagonal of the image.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="244"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="247"/>
<source>Define the width</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="314"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="317"/>
<source>Define the height</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1601"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1604"/>
<source>Turn the image to the left (on the multiple fellow man of 90°).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1638"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1641"/>
<source>Define the rotation angle for z axis.</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1669"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1672"/>
<source>Turn the image to the right (on the multiple fellow man of 90°).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="398"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="431"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="401"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="434"/>
<source>Adjust luminosity</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="107"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="110"/>
<source>Properties for this shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="512"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="545"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="515"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="548"/>
<source>Adjust contrast</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="613"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="649"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="616"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="652"/>
<source>Adjust gamma</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="726"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="759"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="729"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="762"/>
<source>Adjust red chanel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="833"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="866"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="836"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="869"/>
<source>Adjust green chanel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="940"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="973"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="943"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="976"/>
<source>Adjust blue chanel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="447"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="561"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="668"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="775"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="882"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="989"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1169"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="450"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="564"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="671"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="778"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="885"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="992"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1172"/>
<source>Reset to zero</source>
<translatorcomment>Not sure</translatorcomment>
<translation>Сбросить на ноль</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1028"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1031"/>
<source>Apply a filter to the photo or the images of the video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1107"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1238"/>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1283"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1110"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1241"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1286"/>
<source>Define a blur/sharpen filter to the photo</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1305"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1308"/>
<source>Reset to 5</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1345"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1348"/>
<source>Properties for all shots</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1398"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1401"/>
<source>Name of image/video file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1420"/>
- <source>Select an other file</source>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1476"/>
+ <source>Framing :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1507"/>
+ <source>Image correction :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1473"/>
- <source>Framing :</source>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1843"/>
+ <source>Enable or disable rulers corresponding to the margins of television sets.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1504"/>
- <source>Image correction :</source>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1846"/>
+ <source>Rullers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1912"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1915"/>
+ <source>Undo</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1834"/>
- <source>Show/Hide rullers</source>
- <translation>Показать/спрятать направляющие</translation>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1922"/>
+ <source>Ctrl+Z</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1867"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1870"/>
<source>Accept modification and exit dialog box</source>
<translation>Принять изменение и выйти из диалогового окна</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1870"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1423"/>
+ <source>Select another file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1873"/>
<source>&Ok</source>
<translation>&Ок</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1881"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1929"/>
<source>Cancel modification and exit dialog box</source>
<translation>Отменить изменение и выйти из диалогового окна</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1884"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1932"/>
<source>&Cancel</source>
<translation>&Отмена</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1895"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1943"/>
<source>Open help page describing this dialog box</source>
<translation>Открыть страницу помощи, описывающий это диалоговое окно</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1898"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1946"/>
<source>&Help</source>
<translation>&Помощь</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.ui" line="1905"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.ui" line="1953"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="65"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="521"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="524"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="101"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="747"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="750"/>
<source>Unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="66"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="525"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="102"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="751"/>
<source>Lock to this geometry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="67"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="526"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="103"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="752"/>
<source>Lock to project geometry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="68"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="104"/>
<source>Lock to image geometry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="379"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="343"/>
<source>Creating cached filtered file ...</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="515"/>
+ <source>No style for nonstandard geometry image</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="564"/>
+ <source>Select a file</source>
+ <translation type="unfinished">Выбор файла</translation>
+ </message>
</context>
<context>
<name>DlgInfoFile</name>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="25"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="26"/>
<source>File information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="93"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="94"/>
<source>File name :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="100"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="101"/>
<source>File type :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="133"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="134"/>
<source>File size :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="153"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="154"/>
<source>File created :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="167"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="168"/>
<source>File modify :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="219"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="220"/>
<source>Video track information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="323"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="324"/>
<source>Chapter information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="288"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="289"/>
<source>Audio track information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="379"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="380"/>
<source>Additional information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="418"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="419"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished">Принять изменение и выйти из диалогового окна</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="421"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="422"/>
<source>&Ok</source>
<translation type="unfinished">&Ок</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="432"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="433"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished">Открыть страницу помощи, описывающий это диалоговое окно</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="435"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="436"/>
<source>&Help</source>
<translation type="unfinished">&Помощь</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgInfoFile.ui" line="442"/>
+ <location filename="../src/sharedfiles/DlgInfoFile.ui" line="443"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
@@ -1762,30 +1807,30 @@ Please select another name!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="544"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="546"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="566"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="774"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="785"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="787"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="380"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="401"/>
<source>Custom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="563"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="771"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="377"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="398"/>
<source>Adjust to image width</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="564"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="772"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="378"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="399"/>
<source>Adjust to image height</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="565"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="773"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="379"/>
<location filename="../src/ffDiaporama/_StyleDefinitions.cpp" line="400"/>
<source>Adjust to full image</source>
@@ -2009,173 +2054,173 @@ Do you want to overwrite-it ?</source>
<context>
<name>DlgMusicProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="26"/>
<source>Music properties</source>
<translation>Свойства музыки</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="38"/>
- <source>Allows to continue to play the play list define by a previous slide</source>
- <translation>Разрешить продолжать проигрывать плейлист, созданный к предыдущему слайду</translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="41"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="41"/>
<source>Continue current playlist (defined in a previous slide)</source>
<translation>Продолжать проигрывать текущий плейлист (созданный к предыдущему слайду)</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="44"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="201"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="44"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="201"/>
<source>buttonGroup</source>
<translation>кнопка группы</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="68"/>
- <source>Allows to indicate that from now on, the sound volume is reduced.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="71"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="71"/>
<source>Change volume level to :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="74"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="173"/>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="186"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="74"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="173"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="186"/>
<source>buttonGroup_2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="99"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="99"/>
<source>Define the sound volume for this slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="167"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="167"/>
<source>Set music to pause during this slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="170"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="170"/>
<source>Set to pause</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="180"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="180"/>
<source>No specific settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="183"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="183"/>
<source>Normal</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="195"/>
- <source>Allows to start a new playlist.</source>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="38"/>
+ <source>Allows one to continue to play the play list define by a previous slide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="68"/>
+ <source>Allows one to indicate that from now on, the sound volume is reduced.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="195"/>
+ <source>Allows one to start a new playlist.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="198"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="198"/>
<source>Start a new playlist from this slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="216"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="216"/>
<source>Add a file to the playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="230"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="230"/>
<source>Remove the current selected file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="244"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="244"/>
<source>Change the order in which will be played the music files:
Move the current selected file of a notch upward.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="259"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="259"/>
<source>Change the order in which will be played the music files:
Move the current selected file of a notch downward.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="274"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="274"/>
<source>Total playlist duration : </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="324"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="324"/>
<source>File</source>
<translation type="unfinished">Файл</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="334"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="334"/>
<source>Duration</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="344"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="344"/>
<source>Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="354"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="354"/>
<source>Source folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="392"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="392"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished">Принять изменение и выйти из диалогового окна</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="395"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="395"/>
<source>&Ok</source>
<translation type="unfinished">&Ок</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="406"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="406"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished">Отменить изменение и выйти из диалогового окна</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="409"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="409"/>
<source>&Cancel</source>
<translation type="unfinished">&Отмена</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="420"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="420"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished">Открыть страницу помощи, описывающий это диалоговое окно</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="423"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="423"/>
<source>&Help</source>
<translation type="unfinished">&Помощь</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.ui" line="430"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.ui" line="430"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="235"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="217"/>
<source>Add music files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="268"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="250"/>
<source>Error</source>
<comment>Error message</comment>
<translation type="unfinished">Ошибка</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgMusicProperties.cpp" line="269"/>
+ <location filename="../src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp" line="251"/>
<source>Format not supported</source>
<comment>Error message</comment>
<translation type="unfinished">Формат не поддерживается</translation>
@@ -2473,872 +2518,1281 @@ Move the current selected file of a notch downward.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="324"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="325"/>
<source>Select destination file</source>
<translation type="unfinished">Выбрать пункт назначения для файла</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="584"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="658"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="585"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="863"/>
<source>Stop rendering</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="665"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="875"/>
<source>Range selection</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="666"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="876"/>
<source>Slide range is defined to incorrect values</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="674"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="884"/>
<source>Language selection</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="675"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="885"/>
<source>Language must be empty or an ISO 639 language code (3 characters)
See help for more details!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="682"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="892"/>
<source>Overwrite file ?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="683"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="893"/>
<source>The file you selected already exist.
Do you want to overwrite it ?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="701"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="713"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="910"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="941"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1186"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1241"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1250"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1261"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1276"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1291"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1316"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1336"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1345"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1357"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1506"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1510"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1073"/>
+ <source>Start avconv encoder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1110"/>
+ <source>Error starting avconv</source>
+ <comment>Error message</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1193"/>
+ <source>avconv error</source>
+ <comment>Error message</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1230"/>
+ <source>Error during avconv process</source>
+ <comment>Error message</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1234"/>
+ <source>Error exiting avconv</source>
+ <comment>Error message</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="668"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="753"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="907"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="919"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1246"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1301"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1310"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1327"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1342"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1363"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1379"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1388"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1395"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1488"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1540"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1544"/>
<source>Render video</source>
<translation type="unfinished">Рендировать видео</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="739"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="946"/>
<source>Device model selection</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="740"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="947"/>
<source>A device model is require!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="823"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1031"/>
<source>Encoding sound</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1010"/>
- <source>Start ffmpeg encoder</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1061"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1126"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1133"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1170"/>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1174"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1109"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1184"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1193"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1230"/>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1234"/>
<source>Error</source>
<comment>Error message</comment>
<translation type="unfinished">Ошибка</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1062"/>
- <source>Error starting ffmpeg</source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1144"/>
+ <source> - Estimated time left : </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1184"/>
+ <source>Error sending image to ffmpeg</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1096"/>
- <source> - Estimated time left : </source>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1215"/>
+ <source>Closing encoder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1126"/>
- <source>Error sending image to ffmpeg</source>
- <comment>Error message</comment>
+ <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1246"/>
+ <source>Job completed successfully!</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>DlgRulerDef</name>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1133"/>
- <source>ffmpeg error</source>
- <comment>Error message</comment>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="20"/>
+ <source>Ruler properties</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1155"/>
- <source>Closing encoder</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="76"/>
+ <source>Horizontal rulers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1170"/>
- <source>Error during ffmpeg process</source>
- <comment>Error message</comment>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="97"/>
+ <source>Vertical rulers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1174"/>
- <source>Error exiting ffmpeg</source>
- <comment>Error message</comment>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="110"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="123"/>
+ <source>screen borders</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="136"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="149"/>
+ <source>TV margins</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="162"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="175"/>
+ <source>Screen center</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgRenderVideo.cpp" line="1186"/>
- <source>Job completed succesfully!</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="195"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="202"/>
+ <source>Unselected objects</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="241"/>
+ <source>Accept modification and exit dialog box</source>
+ <translation type="unfinished">Принять изменение и выйти из диалогового окна</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="244"/>
+ <source>&Ok</source>
+ <translation type="unfinished">&Ок</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="255"/>
+ <source>Cancel modification and exit dialog box</source>
+ <translation type="unfinished">Отменить изменение и выйти из диалогового окна</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="258"/>
+ <source>&Cancel</source>
+ <translation type="unfinished">&Отмена</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="269"/>
+ <source>Open help page describing this dialog box</source>
+ <translation type="unfinished">Открыть страницу помощи, описывающий это диалоговое окно</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="272"/>
+ <source>&Help</source>
+ <translation type="unfinished">&Помощь</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui" line="279"/>
+ <source>F1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DlgSlideProperties</name>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="29"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="29"/>
<source>Slide properties</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="139"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="116"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3544"/>
<source>Append a shot to end of the timeline</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="142"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3529"/>
+ <source>Add file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3541"/>
<source>Add shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="180"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="164"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3556"/>
<source>Remove current selected shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="183"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3415"/>
<source>Remove</source>
<translation type="unfinished">Удалить</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="221"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3568"/>
<source>Change the order of the shot by moving the current selected shot, of a notch towards the left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="224"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3565"/>
<source>Move left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="256"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3580"/>
<source>Change the order of the shot by moving the current selected shot, of a notch towards the right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="259"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3577"/>
<source>Move right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="394"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="687"/>
<source>Indicate the duration for the current selected shot.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="417"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="710"/>
<source>HH:mm:ss.zzz</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="444"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="660"/>
<source>Shot duration :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="466"/>
- <source>Total slide duration :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="501"/>
+ <source>Indicate a name for the slide. It is this name which will appear on the thumbnail in the main window timeline.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="504"/>
- <source>Slide name :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="213"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3520"/>
+ <source>Add a new text block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="532"/>
- <source>Indicate a name for the slide. It is this name which will appear on the thumbnail in the main window timeline.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="352"/>
+ <source>Arrange blocks</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="986"/>
- <source>Change the order of blocks by moving the active block upward (towards the background)</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="473"/>
+ <source>Slide :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1002"/>
- <source>PgUp</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="511"/>
+ <source>Start chapter from here</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1030"/>
- <source>Change the order of blocks by moving the active block downward (towards the foreground)</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3144"/>
+ <source>Rullers</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1046"/>
- <source>PgDown</source>
- <translation type="unfinished"></translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3289"/>
+ <source>Edit text</source>
+ <translation type="unfinished">Редактировать текст</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="744"/>
- <source>Add a new title block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3301"/>
+ <source>Do image correct or reframming</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="539"/>
- <source>Start a new chapter from here</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3352"/>
+ <source>Make visible the active block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="546"/>
- <source>Chapter :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3361"/>
+ <source>Take the sound</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="754"/>
- <source>Ctrl+Ins</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3373"/>
+ <source>Display information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="782"/>
- <source>Add a new block of type image or video.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3418"/>
+ <source>Remove current block(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="792"/>
- <source>Ins</source>
- <translation type="unfinished">Вставить</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3445"/>
+ <source>Align top</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="941"/>
- <source>Remove the current block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3448"/>
+ <source>Align blocks to the top</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="951"/>
- <source>Del</source>
- <translation type="unfinished">Удалить</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3457"/>
+ <source>Align middle</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="827"/>
- <source>Copy the current block to the ffDiaporama clipboard.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3460"/>
+ <source>Align blocks to the middle</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="837"/>
- <source>Ctrl+C</source>
- <translation type="unfinished">Ctrl+C</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3469"/>
+ <source>Align bottom</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="865"/>
- <source>Copy the current block to the ffDiaporama clipboard and remove it from the slide</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3472"/>
+ <source>Align blocks to the bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="875"/>
- <source>Ctrl+X</source>
- <translation type="unfinished">Ctrl+X</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3481"/>
+ <source>Align left</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="903"/>
- <source>Paste block from the ffDiaporama clipboard and insert it.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3484"/>
+ <source>Align blocks to the left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="913"/>
- <source>Ctrl+V</source>
- <translation type="unfinished">Ctrl+V</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3493"/>
+ <source>Align center</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1074"/>
- <source>Make visible or hidden the active block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3496"/>
+ <source>Align blocks to the center</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1109"/>
- <source>Give the sound, during this shot, to the current video block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3505"/>
+ <source>Align right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1151"/>
- <source>Define the properties of the text block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3508"/>
+ <source>Align blocks to the right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1161"/>
- <source>F5</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3517"/>
+ <source>Add text block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1189"/>
- <source>Define framing and do correction of image or movie</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1845"/>
+ <source>Remove block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1199"/>
- <source>F6</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="230"/>
+ <source>Ctrl+Ins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1227"/>
- <source>Cut the video</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="258"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3532"/>
+ <source>Add a new block of type image or video.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1237"/>
- <source>F7</source>
- <translation type="unfinished"></translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="275"/>
+ <source>Ins</source>
+ <translation type="unfinished">Вставить</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2310"/>
- <source>Border :</source>
- <translation type="unfinished"></translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3421"/>
+ <source>Del</source>
+ <translation type="unfinished">Удалить</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2225"/>
- <source>Shape :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3388"/>
+ <source>Copy the current block to the ffDiaporama clipboard.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2253"/>
- <source>Select a shape for current block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3325"/>
+ <source>Move to background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2275"/>
- <source>Opacity :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3328"/>
+ <source>Change the order of blocks by moving the active block towards the background</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2303"/>
- <source>Defined the opaqueness of the block.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3340"/>
+ <source>Change the order of blocks by moving the active block towards the foreground</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2345"/>
- <source>Defined the thickness of the border</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3349"/>
+ <source>Visible</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2373"/>
- <source>Defined the color of the line to be used to draw the border</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3385"/>
+ <source>Copy block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2404"/>
- <source>Defined the type of line (solid, dotted line, etc.)</source>
- <translation type="unfinished"></translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3391"/>
+ <source>Ctrl+C</source>
+ <translation type="unfinished">Ctrl+C</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2064"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2103"/>
- <source>Define rotation according to the X axis (defined in degree).</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3400"/>
+ <source>Cut block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1950"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1989"/>
- <source>Define rotation according to the Y axis (defined in degree).</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3403"/>
+ <source>Copy the current block to the ffDiaporama clipboard and remove it from the slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1833"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1872"/>
- <source>Define rotation according to the Z axis (defined in degree).</source>
- <translation type="unfinished"></translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3406"/>
+ <source>Ctrl+X</source>
+ <translation type="unfinished">Ctrl+X</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2517"/>
- <source>Defined the distance between the block and its shadow</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3430"/>
+ <source>Paste block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2545"/>
- <source>Defined the color of the shadow</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3433"/>
+ <source>Paste block from the ffDiaporama clipboard and insert it.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2135"/>
- <source>Block shape :</source>
- <translation type="unfinished"></translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3436"/>
+ <source>Ctrl+V</source>
+ <translation type="unfinished">Ctrl+V</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2817"/>
- <source>F1</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3364"/>
+ <source>Give the sound, during this shot, to the current video block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1682"/>
- <source>Define width of current block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3292"/>
+ <source>Define the properties of the text block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1755"/>
- <source>Define height of current block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3304"/>
+ <source>Define framing and do correction of image or movie</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1526"/>
- <source>Define X position of current block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3313"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3316"/>
+ <source>Cut the video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1599"/>
- <source>Define Y position of current block</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3376"/>
+ <source>Display detailled information on current block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2479"/>
- <source>Defined in which corner the shadow will be positioned (or no shadow)</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1485"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1582"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1710"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2415"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2521"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2651"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2757"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2863"/>
+ <source>Reset to 0</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2457"/>
- <source>Shadow :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1915"/>
+ <source>Border :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="1339"/>
- <source>Coordinates :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1830"/>
+ <source>Shape :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2645"/>
- <source>Propertie</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1858"/>
+ <source>Select a shape for current block</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2655"/>
- <source>Value</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1880"/>
+ <source>Opacity :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2696"/>
- <source>Enable or disable rulers corresponding to the margins of television sets.</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1908"/>
+ <source>Defined the opaqueness of the block.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2699"/>
- <source>TV margins</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1950"/>
+ <source>Defined the thickness of the border</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2726"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1978"/>
+ <source>Defined the color of the line to be used to draw the border</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2009"/>
+ <source>Defined the type of line (solid, dotted line, etc.)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1655"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1694"/>
+ <source>Define rotation according to the X axis (defined in degree).</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1527"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1566"/>
+ <source>Define rotation according to the Y axis (defined in degree).</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1427"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1466"/>
+ <source>Define rotation according to the Z axis (defined in degree).</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2122"/>
+ <source>Defined the distance between the block and its shadow</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2150"/>
+ <source>Defined the color of the shadow</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1740"/>
+ <source>Block shape :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3235"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3238"/>
+ <source>Undo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3245"/>
+ <source>Ctrl+Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="119"/>
+ <source>Add
+shot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="167"/>
+ <source>Remove
+shot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="216"/>
+ <source>Add
+text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="261"/>
+ <source>Add
+file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="310"/>
+ <source>Edit block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="313"/>
+ <source>Edit
+block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="355"/>
+ <source>Arrange
+block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="397"/>
+ <source>Block
+information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2199"/>
+ <source>Text animation :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2209"/>
+ <source>Zoom :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2245"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2287"/>
+ <source>Define a zoom value for the text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2309"/>
+ <source>Reset to 100%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2351"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2393"/>
+ <source>Scroll text from left to right</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2457"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2499"/>
+ <source>Scroll text from bottom to up</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2551"/>
+ <source>Block animation :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2587"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2632"/>
+ <source>Define the number of turn to be made around the Z axis during this shot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2693"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2738"/>
+ <source>Define the number of turn to be made around the X axis during this shot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2799"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2844"/>
+ <source>Define the number of turn to be made around the Y axis during this shot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3065"/>
+ <source>Type :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3078"/>
+ <source>Dissolve :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3097"/>
+ <source>Block coordinates :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="508"/>
+ <source>Start a new chapter from this slide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="531"/>
+ <source>Total duration :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3276"/>
+ <source>F1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3337"/>
+ <source>Move to foreground</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3589"/>
+ <source>Lock properties</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3592"/>
+ <source>Lock properties to the same values as define for the previous shot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3601"/>
+ <source>Unlock properties from this shot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3604"/>
+ <source>Define properties from this shot</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3613"/>
+ <source>Hide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3616"/>
+ <source>Make hide the active block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1276"/>
+ <source>Define width of current block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1349"/>
+ <source>Define height of current block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1120"/>
+ <source>Define X position of current block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="1193"/>
+ <source>Define Y position of current block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2084"/>
+ <source>Defined in which corner the shadow will be positioned (or no shadow)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="2062"/>
+ <source>Shadow :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3141"/>
+ <source>Enable or disable rulers corresponding to the margins of television sets.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3168"/>
<source>Accept modification and go to previous slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2729"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3171"/>
<source>Previous</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2740"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3182"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished">Принять изменение и выйти из диалогового окна</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2743"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3185"/>
<source>&Ok</source>
<translation type="unfinished">&Ок</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2754"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3196"/>
<source>Accept modification and go to next slide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2757"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3199"/>
<source>Next</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2793"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3252"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished">Отменить изменение и выйти из диалогового окна</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2796"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3255"/>
<source>&Cancel</source>
<translation type="unfinished">&Отмена</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2807"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3266"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished">Открыть страницу помощи, описывающий это диалоговое окно</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.ui" line="2810"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3269"/>
<source>&Help</source>
<translation type="unfinished">&Помощь</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="146"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="193"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="234"/>
<source>None</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="147"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="194"/>
<source>Shadow upper left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="148"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="195"/>
<source>Shadow upper right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="149"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="196"/>
<source>Shadow bottom left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="150"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="197"/>
<source>Shadow bottom right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="626"/>
- <source>Lengthened to %1 sec</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="235"/>
+ <source>Multiple block turn</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="101"/>
- <source>Slide</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="236"/>
+ <source>Dissolve</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1039"/>
- <source>Object type</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="239"/>
+ <source>Appear</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1040"/>
- <source>Title</source>
- <translation type="unfinished">Название</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="240"/>
+ <source>Disappear</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1041"/>
- <source>Image</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="241"/>
+ <source>Blink at slow speed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1042"/>
- <source>Video</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="242"/>
+ <source>Blink at medium speed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1046"/>
- <source>Filename</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="243"/>
+ <source>Blink at fast speed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1056"/>
- <source>Image size</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="244"/>
+ <source>Blink at very fast speed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="561"/>
- <source>No style for nonstandard geometry image</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1332"/>
+ <source>Lengthened to %1 sec</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="626"/>
- <source>Select a file</source>
- <translation type="unfinished">Выбор файла</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1845"/>
+ <source>Are you sure to want to delete this block?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1848"/>
+ <source>Remove blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1848"/>
+ <source>Are you sure to want to delete these blocks?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="156"/>
+ <source>Slide</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1572"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.ui" line="3553"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1200"/>
<source>Remove shot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1572"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1200"/>
<source>Are you sure to want to delete this shot?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1715"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1564"/>
<source>Text</source>
<comment>Default text value</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1740"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1623"/>
<source>Add files</source>
<translation type="unfinished">Добавить файлы</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1957"/>
- <source>Remove bloc</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1957"/>
- <source>Are you sure to want to delete this bloc?</source>
+ <location filename="../src/ffDiaporama/DlgSlide/cCustomBlockTable.cpp" line="136"/>
+ <source>Duration:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DlgTextEdit</name>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="26"/>
<source>Edit text</source>
<translation>Редактировать текст</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="158"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="109"/>
<source>Select font family</source>
<translation type="unfinished">Выбор </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="339"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="134"/>
<source>Select font size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="364"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="159"/>
<source>Select font color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1267"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="443"/>
<source>Select font effect (outerline, shadow)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1298"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="474"/>
<source>Select outerline/shadow color</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="230"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="512"/>
<source>Set text to Bold</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="187"/>
- <source>Properties for all shots</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="262"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="544"/>
<source>Set text to Italic</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="291"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="573"/>
<source>Set text to Underline</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="412"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="289"/>
<source>Align left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="447"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="356"/>
<source>Align center</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="479"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="324"/>
<source>Align justify</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="511"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="45"/>
+ <source>Text</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="200"/>
+ <source>Bullet list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="235"/>
+ <source>Numbered list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="388"/>
<source>Align right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="556"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="602"/>
+ <source>Set text to superscript</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="631"/>
+ <source>Set text to subscript</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="679"/>
+ <source>Increase indent</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="708"/>
+ <source>decrease indent</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="756"/>
<source>Align top</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="588"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="788"/>
<source>Align in the middle</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="620"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="820"/>
<source>Align bottom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="682"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="870"/>
+ <source>Background</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="916"/>
+ <source>Background properties :</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="967"/>
<source>Define the background brush type for the shape</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="734"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1019"/>
<source>Define the color (or first color for a gradient brush)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="759"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1063"/>
<source>Define the second gradient brush color </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="784"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1107"/>
<source>Define the third gradient brush color </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="843"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1166"/>
<source>Select the pattern</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="904"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1227"/>
<source>Define orientation of the gradient brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="948"/>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="987"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1258"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1297"/>
<source>Define position of the second color in the gradient brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1077"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1400"/>
<source>Select an image among that present in the library</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1123"/>
- <source>Block background style :</source>
- <translation type="unfinished"></translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1456"/>
+ <source>Accept modification and exit dialog box</source>
+ <translation type="unfinished">Принять изменение и выйти из диалогового окна</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1459"/>
+ <source>&Ok</source>
+ <translation type="unfinished">&Ок</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1215"/>
- <source>Texte style :</source>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1495"/>
+ <source>Undo last action (CTRL+Z)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1357"/>
- <source>Accept modification and exit dialog box</source>
- <translation type="unfinished">Принять изменение и выйти из диалогового окна</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1498"/>
+ <source>Undo</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1360"/>
- <source>&Ok</source>
- <translation type="unfinished">&Ок</translation>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1505"/>
+ <source>Ctrl+Z</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1371"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1512"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished">Отменить изменение и выйти из диалогового окна</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1374"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1515"/>
<source>&Cancel</source>
<translation type="unfinished">&Отмена</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1385"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1526"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished">Открыть страницу помощи, описывающий это диалоговое окно</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1388"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1529"/>
<source>&Help</source>
<translation type="unfinished">&Помощь</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.ui" line="1395"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.ui" line="1536"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="74"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="118"/>
<source>No effect</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="75"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="119"/>
<source>Outerline</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="76"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="120"/>
<source>Shadow upper left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="77"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="121"/>
<source>Shadow upper right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="78"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="122"/>
<source>Shadow bottom left</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="79"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="123"/>
<source>Shadow bottom right</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="85"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="129"/>
<source>No brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="86"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="130"/>
<source>Solid brush</source>
<translation type="unfinished">Твердая кисть</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="87"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="131"/>
<source>Pattern brush</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="88"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="132"/>
<source>Gradient 2 colors</source>
<translation type="unfinished">Градиент из двух цветов</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="89"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="133"/>
<source>Gradient 3 colors</source>
<translation type="unfinished">Градиент из трех цветов</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgTextEdit.cpp" line="90"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgText/DlgTextEdit.cpp" line="134"/>
<source>Image from library</source>
<translation type="unfinished">Изображение из бибилиотеки</translation>
</message>
@@ -3469,108 +3923,123 @@ Do you want to overwrite it ?</source>
<context>
<name>DlgVideoEdit</name>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="26"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="26"/>
<source>Cut video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="52"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="52"/>
<source>Properties for all shots</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="110"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="110"/>
<source>Start :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="117"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="117"/>
<source>Move to start position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="131"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="131"/>
<source>Use current position as start position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="157"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="157"/>
<source>Define the start position to use for</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="179"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="179"/>
<source>End :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="201"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="201"/>
<source>Define the end position to use for</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="220"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="220"/>
<source>Use current position as end position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="234"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="234"/>
<source>Move to end position</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="254"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="254"/>
<source>Duration :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="286"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="286"/>
<source>Volume :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="314"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="314"/>
<source>Define the " Master Volume " for the movie</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="355"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="355"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished">Принять изменение и выйти из диалогового окна</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="358"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="358"/>
<source>&Ok</source>
<translation type="unfinished">&Ок</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="369"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="394"/>
+ <source>Undo last action (CTRL+Z)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="397"/>
+ <source>Undo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="404"/>
+ <source>Ctrl+Z</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="411"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished">Отменить изменение и выйти из диалогового окна</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="372"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="414"/>
<source>&Cancel</source>
<translation type="unfinished">&Отмена</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="383"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="425"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished">Открыть страницу помощи, описывающий это диалоговое окно</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="386"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="428"/>
<source>&Help</source>
<translation type="unfinished">&Помощь</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgVideoEdit.ui" line="393"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.ui" line="435"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
@@ -3578,87 +4047,87 @@ Do you want to overwrite it ?</source>
<context>
<name>DlgffDPjrProperties</name>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="19"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="20"/>
<source>Project properties</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="33"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="34"/>
<source>Title :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="50"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="51"/>
<source>Author :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="60"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="61"/>
<source>Album :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="70"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="71"/>
<source>Year :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="120"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="121"/>
<source>Language :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="153"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="154"/>
<source>und</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="163"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="164"/>
<source>(ISO 639 language code)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="172"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="173"/>
<source>Comment :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="182"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="183"/>
<source>Chapters :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="222"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="223"/>
<source>Accept modification and exit dialog box</source>
<translation type="unfinished">Принять изменение и выйти из диалогового окна</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="225"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="226"/>
<source>&Ok</source>
<translation type="unfinished">&Ок</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="236"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="237"/>
<source>Cancel modification and exit dialog box</source>
<translation type="unfinished">Отменить изменение и выйти из диалогового окна</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="239"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="240"/>
<source>&Cancel</source>
<translation type="unfinished">&Отмена</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="250"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="251"/>
<source>Open help page describing this dialog box</source>
<translation type="unfinished">Открыть страницу помощи, описывающий это диалоговое окно</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="253"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="254"/>
<source>&Help</source>
<translation type="unfinished">&Помощь</translation>
</message>
<message>
- <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="260"/>
+ <location filename="../src/sharedfiles/DlgffDPjrProperties.ui" line="261"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
@@ -3678,127 +4147,127 @@ Do you want to overwrite it ?</source>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="156"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1385"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1397"/>
<source>Create a new empty project (Ctrl+N)</source>
<translation>Создать новый пустой проекст (Ctrl+N)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="159"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1388"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1400"/>
<source>New
project</source>
<translation>Новый проект</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="173"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1402"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1414"/>
<source>Ctrl+N</source>
<translation>Ctrl+N</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="207"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1436"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1448"/>
<source>Open a previously saved project (Ctrl+O)</source>
<translation>Открыть ранее сохраненный проект (Ctrl+O)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="210"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1439"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1451"/>
<source>Open
project</source>
<translation>Открыть проект</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="224"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1453"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1465"/>
<source>Ctrl+O</source>
<translation>Ctrl+O</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="258"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1487"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1499"/>
<source>Open a recently used project file</source>
<translation>Открыть недавно сохраненный проект</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="261"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1490"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1502"/>
<source>Open
recent</source>
<translation>Открыть недавний</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="306"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1535"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1547"/>
<source>Save current project (Ctrl+S)</source>
<translation>Сохраненнить этот проект (Ctrl+S)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="309"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1538"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1550"/>
<source>Save
project</source>
<translation>Cохранить проект</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="323"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1552"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1564"/>
<source>Ctrl+S</source>
<translation>Ctrl+S</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="357"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1586"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1598"/>
<source>Save current project to a new project file</source>
<translation>Cохранить этот проект в новый файл проект</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="360"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1589"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1601"/>
<source>Save
project as</source>
<translation>Сохранить проект в</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="400"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1629"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1641"/>
<source>Define project properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="403"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1632"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1644"/>
<source>Project
properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="442"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1671"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1683"/>
<source>Change application and project settings</source>
<translation>Изменить приложение и свойства проекта</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="445"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1674"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1686"/>
<source>Settings</source>
<translation>Свойства</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="483"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1712"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1724"/>
<source>Exit application (Ctrl+W)</source>
<translation>Закрыть приложение</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="486"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1715"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1727"/>
<source>Exit</source>
<translation>Выход</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="499"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1728"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1740"/>
<source>Ctrl+W</source>
<translation>Ctrl+W</translation>
</message>
@@ -3809,484 +4278,500 @@ properties</source>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="559"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1786"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1798"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3212"/>
<source>Add an empty slide</source>
<translation>Добавить пустый слайд</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="562"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1789"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1801"/>
<source>Add
title</source>
<translation>Добавить название</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="607"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1834"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1846"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3224"/>
<source>Add image or video as slide (INS)</source>
<translation>Добавить фотографию или видео как слайд (INS)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="610"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1837"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1849"/>
<source>Add
files</source>
<translation>Добавить файлы</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="624"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1851"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1863"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3227"/>
<source>Ins</source>
<translation>Вставить</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="652"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1879"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1891"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3239"/>
<source>Add a previously saved project at the end of this project</source>
<translation>Добавить ранее сохраненный проект в конец данного проекта</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="655"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1882"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1894"/>
<source>Add
project</source>
<translation>Добавить проект</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="701"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1928"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1940"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3167"/>
<source>Copy current slide to clipboard and remove it (Ctrl+X)</source>
<translation>Вырезать текущий слайд в буфер обмена (Ctrl+X)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="704"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1931"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1943"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3164"/>
<source>Cut</source>
<translation>Вырезать</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="717"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1944"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1956"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3170"/>
<source>Ctrl+X</source>
<translation>Ctrl+X</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="745"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1972"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1984"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3182"/>
<source>Copy current slide to clipboard (Ctrl+C)</source>
<translation>Копировать слайд в буфер обмена</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="748"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1975"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1987"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3179"/>
<source>Copy</source>
<translation>Копировать</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="761"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1988"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2000"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3185"/>
<source>Ctrl+C</source>
<translation>Ctrl+C</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="789"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2016"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2028"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3197"/>
<source>Paste current slide from clipboard (Ctrl+V)</source>
<translation>вставить текйщий слайд из буфера обмена (Ctrl+V)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="792"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2019"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2031"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3194"/>
<source>Paste</source>
<translation>Вставить</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="805"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2032"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2044"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3200"/>
<source>Ctrl+V</source>
<translation>Ctrl+V</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="846"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2073"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2085"/>
<source>Edit</source>
<translation>Редактировать</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="884"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2111"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2123"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3152"/>
<source>Remove current slide (DEL)</source>
<translation>Удалить текущай слайд (Delete)</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="887"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2114"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2126"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3149"/>
<source>Remove</source>
<translation>Удалить</translation>
</message>
<message>
<location filename="../src/ffDiaporama/mainwindow.ui" line="900"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2127"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2139"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3155"/>
<source>Del</source>
<translation>Удалить</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="918"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="924"/>
<source>Render video</source>
<translation>Рендировать видео</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="954"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2185"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="960"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2197"/>
<source>Player and
smartphone</source>
<translation>Плеер и смартфон</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="999"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2230"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1005"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2242"/>
<source>Multimedia
system</source>
<translation>Система мультимедия</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1038"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2269"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1044"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2281"/>
<source>For the
WEB</source>
<translation>Для ВЕБа</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1077"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2308"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1083"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2320"/>
<source>Lossless</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1121"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2352"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1127"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2364"/>
<source>Render project as a video</source>
<translatorcomment>Can be phylologically not correct</translatorcomment>
<translation>Рендировать проект в видеофайл</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1124"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2355"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1130"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2367"/>
<source>Advanced</source>
<translation>Дополнительно</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1152"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1164"/>
<source>Help</source>
<translation>Помощь</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1188"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2406"/>
- <source>Display informations about ffDiaporama</source>
- <translation>Показать информацию о ffDiaporama</translation>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1200"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2418"/>
+ <source>Display information about ffDiaporama</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1191"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2409"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1203"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2421"/>
<source>About</source>
<translation>О программе</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1235"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2453"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1247"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2465"/>
<source>Call ffDiaporama WIKI</source>
<translation>Вызвать ffDiaporama WIKI</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1238"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2456"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1250"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2468"/>
<source>Support
and help</source>
<translation>Поддержка и помощь</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1252"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2470"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1264"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2482"/>
<source>F1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1286"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2504"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1298"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2516"/>
<source>Display blog/news page from internet WEB site</source>
<translation>Показать блог/новости с домашней веб-страницы</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="1289"/>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2507"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="1301"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2519"/>
<source>What's new</source>
<translation>Что нового </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2881"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2893"/>
<source>Slide : xx/xxx</source>
<translation>Слайд: xx/xxx</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2922"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2934"/>
<source>Switch display to preview mode</source>
<translation>Переключить экран в вид предварительного просмотра</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2939"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2951"/>
<source>...</source>
<translation>...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="2962"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="2974"/>
<source>Switch display to sheet mode</source>
<translatorcomment>What means sheet mode???</translatorcomment>
<translation>Переключить экран в вид листа</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3002"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3014"/>
<source>Enlarge thumbnails</source>
<translation>Увеличить значки</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3042"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3054"/>
<source>Reduce thumbnails</source>
<translation>Уменьшить значки</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3073"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3089"/>
<source>Edit background</source>
<translation>Редактировать фон</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3076"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3092"/>
<source>Edit the background image for the slide</source>
<translation>Редактировать фоновую фотографию для слайда</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3079"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3095"/>
<source>F5</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3084"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3104"/>
<source>Edit slide</source>
<translation>Редактировать слайд</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3087"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3107"/>
<source>Edit the slide</source>
<translation>Редактировать слайд</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3090"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3110"/>
<source>F6</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3095"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3119"/>
<source>Edit music</source>
<translation>Редактировать музыку</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3098"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3122"/>
<source>Edit the slide musical playlist</source>
<translation>Редактировать музыкальный плейлист к слайду</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3101"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3125"/>
<source>F7</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3106"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3134"/>
<source>Edit object transition</source>
<translation>Редактировать переход объекта</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3109"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3137"/>
<source>Edit entering transition for the slide</source>
<translation>Редактировать переход входящего слайда</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3112"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3140"/>
<source>F8</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3117"/>
- <source>Edit background transition</source>
- <translation>Редактировать переход фона</translation>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3209"/>
+ <source>Add title</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.ui" line="3120"/>
- <source>Edit the entering background transition for the slide</source>
- <translation>Редактировать переход входящего фона для слайда</translation>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3236"/>
+ <source>Add project</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="60"/>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="74"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="61"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="75"/>
<source>Search Raster mode in configuration file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="274"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="275"/>
<source>All suported file (</source>
<translation>Все поддерживаемые файлы (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="281"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="282"/>
<source>Image file (</source>
<translation>Изображения(</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="287"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="288"/>
<source>Video file (</source>
<translation>Видео файлы(</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="293"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="294"/>
<source>Music file (</source>
<translation>Музыкальны файлы (</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="461"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="387"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="464"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="388"/>
<source>Read configuration file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="649"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1815"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1409"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="588"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1707"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1459"/>
<source>This application support only audio track with unsigned 8 bits or signed 16 bits sample format</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="653"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1819"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1417"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="592"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1467"/>
<source>This application support only mono or stereo audio track</source>
<comment>Error message</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="659"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1943"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1399"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1445"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1458"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1508"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1514"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1521"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1530"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1398"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1410"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1418"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1497"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="598"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1832"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1602"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1648"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1653"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1661"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1717"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1724"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1733"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1448"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1460"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1468"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1547"/>
<source>Error</source>
<comment>Error message</comment>
<translation>Ошибка</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="463"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="397"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="466"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="398"/>
<source>Error reading configuration file</source>
<comment>Error message</comment>
<translation>Ошибка чтения файла конфигуранции</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="468"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="402"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="471"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="403"/>
<source>Error reading content of configuration file</source>
<comment>Error message</comment>
<translation>Ошибка чтения содержимого файла конфигуранции</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="475"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="409"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="478"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="410"/>
<source>The file is not a valid configuration file</source>
<comment>Error message</comment>
<translation>Этот файл не является файлом конфигуранции</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="642"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="456"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="645"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="457"/>
<source>Error creating configuration file</source>
<comment>Error message</comment>
<translation>Ошибка создания файла конфигуранции</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="857"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1052"/>
<source>Title</source>
<comment>Default slide name when no file</comment>
<translation>Название</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1399"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1400"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1602"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1603"/>
<source>Error creating data file</source>
<comment>Error message</comment>
<translation>Ошибка создания файла данных</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1421"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1624"/>
<source>Open project file</source>
<translation>Открыть файл проекта</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1422"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1625"/>
<source>Impossible to open file </source>
<translation>Невозможно открыть файл</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1422"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1625"/>
<source>Do you want to select another file ?</source>
<translation>Хотите выбрать другой файл?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1425"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1628"/>
<source>Select another file for </source>
<translatorcomment>Not sure... for what?</translatorcomment>
<translation>Выбрать другой файл для </translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1434"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1637"/>
<source>Impossible to open project file %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1444"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1508"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1509"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1647"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1711"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1712"/>
<source>Error reading project file</source>
<comment>Error message</comment>
<translation>Ошибка чтения файла проекта</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1450"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1451"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1514"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1515"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1653"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1654"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1717"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1718"/>
<source>Error reading content of project file</source>
<comment>Error message</comment>
<translation>Ошибка чтения содержимого файла проекта</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1458"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1459"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1521"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1522"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1661"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1662"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1724"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1725"/>
<source>The file is not a valid project file</source>
<comment>Error message</comment>
<translation>Этот файл не является файлом проекта</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1530"/>
- <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1531"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1733"/>
+ <location filename="../src/ffDiaporama/_Diaporama.cpp" line="1734"/>
<source>Impossible to import this file :
Image geometry in this file is not the same than the current project</source>
<comment>Error message</comment>
@@ -4334,153 +4819,128 @@ Image geometry in this file is not the same than the current project</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="109"/>
- <source>Starting ffmpeg...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="118"/>
- <source>Registered video codecs for encoding :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="120"/>
- <source>Registered audio codecs for encoding :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="122"/>
- <source>Registered container formats for encoding :</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="124"/>
- <source> Device registered for rendering</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="126"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="117"/>
<source>Library :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="128"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="119"/>
<source>Loading background library...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="129"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="120"/>
<source> images loaded into the background-library from </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="130"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="121"/>
<source>Loading no-luma transitions...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="136"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="127"/>
<source> no-luma transitions loaded into the transition-library</source>
<translation>Luma переход не загружен в библеотеку переходов</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="137"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="128"/>
<source>Loading luma transitions...</source>
<translation>Загрузка luma перехода...</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="138"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="139"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="140"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="141"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="142"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="143"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="129"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="130"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="131"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="132"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="133"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="134"/>
<source> luma transitions loaded into the transition-library from </source>
<translation>Luma переход загружен в библеотеку переходов</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="144"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="135"/>
<source> Total:</source>
<translation>Всего:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="144"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="135"/>
<source> transitions loaded into the transition-library</source>
<translation>Переход загружен в библеотеку переводов</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="234"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="496"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="265"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="538"/>
<source>Slide : </source>
<translation>Слайд:</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="357"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="388"/>
<source>Close application</source>
<translation>Закрыть приложение</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="357"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="388"/>
<source>Want to save the project before closing?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="432"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="463"/>
<source>A new ffDiaporama release is available from WEB site. Please update from http://ffdiaporama.tuxfamily.org !</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="534"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="582"/>
<source>Configuration not correct!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="858"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="907"/>
<source><html><body>Visit the ffDiaporama Web site to use the forum,<br>consult tutorials and learn the lastest news:<br><a href="http://ffdiaporama.tuxfamily.org">http://ffdiaporama.tuxfamily.org</a></body></html></source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1002"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1051"/>
<source>Saving configuration file and applying new configuration ...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1038"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1090"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1112"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1087"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1139"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1161"/>
<source>Current project has been modified.
Do you want to save-it ?</source>
<translation>Текущий проет был изменен. Сохранить его?</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1431"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1481"/>
<source>This video files contains more than one chapter.
Do you want to create one slide for each chapters ?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="506"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="548"/>
<source><new project></source>
<comment>when project have no name define</comment>
<translation><Новый проект></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1038"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1087"/>
<source>New project</source>
<translation>Новый проект</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1094"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1117"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1126"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1143"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1166"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1175"/>
<source>Open file :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1090"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1112"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1115"/>
<location filename="../src/ffDiaporama/mainwindow.cpp" line="1139"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1161"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1164"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1188"/>
<source>Open project</source>
<translation>Открыть проект</translation>
</message>
@@ -4490,75 +4950,87 @@ Do you want to create one slide for each chapters ?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="849"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="109"/>
+ <source>Starting libav...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="898"/>
<source><html><body>Select a project to open or to create a new project<br>To discover ffDiaporama:<br><a href="%1">Consult the WIKI</a></body></html></source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="852"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="901"/>
<source><html><body>Add empty slides or slides based on photos or videos<br>To discover how to build your slide show and to animate slides:<br><a href="%1">Discover the principles of functioning of ffDiaporama</a></body></html></source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="855"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="904"/>
<source><html><body>Select the equipment type that you plan to use for your video<br>To discover how to render videos:<br><a href="%1">Consult the rendering videos WIKI page</a></body></html></source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1140"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1189"/>
<source>This project was created with a newer version of ffDiaporama.
If you continue, you take the risk of losing data!
Do you want to open it nevertheless?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1202"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1239"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1252"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1289"/>
<source>Saving project file ...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1228"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1278"/>
<source>Save project as</source>
<translation>Сохранить проет как</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1308"/>
+ <location filename="../src/ffDiaporama/mainwindow.ui" line="3221"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1358"/>
<source>Add files</source>
<translation>Добавить файлы</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/DlgImageCorrection.cpp" line="641"/>
- <location filename="../src/ffDiaporama/DlgSlideProperties.cpp" line="1773"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1389"/>
+ <location filename="../src/ffDiaporama/DlgImage/DlgImageCorrection.cpp" line="580"/>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp" line="1665"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1439"/>
<source>Format not supported</source>
<comment>Error message</comment>
<translation>Формат не поддерживается</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1649"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
<source>Add a sub project</source>
<translation>Добавить под-проект</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1660"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1710"/>
<source>Add project file :</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1740"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1745"/>
+ <source>Capture the image </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1837"/>
<source>Remove slide</source>
<translation>Удалить слайд</translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1699"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1837"/>
<source>Are you sure to want to delete this slide?</source>
<translation>Вы уверены что хотите удалить этот слайд?</translation>
</message>
<message>
<location filename="../src/ffDiaporama/cCustomTableWidget.cpp" line="80"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1348"/>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1628"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1398"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1678"/>
<source>Add file to project :</source>
<translation type="unfinished"></translation>
</message>
@@ -4587,29 +5059,59 @@ Do you want to open it nevertheless?</source>
<source>Applying sharpen filter</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.cpp" line="156"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1751"/>
+ <source>Capture image</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/DlgSlide/DlgVideo/DlgVideoEdit.cpp" line="157"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1752"/>
+ <source>Select destination file</source>
+ <translation type="unfinished">Выбрать пункт назначения для файла</translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="64"/>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="116"/>
+ <source>Error during startup</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="65"/>
+ <location filename="../src/sharedfiles/_SDL_Support.cpp" line="117"/>
+ <source>Error during initialisation of sound system. Check your configuration and try again</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="531"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="562"/>
+ <source>ffDiaporama initialisation</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QCustomFolderTree</name>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="99"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
<source>Kb</source>
<comment>Unit Kb</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="100"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
<source>Mb</source>
<comment>Unit Mb</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="101"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
<source>Gb</source>
<comment>Unit Gb</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="102"/>
+ <location filename="../src/sharedfiles/cBaseApplicationConfig.cpp" line="103"/>
<source>Tb</source>
<comment>Unit Tb</comment>
<translation type="unfinished"></translation>
@@ -4677,37 +5179,19 @@ Do you want to open it nevertheless?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1099"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1143"/>
- <source>Impossible to start exiv2 - no exif informations will be decode for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1104"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1148"/>
- <source>Error during exiv2 process - no exif informations will be decode for %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1108"/>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1152"/>
- <source>exiv2 return error %1 - no exif informations will be decode for %2</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1647"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1627"/>
<source>Video</source>
<comment>File type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1646"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1626"/>
<source>Music</source>
<comment>File type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1491"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1479"/>
<source>Mono</source>
<comment>Audio channels mode</comment>
<translation type="unfinished"></translation>
@@ -4734,7 +5218,25 @@ Do you want to open it nevertheless?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1492"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1099"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1143"/>
+ <source>Impossible to start exiv2 - no exif information will be decode for %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1104"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1148"/>
+ <source>Error during exiv2 process - no exif information will be decode for %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1108"/>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1152"/>
+ <source>exiv2 return error %1 - no exif information will be decode for %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/sharedfiles/cBaseMediaFile.cpp" line="1480"/>
<source>Stereo</source>
<comment>Audio channels mode</comment>
<translation type="unfinished"></translation>
@@ -4746,7 +5248,7 @@ Do you want to open it nevertheless?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/ffDiaporama/mainwindow.cpp" line="1430"/>
+ <location filename="../src/ffDiaporama/mainwindow.cpp" line="1480"/>
<source>Add video file</source>
<translation type="unfinished"></translation>
</message>
@@ -4754,98 +5256,98 @@ Do you want to open it nevertheless?</source>
<context>
<name>cDeviceModelList</name>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="504"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
<source>Advanced</source>
<comment>Device database type</comment>
<translation type="unfinished">Дополнительно</translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="505"/>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
<source>Smartphone</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="506"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
<source>Multimedia system</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="507"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
<source>For the WEB</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="508"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="509"/>
<source>Lossless</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="510"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
<source>Portable Player</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="511"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
<source>Netbook/NetPC</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="512"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
<source>Handheld game console</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="513"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
<source>Tablet computer</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="514"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
<source>Multimedia hard drive and gateway</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="515"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
<source>Player</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="516"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
<source>ADSL Box</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="517"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
<source>Game console</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="518"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
<source>SWF Flash Player</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="519"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
<source>Video-sharing and social WebSite</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="520"/>
+ <location filename="../src/sharedfiles/cDeviceModelDef.cpp" line="521"/>
<source>HTML 5</source>
<comment>Device database type</comment>
<translation type="unfinished"></translation>
@@ -4854,35 +5356,35 @@ Do you want to open it nevertheless?</source>
<context>
<name>wgt_QImageFilterTransform</name>
<message>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="558"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="608"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="630"/>
- <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="651"/>
- <source>Gray</source>
- <translation>Серый</translation>
- </message>
- <message>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="559"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="609"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="631"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="652"/>
- <source>Equalize</source>
- <translation>Выровнять</translation>
+ <source>Gray</source>
+ <translation>Серый</translation>
</message>
<message>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="560"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="610"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="632"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="653"/>
- <source>Despeckle</source>
- <translatorcomment>I am not sure at all that the translation is correct inthis context</translatorcomment>
- <translation>Удаление пятен</translation>
+ <source>Equalize</source>
+ <translation>Выровнять</translation>
</message>
<message>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="561"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="611"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="633"/>
<location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="654"/>
+ <source>Despeckle</source>
+ <translatorcomment>I am not sure at all that the translation is correct inthis context</translatorcomment>
+ <translation>Удаление пятен</translation>
+ </message>
+ <message>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="562"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="612"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="634"/>
+ <location filename="../src/ffDiaporama/cCustomComboBox.cpp" line="655"/>
<source>No transformation</source>
<translation>Без трансформации</translation>
</message>
@@ -4895,5 +5397,11 @@ Do you want to open it nevertheless?</source>
<extracomment>Tooltip in dialog box</extracomment>
<translation>Нажмите для проигрования, нажмите еще раз для паузы</translation>
</message>
+ <message>
+ <location filename="../src/ffDiaporama/wgt_QVideoPlayer.ui" line="361"/>
+ <source>Save this image of the movie</source>
+ <extracomment>Tooltip in dialog box</extracomment>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
diff --git a/src/common.pri b/src/common.pri
index 3390152..58a741a 100755
--- a/src/common.pri
+++ b/src/common.pri
@@ -49,18 +49,18 @@ win32 {
UI_SOURCES_DIR += ..\\..\\..\\windebugbuild\\src\\$$TARGET
}
- INCLUDEPATH += c:\\Qt\\ffmpeg-win32-dev\\include #------ ffmpeg library path
+ INCLUDEPATH += C:\\Qt\\libav-win32\\usr\\include #------ libav library path
INCLUDEPATH += c:\\Qt\\SDL-1.2.14\\include #------ SDL library path
INCLUDEPATH += c:\\Qt\\ThirdLib\\include #------ Exiv2 and TAGlib library path
INCLUDEPATH += . #------ I don't know why, but windows need this !
- LIBS += -L"c:\\Qt\\ffmpeg-win32-dev\\lib" #------ ffmpeg library path
+ LIBS += -L"C:\\Qt\\libav-win32\\usr\\lib" #------ libav library path
LIBS += -L"c:\\Qt\\SDL-1.2.14\\lib" #------ SDL library path
LIBS += -L"c:\\Qt\\ThirdLib\\lib" #------ Exiv2 and TAGlib library path
LIBS += -lgdi32 -lkernel32 #------ Windows GDI lib link
}
#---- Libs for windows and linux
-LIBS += -lavformat -lavcodec -lavutil -lswscale #------ ffmpeg lib link
-unix:LIBS += -lexiv2 #------ Exiv2 [and TAGlib]Linux only]
+LIBS += -lavformat -lavcodec -lavutil -lswscale #------ libav lib link
+LIBS += -lexiv2 #------ Exiv2
LIBS += -ltag #------ TAGlib
diff --git a/src/sharedfiles/QCustomFileInfoLabel.cpp b/src/engine/QCustomFileInfoLabel.cpp
similarity index 100%
rename from src/sharedfiles/QCustomFileInfoLabel.cpp
rename to src/engine/QCustomFileInfoLabel.cpp
diff --git a/src/sharedfiles/QCustomFileInfoLabel.h b/src/engine/QCustomFileInfoLabel.h
similarity index 100%
rename from src/sharedfiles/QCustomFileInfoLabel.h
rename to src/engine/QCustomFileInfoLabel.h
diff --git a/src/sharedfiles/QCustomFolderTable.cpp b/src/engine/QCustomFolderTable.cpp
similarity index 100%
rename from src/sharedfiles/QCustomFolderTable.cpp
rename to src/engine/QCustomFolderTable.cpp
diff --git a/src/sharedfiles/QCustomFolderTable.h b/src/engine/QCustomFolderTable.h
similarity index 100%
rename from src/sharedfiles/QCustomFolderTable.h
rename to src/engine/QCustomFolderTable.h
diff --git a/src/sharedfiles/QCustomFolderTree.cpp b/src/engine/QCustomFolderTree.cpp
similarity index 100%
rename from src/sharedfiles/QCustomFolderTree.cpp
rename to src/engine/QCustomFolderTree.cpp
diff --git a/src/sharedfiles/QCustomFolderTree.h b/src/engine/QCustomFolderTree.h
similarity index 100%
rename from src/sharedfiles/QCustomFolderTree.h
rename to src/engine/QCustomFolderTree.h
diff --git a/src/sharedfiles/QCustomGetFolder.cpp b/src/engine/QCustomGetFolder.cpp
similarity index 100%
rename from src/sharedfiles/QCustomGetFolder.cpp
rename to src/engine/QCustomGetFolder.cpp
diff --git a/src/sharedfiles/QCustomGetFolder.h b/src/engine/QCustomGetFolder.h
similarity index 100%
rename from src/sharedfiles/QCustomGetFolder.h
rename to src/engine/QCustomGetFolder.h
diff --git a/src/sharedfiles/QCustomGetFolder.ui b/src/engine/QCustomGetFolder.ui
similarity index 100%
rename from src/sharedfiles/QCustomGetFolder.ui
rename to src/engine/QCustomGetFolder.ui
diff --git a/src/sharedfiles/QCustomHorizSplitter.cpp b/src/engine/QCustomHorizSplitter.cpp
similarity index 100%
rename from src/sharedfiles/QCustomHorizSplitter.cpp
rename to src/engine/QCustomHorizSplitter.cpp
diff --git a/src/sharedfiles/QCustomHorizSplitter.h b/src/engine/QCustomHorizSplitter.h
similarity index 100%
rename from src/sharedfiles/QCustomHorizSplitter.h
rename to src/engine/QCustomHorizSplitter.h
diff --git a/src/engine/QCustomRuller.cpp b/src/engine/QCustomRuller.cpp
new file mode 100755
index 0000000..8880446
--- /dev/null
+++ b/src/engine/QCustomRuller.cpp
@@ -0,0 +1,236 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "QCustomRuller.h"
+
+#include <QPainter>
+#include <QFont>
+
+//======================================
+// Specific defines for this dialog box
+//======================================
+#define TAQUET_SIZE 9 // TAQUET_SIZE is QSlider::handle:horizontal (width+margin)/2
+#define CompletTickH1 3 // Y start position of the complete tick line
+#define CompletTickH2 15 // Y end position of the complete tick line
+#define IntermediateTickH1 7 // Y start position of the intermediate tick line
+#define IntermediateTickH2 15 // Y end position of the intermediate tick line
+#define ThumbWidth 14 // Width of the thumb
+#define ThumbHeight 20 // Height of the thumb
+#define ThumbYPos 16 // Y midle position of the thumb
+
+//====================================================================================================================
+
+QCustomRuller::QCustomRuller(QWidget *parent):QSlider(parent) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomRuller::QCustomRuller");
+
+ StartPos=0;
+ EndPos =0;
+ setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed);
+ setFixedHeight(32);
+}
+
+//====================================================================================================================
+
+void QCustomRuller::ActiveSlider(int TotalDuration) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomRuller::ActiveSlider");
+
+ this->TotalDuration=TotalDuration;
+}
+
+//====================================================================================================================
+
+void QCustomRuller::resizeEvent(QResizeEvent *) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomRuller::resizeEvent");
+
+// if (Slider!=NULL) Slider->setMinimumWidth(this->width());
+}
+
+//====================================================================================================================
+
+void QCustomRuller::mousePressEvent(QMouseEvent *ev) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomRuller::mousePressEvent");
+
+ if (ev->button()==Qt::LeftButton) {
+ emit PositionChangeByUser();
+ int x1 =int(double(this->width()-TAQUET_SIZE*2)*(double(value())/double(maximum())))+TAQUET_SIZE;
+ if ((ev->x()>=x1-ThumbWidth/2)&&(ev->x()<=x1+ThumbWidth/2)) QSlider::mousePressEvent(ev); // It's on the thumb
+ else if ((ev->x()>=TAQUET_SIZE-ThumbWidth/2)&&(ev->x()<=this->width()-TAQUET_SIZE+ThumbWidth/2)) // Set new value
+ setValue(int(double((ev->x()-TAQUET_SIZE)/double(this->width()-TAQUET_SIZE*2))*double(maximum())));
+ }
+}
+
+//====================================================================================================================
+
+void QCustomRuller::paintEvent(QPaintEvent *) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomRuller::paintEvent");
+
+ QFont Font("DejaVu Sans",6,QFont::Normal,QFont::StyleNormal);
+ QPainter Painter(this);
+ double Width = double(this->width());
+ double Height = double(this->height());
+ int TextHPosition= 28; //(Slider==NULL?9:28);
+ int WidthTick = QFontMetrics(Font).width("00:00");
+
+ //********************************************************
+ // Draw slider background
+ //********************************************************
+
+ // Prepare QPainter
+ Painter.setFont(Font);
+ Painter.setPen(Qt::white);
+ Painter.fillRect(QRect(0,0,Width,Height),QColor(Qt::black));
+
+ if ((TotalDuration!=0)&&(StartPos<EndPos)) {
+ // Draw zone
+ long PosStart=long((Width-TAQUET_SIZE*2)*(double(StartPos)/double(TotalDuration)));
+ long PosEnd =long((Width-TAQUET_SIZE*2)*(double(EndPos)/double(TotalDuration)));
+ Painter.fillRect(QRect(TAQUET_SIZE+PosStart,IntermediateTickH1,PosEnd-PosStart,IntermediateTickH2),QColor(Qt::blue));
+ // Draw previous zone
+ if (PreviousStartPos!=-1) {
+ Painter.setOpacity(0.5);
+ //long PosStart=long((Width-TAQUET_SIZE*2)*(double(PreviousStartPos)/double(TotalDuration)));
+ long aPosEnd =long((Width-TAQUET_SIZE*2)*(double(PrevisousEndPos)/double(TotalDuration)));
+ Painter.fillRect(QRect(TAQUET_SIZE+PosStart,IntermediateTickH1,aPosEnd-PosStart,IntermediateTickH2),QColor(Qt::green));
+ Painter.setOpacity(1);
+ }
+ // Draw next zone
+ if (NextStartPos!=-1) {
+ Painter.setOpacity(0.5);
+ long aPosStart=long((Width-TAQUET_SIZE*2)*(double(NextStartPos)/double(TotalDuration)));
+ //long PosEnd =long((Width-TAQUET_SIZE*2)*(double(NextEndPos)/double(TotalDuration)));
+ Painter.fillRect(QRect(TAQUET_SIZE+aPosStart,IntermediateTickH1,PosEnd-aPosStart,IntermediateTickH2),QColor(Qt::red));
+ Painter.setOpacity(1);
+ }
+ }
+
+ // Now : Draw line and texte of the ruller
+
+ // Define an echelle
+ double Duration=TotalDuration/1000; // Calc duration in sec (double)
+ double SizeTick;
+ QString Ech;
+
+ // Test for WidthTick pixels between 2 ticks
+ if ((Duration<10)&&(Width/Duration)>WidthTick) {
+ Ech ="S" ; // Use sec as echelle
+ SizeTick=(Width-TAQUET_SIZE*2)/Duration;
+ } else if ((Duration<600)&&((Width-TAQUET_SIZE*2)/(Duration/10))>WidthTick) {
+ Ech="10S"; // Use 10 sec as echelle
+ SizeTick=(Width-TAQUET_SIZE*2)/(Duration/10);
+ } else if ((Duration<6000)&&(((Width-TAQUET_SIZE*2)/(Duration/60))>WidthTick)) {
+ Ech="M"; // Use minute as echelle
+ SizeTick=(Width-TAQUET_SIZE*2)/(Duration/60);
+ } else if ((Duration<360000)&&(((Width-TAQUET_SIZE*2)/(Duration/600))>WidthTick)) {
+ Ech="10M"; // Use 10 minute as echelle
+ SizeTick=(Width-TAQUET_SIZE*2)/(Duration/600);
+ } else {
+ Ech="H"; // Use hour as echelle
+ SizeTick=(Width-TAQUET_SIZE*2)/(Duration/3600);
+ }
+
+ short int TimeSec = 0;
+ short int TimeMin = 0;
+ short int TimeHour = 0;
+ short int Cur = 0;
+ QString Text;
+
+ while ((TAQUET_SIZE*2+Cur*SizeTick+(WidthTick/2))<Width) {
+ Painter.drawLine(TAQUET_SIZE+Cur*SizeTick,CompletTickH1,TAQUET_SIZE+Cur*SizeTick,CompletTickH2);
+
+ // Draw text
+ if ((Ech=="H")||(Ech=="10M")) Text=QString("%1:%2").arg(TimeHour,2,10,QChar('0')).arg(TimeMin,2,10,QChar('0'));
+ else Text=QString("%1:%2").arg(TimeMin,2,10,QChar('0')).arg(TimeSec,2,10,QChar('0'));
+
+ if ((!((TimeSec==0)&&(TimeMin==0)&&(TimeHour==0)))&&((TAQUET_SIZE+Cur*SizeTick+(WidthTick/2))<Width))
+ Painter.drawText(TAQUET_SIZE+Cur*SizeTick-(WidthTick/2),TextHPosition,Text);
+
+ // Draw intermediate tick and then increment time depending on echelle
+ if (Ech=="S") {
+ TimeSec+=1;
+ Text="";
+ } else if (Ech=="10S") {
+ // Draw an intermediate tick
+ Painter.drawLine(TAQUET_SIZE+(Cur+0.5)*SizeTick,IntermediateTickH1,TAQUET_SIZE+(Cur+0.5)*SizeTick,IntermediateTickH2);
+ Text=QString("%1:%2").arg(TimeMin,2,10,QChar('0')).arg(TimeSec+5,2,10,QChar('0'));
+ TimeSec+=10;
+ } else if (Ech=="M") {
+ // Draw an intermediate tick
+ Painter.drawLine(TAQUET_SIZE+(Cur+0.5)*SizeTick,IntermediateTickH1,TAQUET_SIZE+(Cur+0.5)*SizeTick,IntermediateTickH2);
+ Text=QString("%1:%2").arg(TimeMin,2,10,QChar('0')).arg(TimeSec+30,2,10,QChar('0'));
+ TimeMin+=1;
+ } else if (Ech=="10M") {
+ // Draw an intermediate tick
+ Painter.drawLine(TAQUET_SIZE+(Cur+0.5)*SizeTick,IntermediateTickH1,TAQUET_SIZE+(Cur+0.5)*SizeTick,IntermediateTickH2);
+ Text=QString("%1:%2").arg(TimeHour,2,10,QChar('0')).arg(TimeMin+5,2,10,QChar('0'));
+ TimeMin+=10;
+ } else {
+ // Draw an intermediate tick
+ Painter.drawLine(TAQUET_SIZE+(Cur+0.5)*SizeTick,IntermediateTickH1,TAQUET_SIZE+(Cur+0.5)*SizeTick,IntermediateTickH2);
+ Text=QString("%1:%2").arg(TimeHour,2,10,QChar('0')).arg(TimeMin+30,2,10,QChar('0'));
+ TimeHour+=1;
+ }
+ // Draw text if there is place !
+ if ((WidthTick<(SizeTick/3))&&(TAQUET_SIZE+(Cur+0.5)*SizeTick+(WidthTick/2)<Width)) Painter.drawText(TAQUET_SIZE+(Cur+0.5)*SizeTick-(WidthTick/2),TextHPosition,Text);
+
+ // Adjust time
+ if (TimeSec>59) {
+ TimeSec-=60;
+ TimeMin+=1;
+ }
+ if (TimeMin>59) {
+ TimeMin-=60;
+ TimeHour+=1;
+ }
+
+ // Go to next tick
+ Cur=Cur+1;
+ }
+ Painter.setPen(QColor(0x20,0x20,0x20));
+ Painter.drawLine(0,0,Width,0);
+
+ //********************************************************
+ // Draw slider
+ //********************************************************
+
+ Painter.setPen(QColor(0x20,0x20,0x20));
+ Painter.setBrush(QBrush(QColor(0xA0,0xA0,0xA0)));
+ Painter.drawRect(TAQUET_SIZE-1,15,Width-TAQUET_SIZE*2+2,5);
+
+ //********************************************************
+ // Draw thumb
+ //********************************************************
+ int x1 =int(double(Width-TAQUET_SIZE*2)*(double(value())/double(maximum())))+TAQUET_SIZE;
+ QPointF Table[10];
+ double vcos,vsin,Angle;
+ int i;
+
+ Angle=90;
+ for (i=0;i<3;i++) {
+ vcos=cos(Angle*3.14159265/180)*(ThumbWidth/2);
+ vsin=sin(Angle*3.14159265/180)*(ThumbHeight/2);
+ Table[i]=QPointF(x1+vcos,ThumbYPos-vsin);
+ Angle=Angle+(double(360)/3);
+ if (Angle>=360) Angle=-Angle+360;
+ }
+ Painter.setBrush(QBrush(QColor(0xCC,0xCC,0xCC)));
+ Painter.drawPolygon(Table,3);
+ Painter.setPen(QColor(0x70,0x70,0x70));
+ Painter.drawLine(x1,7,x1,16);
+}
diff --git a/src/engine/QCustomRuller.h b/src/engine/QCustomRuller.h
new file mode 100755
index 0000000..6ccfc87
--- /dev/null
+++ b/src/engine/QCustomRuller.h
@@ -0,0 +1,60 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef QCUSTOMRULLER_H
+#define QCUSTOMRULLER_H
+
+// Basic inclusions (common to all files)
+#include "_GlobalDefines.h"
+
+#include <QLabel>
+#include <QSlider>
+#include <QPaintEvent>
+#include <QResizeEvent>
+#include <QMouseEvent>
+
+class QCustomRuller : public QSlider {
+Q_OBJECT
+public:
+ int TotalDuration; // Total duration in MSec of the movie
+ int StartPos; // Start position of the marked zone
+ int EndPos; // End position of the marked zone
+ int PreviousStartPos; // Start position of the previous slide
+ int PrevisousEndPos; // End position of the previous slide
+ int NextStartPos; // Start position of the next slide
+ int NextEndPos; // End position of the next slide
+
+ explicit QCustomRuller(QWidget *parent = 0);
+
+ void ActiveSlider(int TotalDuration);
+
+protected:
+ virtual void resizeEvent(QResizeEvent *);
+ virtual void paintEvent (QPaintEvent *);
+ virtual void mousePressEvent(QMouseEvent *);
+
+signals:
+ void PositionChangeByUser();
+
+public slots:
+
+};
+
+#endif // QCUSTOMRULLER_H
diff --git a/src/engine/_GlobalDefines.cpp b/src/engine/_GlobalDefines.cpp
new file mode 100755
index 0000000..64676ab
--- /dev/null
+++ b/src/engine/_GlobalDefines.cpp
@@ -0,0 +1,128 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+// Basic inclusions (common to all files)
+#include <iostream>
+#include "_GlobalDefines.h"
+
+int LogMsgLevel=LOGMSG_INFORMATION; // Level from wich debug message was print to stdout
+QStringList EventList; // Internal event queue
+QObject *EventReceiver=NULL; // Windows wich receive event
+
+#ifdef Q_OS_WIN
+ bool IsWindowsXP=false;
+
+ #include <windows.h>
+ #include <winbase.h>
+ #include <stdio.h>
+
+ // set low fragmentation heap to remove memory error
+ // from http://social.msdn.microsoft.com/forums/en-US/vclanguage/thread/7eec66a1-07b5-47aa-816d-7c1d7f7be274
+ // NOTE: To enable the low-fragmentation heap when running under a debugger, set the _NO_DEBUG_HEAP environment variable to 1.
+ void SetLFHeap() {
+
+ // Re-attach stdio if application was started from a console
+ BOOL (WINAPI *pAttachConsole)(DWORD dwProcessId);
+ pAttachConsole = (BOOL (WINAPI*)(DWORD))
+ GetProcAddress(LoadLibraryA("kernel32.dll"), "AttachConsole");
+
+ if (pAttachConsole != NULL && pAttachConsole(((DWORD)-1))) {
+ if (_fileno(stdout) < 0) freopen("CONOUT$","wb",stdout);
+ if (_fileno(stderr) < 0) freopen("CONOUT$","wb",stderr);
+ if (_fileno(stdin) < 0) freopen("CONIN$","rb",stdin);
+ std::ios::sync_with_stdio(); // Fix C++
+ }
+
+ // Check Windows System Version
+ if (QSysInfo().WindowsVersion<0x0030) { // prior to Windows XP
+
+ ToLog(LOGMSG_CRITICAL,"Sorry but this application can't work on this system");
+ exit(1);
+
+ } else if (QSysInfo().WindowsVersion==0x0030) { // If Windows XP
+
+ IsWindowsXP=true;
+
+ // Why would we have have to code it the hard way, that is by pulling the function out of the kernel32.dll?
+ // VS 6.0 doesn't have the API defined in its headers.
+
+ // Missing enum borrowed from: C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include\WinNT.h(8815)
+ typedef enum _HEAP_INFORMATION_CLASS {
+ HeapCompatibilityInformation
+ } HEAP_INFORMATION_CLASS;
+
+ // Function pointer prototype
+ typedef BOOL (WINAPI *Function_HeapSetInformation) (HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T);
+
+ WCHAR WinFileName[256+1];
+ MultiByteToWideChar(CP_ACP,0,QString("kernel32.dll").toLocal8Bit(),-1,WinFileName,256+1);
+ HMODULE hKernel32 = GetModuleHandle(WinFileName);
+
+ if(hKernel32) {
+ Function_HeapSetInformation heapSetInfo;
+ ULONG heapFlags = 2; // LFH == 2
+ HANDLE hProcessHeap = GetProcessHeap();
+ heapSetInfo = (Function_HeapSetInformation)GetProcAddress(hKernel32, "HeapSetInformation");
+ if (heapSetInfo) {
+ if(heapSetInfo(hProcessHeap, HeapCompatibilityInformation, &heapFlags, sizeof(ULONG))) {
+ ToLog(LOGMSG_INFORMATION,"DLLMain's Request for Low Fragmentation Heap for the Process Heap Successful");
+ } else {
+ ToLog(LOGMSG_WARNING,"DLLMain's Request for Low Fragmentation Heap for the Process Heap Unsuccessful. Will Run with the Standard Heap Allocators");
+ }
+ #if _MSC_VER >= 1300
+ // no way to get the pointer to the CRT heap in VC 6.0 (_crtheap)
+ if(heapSetInfo((HANDLE)_get_heap_handle(), HeapCompatibilityInformation, &heapFlags, sizeof(ULONG))) {
+ ToLog(LOGMSG_INFORMATION,"DLLMain's Request for Low Fragmentation for the CRT Heap Successful";
+ } else {
+ ToLog(LOGMSG_WARNING,"DLLMain's Request for Low Fragmentation for the CRT Heap Unsuccessful. Will Run with the Standard Heap Allocators");
+ }
+ #endif
+ } else {
+ ToLog(LOGMSG_WARNING,"DllMain unable to GetProcAddress for HeapSetInformation");
+ }
+ } else {
+ ToLog(LOGMSG_WARNING,"DllMain unable to GetModuleHandle(kernel32.dll)");
+ }
+ // Only try to set the heap once. If it fails, live with it.
+ }
+ // If > Windows/XP : nothing to do !
+ }
+#endif
+
+//====================================================================================================================
+
+void PostEvent(int EventType,QString EventParam) {
+ EventList.append(QString("%1###;###%2").arg(EventType).arg(EventParam));
+ if (EventReceiver!=NULL) QApplication::postEvent(EventReceiver,new QEvent(BaseAppEvent));
+}
+
+//====================================================================================================================
+
+void ToLog(int MessageType,QString Message,QString Source) {
+ if ((MessageType!=LOGMSG_DEBUGTRACE)&&(EventReceiver!=NULL)) PostEvent(EVENT_GeneralLogChanged,QString("%1###:###%2###:###%3").arg((int)MessageType).arg(Message).arg(Source));
+
+ QString DateTime=QTime::currentTime().toString("hh:mm:ss.zzz");
+ if (MessageType>=LogMsgLevel) switch (MessageType) {
+ case LOGMSG_DEBUGTRACE: std::cout << QString("["+DateTime+":DEBUGTRACE]\t" +Message+"\n").toLocal8Bit().constData() << std::flush; break;
+ case LOGMSG_INFORMATION: std::cout << QString("["+DateTime+":INFORMATION]\t"+Message+"\n").toLocal8Bit().constData() << std::flush; break;
+ case LOGMSG_WARNING: std::cout << QString("["+DateTime+":WARNING]\t" +Message+"\n").toLocal8Bit().constData() << std::flush; break;
+ case LOGMSG_CRITICAL: std::cout << QString("["+DateTime+":ERROR]\t" +Message+"\n").toLocal8Bit().constData() << std::flush; break;
+ }
+}
diff --git a/src/engine/_GlobalDefines.h b/src/engine/_GlobalDefines.h
new file mode 100755
index 0000000..9e549cc
--- /dev/null
+++ b/src/engine/_GlobalDefines.h
@@ -0,0 +1,83 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef _GLOBALDEFINES_H
+#define _GLOBALDEFINES_H
+
+/* ======================================================================
+ THIS FILE MUST ABSOLUTELY BE REFERENCED AT FIRST IN ALL .h FILES OF
+ THE PROJECT
+ ====================================================================== */
+
+//============================================
+// Activate standard stdint macro
+//============================================
+#ifdef _STDINT_H
+ #undef _STDINT_H // Remove previous inclusion (if exist)
+#endif
+
+#define __STDC_CONSTANT_MACROS // Activate macro for stdint
+#include <stdint.h> // Include stdint with macro activated
+
+//============================================
+// Minimum QT inclusions needed by all files
+//============================================
+#include <QtCore>
+#include <QApplication>
+
+//====================================================================
+// For windows, windows.h and winbase.h must be included after QtCore
+//====================================================================
+#ifdef Q_OS_WIN
+ #include <windows.h>
+ #include <winbase.h>
+ extern bool IsWindowsXP; // True if OS is Windows/XP
+#endif
+
+//====================================================================
+// Internal log defines and functions
+//====================================================================
+
+// Log level for message
+#define LOGMSG_DEBUGTRACE 1
+#define LOGMSG_INFORMATION 2
+#define LOGMSG_WARNING 3
+#define LOGMSG_CRITICAL 4
+
+const QEvent::Type BaseAppEvent = (QEvent::Type)2000; // The custom event will be send to EventReceiver (if EventReceiver not null)
+#define EVENT_GeneralLogChanged 1 // General internal event code to display log message
+
+extern int LogMsgLevel; // Level from wich debug message was print to stdout
+extern QStringList EventList; // Internal event queue
+extern QObject *EventReceiver; // Windows wich receive event
+
+#ifdef Q_OS_WIN
+void SetLFHeap();
+#endif
+void PostEvent(int EventType,QString EventParam="");
+void ToLog(int MessageType,QString Message,QString Source="internal");
+
+//====================================================================
+// VARIOUS
+//====================================================================
+
+enum SELECTMODE {SELECTMODE_NONE, SELECTMODE_ONE, SELECTMODE_MULTIPLE};
+
+#endif // _GLOBALDEFINES_H
diff --git a/src/engine/_QCustomDialog.cpp b/src/engine/_QCustomDialog.cpp
new file mode 100755
index 0000000..fbfd512
--- /dev/null
+++ b/src/engine/_QCustomDialog.cpp
@@ -0,0 +1,280 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "_QCustomDialog.h"
+#include <QHeaderView>
+#include <QInputDialog>
+#include <QDialogButtonBox>
+
+//====================================================================================================================
+
+QString CustomInputDialog(QWidget *parent,const QString &title,const QString &label,int mode,const QString &text,bool *ok,Qt::InputMethodHints inputMethodHints) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:CustomInputDialog");
+
+ Qt::WindowFlags Flags=(Qt::Dialog|Qt::CustomizeWindowHint|Qt::WindowSystemMenuHint|Qt::WindowMaximizeButtonHint)&(~Qt::WindowMinimizeButtonHint);
+
+ QInputDialog dialog(parent,Flags);
+ int x=QCursor::pos().x()-dialog.width(); if (x<0) x=0;
+ int y=QCursor::pos().y()-dialog.height(); if (y<0) y=0;
+ dialog.move(x,y);
+ dialog.setWindowTitle(title);
+ dialog.setLabelText(label);
+ dialog.setTextValue(text);
+ dialog.setTextEchoMode((QLineEdit::EchoMode)mode);
+ dialog.setInputMethodHints(inputMethodHints);
+ dialog.setWindowModality(Qt::ApplicationModal);
+
+ int ret = dialog.exec();
+ if (ok) *ok = !!ret;
+ if (ret) return dialog.textValue();
+ else return QString();
+}
+
+//====================================================================================================================
+
+int CustomMessageBox(QWidget *parent,QMessageBox::Icon icon,const QString& title,const QString& text,QMessageBox::StandardButtons buttons,QMessageBox::StandardButton defaultButton) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:CustomMessageBox");
+
+ Qt::WindowFlags Flags=(Qt::Dialog|Qt::CustomizeWindowHint|Qt::WindowSystemMenuHint|Qt::WindowMaximizeButtonHint)&(~Qt::WindowMinimizeButtonHint);
+
+ QMessageBox msgBox(icon,title,text,QMessageBox::NoButton,parent,Flags);
+ QDialogButtonBox *buttonBox = msgBox.findChild<QDialogButtonBox*>();
+
+ uint mask = QMessageBox::FirstButton;
+ while (mask <= QMessageBox::LastButton) {
+ uint sb = buttons & mask;
+ mask <<= 1;
+ if (!sb) continue;
+ QPushButton *button = msgBox.addButton((QMessageBox::StandardButton)sb);
+ // Choose the first accept role as the default
+ if (msgBox.defaultButton()) continue;
+ if ((defaultButton == QMessageBox::NoButton && buttonBox->buttonRole(button) == QDialogButtonBox::AcceptRole)
+ || (defaultButton != QMessageBox::NoButton && sb == uint(defaultButton)))
+ msgBox.setDefaultButton(button);
+ }
+ msgBox.setWindowModality(Qt::ApplicationModal);
+ if (msgBox.exec() == -1) return QMessageBox::Cancel;
+ return msgBox.standardButton(msgBox.clickedButton());
+}
+
+//====================================================================================================================
+
+QCustomDialog::QCustomDialog(QString HelpURL,cBaseApplicationConfig *BaseApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent):QDialog(parent) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::QCustomDialog");
+
+ this->HelpURL =HelpURL;
+ this->BaseApplicationConfig =BaseApplicationConfig;
+ this->DlgWSP =DlgWSP;
+ Undo =NULL;
+ OkBt =NULL;
+ CancelBt =NULL;
+ HelpBt =NULL;
+ UndoBt =NULL;
+
+ setWindowFlags((windowFlags()|Qt::CustomizeWindowHint|Qt::WindowSystemMenuHint|Qt::WindowMaximizeButtonHint)&(~Qt::WindowMinimizeButtonHint));
+}
+
+//====================================================================================================================
+
+QCustomDialog::~QCustomDialog() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::~QCustomDialog");
+
+ if (Undo) {
+ delete Undo;
+ Undo=NULL;
+ }
+}
+
+//====================================================================================================================
+// Initialise dialog
+
+void QCustomDialog::InitDialog() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::InitDialog");
+
+ // Define handler for standard buttons
+ if (OkBt) connect(OkBt,SIGNAL(clicked()),this,SLOT(accept()));
+ if (CancelBt) connect(CancelBt,SIGNAL(clicked()),this,SLOT(reject()));
+ if (UndoBt) connect(UndoBt,SIGNAL(clicked()),this,SLOT(DoPartialUndo()));
+
+ if (HelpBt) {
+ if (HelpURL!="") connect(HelpBt,SIGNAL(clicked()),this,SLOT(doHelp()));
+ else HelpBt->setVisible(false);
+ }
+
+ // Restore window size and position
+ RestoreWindowState();
+
+ // Prepare undo
+ PrepareGlobalUndo();
+
+ // Initialise dialog
+ DoInitDialog();
+
+ if (UndoBt) UndoBt->setEnabled(UndoDataList.count()>0);
+}
+
+//====================================================================================================================
+
+void QCustomDialog::doHelp() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::Help");
+
+ if (HelpURL!="") QDesktopServices::openUrl(QUrl(HelpURL.replace("<local>",BaseApplicationConfig->GetValideWEBLanguage(BaseApplicationConfig->CurrentLanguage))));
+}
+
+//====================================================================================================================
+
+void QCustomDialog::accept() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::accept");
+
+ SaveWindowState(); // Save Window size and position
+ DoAccept(); // call overloaded function
+ done(0); // Close dialog
+}
+
+//====================================================================================================================
+
+void QCustomDialog::reject() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::accept");
+
+ SaveWindowState(); // Save Window size and position
+ DoGlobalUndo(); // Undo change
+ DoRejet(); // call overloaded function
+ done(1); // Close dialog
+}
+
+//====================================================================================================================
+
+void QCustomDialog::SaveWindowState() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::SaveWindowState");
+
+ // Save Window size and position
+ if (DlgWSP) DlgWSP->SaveWindowState(this);
+}
+
+//====================================================================================================================
+
+void QCustomDialog::RestoreWindowState() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::RestoreWindowState");
+
+ // Restore window size and position
+ if (DlgWSP) DlgWSP->ApplyToWindow(this);
+}
+
+//====================================================================================================================
+// utility function to init a table widget
+
+void QCustomDialog::DoInitTableWidget(QTableWidget *Table,QString TableColumns) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::DoInitTableWidget");
+
+ Table->setSelectionBehavior(QAbstractItemView::SelectRows);
+ Table->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
+ Table->horizontalHeader()->show();
+ Table->horizontalHeader()->setStretchLastSection(false);
+ Table->horizontalHeader()->setSortIndicatorShown(false);
+ Table->horizontalHeader()->setCascadingSectionResizes(false);
+ Table->horizontalHeader()->setClickable(false);
+ Table->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft);
+ Table->horizontalHeader()->setMovable(false);
+ Table->horizontalHeader()->setResizeMode(QHeaderView::Fixed); //Fixed because ResizeToContents will be done after table filling
+ Table->verticalHeader()->hide();
+ Table->verticalHeader()->setStretchLastSection(false);
+ Table->verticalHeader()->setSortIndicatorShown(false);
+ Table->verticalHeader()->setResizeMode(QHeaderView::Fixed); // Fixed because ResizeToContents will be done after table filling
+ Table->setShowGrid(true); // Ensure grid display
+ Table->setWordWrap(false); // Ensure no word wrap
+ Table->setTextElideMode(Qt::ElideNone); // Ensure no line ellipsis (...)
+ Table->setColumnCount(TableColumns.split(";").count());
+ Table->setHorizontalHeaderLabels(TableColumns.split(";"));
+}
+
+//====================================================================================================================
+// utility function to create a QTableWidgetItem
+
+QTableWidgetItem *QCustomDialog::CreateItem(QString ItemText,int Alignment,QBrush Background) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::CreateItem");
+
+ QTableWidgetItem *Item=new QTableWidgetItem(ItemText);
+ Item->setTextAlignment(Alignment);
+ Item->setBackground(Background);
+ return Item;
+}
+
+//====================================================================================================================
+// utility function to resize columns in a table widget
+
+void QCustomDialog::DoResizeColumnsTableWidget(QTableWidget *Table) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::DoResizeColumnsTableWidget");
+
+ Table->horizontalHeader()->setResizeMode(QHeaderView::Fixed);
+ Table->setVisible(false); // To ensure all items of all columns are used to compute size
+ Table->resizeColumnsToContents(); // Resize column widht
+ Table->resizeRowsToContents(); // Resize row height
+ Table->setVisible(true); // To allow display
+ Table->horizontalHeader()->setResizeMode(QHeaderView::Interactive);
+}
+
+//====================================================================================================================
+// utility function to add a partial undo to the list
+
+void QCustomDialog::AppendPartialUndo(int ActionType,QWidget *FocusWindow,bool ForceAdd) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::AppendPartialUndo");
+ if ((ForceAdd)||(UndoDataList.count()==0)||(ActionType!=UndoDataList.last().ActionType)) {
+
+ QDomDocument DomDocument("UNDO");
+ QDomElement root=DomDocument.createElement("UNDO-DATA");
+ PreparePartialUndo(ActionType,root);
+ DomDocument.appendChild(root);
+
+ sUndoData Data;
+ Data.ActionType =ActionType;
+ Data.Data =DomDocument.toString(1);
+ Data.FocusWindow=FocusWindow;
+ UndoDataList.append(Data);
+ if (UndoBt) UndoBt->setEnabled(UndoDataList.count()>0);
+ }
+}
+
+//====================================================================================================================
+// utility function to undo latest undo insertion
+
+void QCustomDialog::RemoveLastPartialUndo() {
+ UndoDataList.removeLast();
+ if (UndoBt) UndoBt->setEnabled(UndoDataList.count()>0);
+}
+
+//====================================================================================================================
+// utility function to undo latest action
+
+void QCustomDialog::DoPartialUndo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::DoPartialUndo");
+ if (UndoDataList.count()==0) {
+ if (Undo!=NULL) DoGlobalUndo();
+ } else {
+ sUndoData Data=UndoDataList.last();
+ UndoDataList.removeLast();
+ QDomDocument DomDocument("UNDO");
+ if (DomDocument.setContent(Data.Data,true)) {
+ QDomElement root=DomDocument.documentElement();
+ if (root.tagName()=="UNDO-DATA") ApplyPartialUndo(Data.ActionType,root);
+ }
+ if (Data.FocusWindow!=NULL) Data.FocusWindow->setFocus();
+ }
+ if (UndoBt) UndoBt->setEnabled(UndoDataList.count()>0);
+}
diff --git a/src/engine/_QCustomDialog.h b/src/engine/_QCustomDialog.h
new file mode 100755
index 0000000..3fea99b
--- /dev/null
+++ b/src/engine/_QCustomDialog.h
@@ -0,0 +1,114 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef _QCUSTOMDIALOG_H
+#define _QCUSTOMDIALOG_H
+
+// Basic inclusions (common to all files)
+#include "_GlobalDefines.h"
+
+// Include some additional standard class
+#include <QShowEvent>
+#include <QString>
+#include <QDialog>
+#include <QDomDocument>
+#include <QPushButton>
+#include <QDesktopServices>
+#include <QTableWidgetItem>
+#include <QTableWidgetItem>
+#include <QIcon>
+#include <QLineEdit>
+#include <QMessageBox>
+
+// Include some common various class
+#include "cBaseApplicationConfig.h"
+
+class QCustomDialog : public QDialog {
+Q_OBJECT
+public:
+ struct sUndoData {
+ int ActionType;
+ QString Data;
+ QWidget *FocusWindow;
+ };
+
+ QList<sUndoData> UndoDataList;
+
+ QString HelpURL;
+ cBaseApplicationConfig *BaseApplicationConfig;
+ cSaveWindowPosition *DlgWSP;
+ QDomDocument *Undo; // Save object before modification for cancel button
+ QStringList UndoData;
+ QAbstractButton *OkBt;
+ QAbstractButton *CancelBt;
+ QAbstractButton *HelpBt;
+ QAbstractButton *UndoBt;
+
+ explicit QCustomDialog(QString HelpURL,cBaseApplicationConfig *BaseApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent = 0);
+ ~QCustomDialog();
+
+ virtual void InitDialog();
+
+ // Abstract function : need to be overloaded
+ virtual void DoInitDialog()=0; // Initialise dialog
+ virtual void DoAccept()=0; // Call when user click on Ok button
+ virtual void DoRejet()=0; // Call when user click on Cancel button
+ virtual void PrepareGlobalUndo()=0; // Initiale Undo
+ virtual void DoGlobalUndo()=0; // Apply Undo : call when user click on Cancel button
+
+ virtual void SaveWindowState();
+ virtual void RestoreWindowState();
+
+ virtual void AppendPartialUndo(int ActionType,QWidget *FocusWindow,bool ForceAdd);
+ virtual void RemoveLastPartialUndo();
+
+ virtual void PreparePartialUndo(int,QDomElement) {} // To be overloaded
+ virtual void ApplyPartialUndo(int,QDomElement) {} // To be overloaded
+
+protected:
+ virtual void accept();
+ virtual void reject();
+
+ // Utility functions
+ virtual void DoInitTableWidget(QTableWidget *Table,QString TableColumns);
+ virtual QTableWidgetItem *CreateItem(QString ItemText,int Alignment,QBrush Background);
+ virtual void DoResizeColumnsTableWidget(QTableWidget *Table);
+
+private slots:
+ void doHelp();
+ void DoPartialUndo();
+};
+
+//*********************************************************
+
+class QNullTableWidgetItem : public QTableWidgetItem {
+public:
+ explicit QNullTableWidgetItem(const QIcon &icon, const QString &text, int type):QTableWidgetItem(icon,text,type=Type) {setFlags(Qt::NoItemFlags);}
+ explicit QNullTableWidgetItem(const QTableWidgetItem &other):QTableWidgetItem(other) {setFlags(Qt::NoItemFlags);}
+ explicit QNullTableWidgetItem(int type):QTableWidgetItem(type=Type) {setFlags(Qt::NoItemFlags);}
+ explicit QNullTableWidgetItem(const QString &text,int type=Type):QTableWidgetItem(text,type=Type) {setFlags(Qt::NoItemFlags);}
+};
+
+
+// New definition for QInputDialog::getText
+QString CustomInputDialog(QWidget *parent,const QString &title,const QString &label,int mode,const QString &text,bool *ok,Qt::InputMethodHints inputMethodHints=Qt::ImhNone);
+int CustomMessageBox (QWidget *parent,QMessageBox::Icon icon,const QString& title,const QString& text,QMessageBox::StandardButtons buttons=QMessageBox::Ok,QMessageBox::StandardButton defaultButton=QMessageBox::NoButton);
+
+#endif // _QCUSTOMDIALOG_H
diff --git a/src/engine/_SDL_Support.cpp b/src/engine/_SDL_Support.cpp
new file mode 100755
index 0000000..37d1e3b
--- /dev/null
+++ b/src/engine/_SDL_Support.cpp
@@ -0,0 +1,182 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "_SDL_Support.h"
+#include "_QCustomDialog.h"
+#include <QMessageBox>
+
+//*********************************************************************************************************************************************
+// SDL global define values
+//*********************************************************************************************************************************************
+
+bool SDLIsAudioOpen=false; // true if SDL work at least one time
+double SDLCurrentFPS =-1; // Current FPS setting for SDL
+SDL_AudioSpec AudioSpec; // SDL param bloc
+cSDLSoundBlockList MixedMusic; // Sound to play
+Uint8 SDLBuf[64000];
+int32_t SDLBufSize=0;
+
+//*********************************************************************************************************************************************
+// SDL Audio Call Back
+//*********************************************************************************************************************************************
+
+
+void SDLAudioCallback(void *,Uint8 *stream,int len) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:SDLAudioCallback");
+
+ SDLIsAudioOpen=true;
+ /*if (len!=MixedMusic.SoundPacketSize) {
+ ToLog(LOGMSG_CRITICAL,QString("Error in SDLAudioCallback : Wanted len(%1)<>MixedMusic.SoundPacketSize(%2)").arg(len).arg(MixedMusic.SoundPacketSize));
+ return;
+ }*/
+ int32_t CurPos=0;
+ if (SDLBufSize>0) {
+ memcpy(stream,&SDLBuf,SDLBufSize);
+ CurPos=SDLBufSize;
+ SDLBufSize=0;
+ }
+ while (len>0) {
+ int16_t *Packet=MixedMusic.DetachFirstPacket();
+ if (Packet!=NULL) {
+ if (len>=MixedMusic.SoundPacketSize) {
+ memcpy(stream+CurPos,(Uint8 *)Packet,MixedMusic.SoundPacketSize);
+ CurPos+=MixedMusic.SoundPacketSize;
+ len -=MixedMusic.SoundPacketSize;
+ } else {
+ memcpy(stream+CurPos,(Uint8 *)Packet,len);
+ SDLBufSize=MixedMusic.SoundPacketSize-len;
+ memcpy(&SDLBuf,(Uint8 *)Packet+len,SDLBufSize);
+ CurPos+=len;
+ len -=MixedMusic.SoundPacketSize;
+ }
+ av_free(Packet);
+ } else {
+ memset(stream+CurPos,0,len);
+ len=0;
+ CurPos=0;
+ SDLBufSize=0;
+ }
+ }
+}
+
+//*********************************************************************************************************************************************
+// SDL Init/Reinit function
+//*********************************************************************************************************************************************
+
+void SDLFirstInit(double WantedFPS,bool SDLAncMode) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:SDLFirstInit");
+
+ // Start SDL
+ if (SDL_Init(SDL_INIT_AUDIO)) {
+ CustomMessageBox(NULL,QMessageBox::Critical,QApplication::translate("MainWindow","Error during startup"),
+ QApplication::translate("MainWindow","Error during initialisation of sound system. Check your configuration and try again"),
+ QMessageBox::Close,QMessageBox::Close);
+ ToLog(LOGMSG_CRITICAL,QString("SDLFirstInit=Could not initialize SDL :%1").arg(SDL_GetError()));
+ exit(1); // ExitApplicationWithFatalError
+ }
+ SDLSetFPS(WantedFPS,SDLAncMode);
+}
+
+//*********************************************************************************************************************************************
+// SDL Close function
+//*********************************************************************************************************************************************
+
+void SDLLastClose() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:SDLLastClose");
+
+ if (SDLIsAudioOpen) {
+ SDL_CloseAudio(); // Close audio
+ SDLIsAudioOpen=false;
+ SDL_Quit(); // Close library
+ }
+}
+
+//*********************************************************************************************************************************************
+// SDLSetFPS function
+//*********************************************************************************************************************************************
+
+void SDLSetFPS(double WantedFPS,bool SDLAncMode) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:SDLSetFPS");
+
+ //if (SDLCurrentFPS==WantedFPS) return;
+ SDLCurrentFPS=WantedFPS;
+
+ SDL_CloseAudio(); // Close audio
+
+ // Init MixedMusic
+ MixedMusic.ClearList(); // Free sound buffers
+ MixedMusic.SetFPS(WantedFPS);
+
+ // Init SDL
+ SDL_AudioSpec Desired;
+ Desired.channels=MixedMusic.Channels; // Number of chanels
+ Desired.format =AUDIO_S16SYS; // Sound format (pcm16le)
+ Desired.freq =MixedMusic.SamplingRate; // Frequency in Hz
+ Desired.userdata=NULL; // userdata parameter : not used
+ Desired.callback=SDLAudioCallback; // Link to callback function
+ Desired.samples =MixedMusic.SoundPacketSize/MixedMusic.Channels; // In samples unit * chanels number for Linux version
+ Desired.size =Desired.samples*2;
+ Desired.padding =0;
+ Desired.silence =0;
+#ifndef Q_OS_WIN
+ if (!SDLAncMode) Desired.samples/=MixedMusic.SampleBytes; // New SDL use byte instead of sample
+#endif
+ AudioSpec=Desired;
+ bool Error=false;
+ if (SDL_OpenAudio(&Desired,&AudioSpec)<0) Error=true;
+ if (Error) {
+ CustomMessageBox(NULL,QMessageBox::Critical,QApplication::translate("MainWindow","Error during startup"),
+ QApplication::translate("MainWindow","Error during initialisation of sound system. Check your configuration and try again"),
+ QMessageBox::Close,QMessageBox::Close);
+ ToLog(LOGMSG_CRITICAL,QString("SDLFirstInit=Error in SDL_OpenAudio:%1").arg(SDL_GetError()));
+ exit(1); // ExitApplicationWithFatalError
+ }
+}
+
+//====================================================================================================================
+// Construct block list -> SDL Version
+//====================================================================================================================
+cSDLSoundBlockList::cSDLSoundBlockList():cSoundBlockList() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cSDLSoundBlockList::cSDLSoundBlockList");
+}
+
+//====================================================================================================================
+// Detach the first packet of the list (do not make av_free) -> SDL Version
+//====================================================================================================================
+int16_t *cSDLSoundBlockList::DetachFirstPacket() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cSDLSoundBlockList::DetachFirstPacket");
+
+ int16_t *Ret=NULL;
+ SDL_LockAudio();
+ if (List.count()>0) Ret=(int16_t *)List.takeFirst();
+ SDL_UnlockAudio();
+ return Ret;
+}
+
+//====================================================================================================================
+// Append a packet to the end of the list -> SDL Version
+//====================================================================================================================
+void cSDLSoundBlockList::AppendPacket(int16_t *PacketToAdd) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cSDLSoundBlockList::AppendPacket");
+
+ SDL_LockAudio();
+ List.append(PacketToAdd);
+ SDL_UnlockAudio();
+}
diff --git a/src/sharedfiles/_SDL_Support.h b/src/engine/_SDL_Support.h
similarity index 100%
rename from src/sharedfiles/_SDL_Support.h
rename to src/engine/_SDL_Support.h
diff --git a/src/engine/cBaseApplicationConfig.cpp b/src/engine/cBaseApplicationConfig.cpp
new file mode 100755
index 0000000..bed85a8
--- /dev/null
+++ b/src/engine/cBaseApplicationConfig.cpp
@@ -0,0 +1,652 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+// Include some common various class
+#include "cBaseApplicationConfig.h"
+#include "cDeviceModelDef.h"
+
+// Include some additional standard class
+#include <QFile>
+#include <QDir>
+#include <QFileInfo>
+#include <QTextStream>
+#include <QTranslator>
+
+//*****************************************************************************************************************************************
+
+#ifdef Q_OS_LINUX
+ bool SearchRasterMode(QString ApplicationGroupName,QString ApplicationName,QString ConfigFileExt,QString ConfigFileRootName) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:SearchRasterMode");
+
+ QString UserConfigPath; // Path and filename to user profil path
+ QString UserConfigFile; // Path and filename to user configuration file
+ QString GlobalConfigFile; // Path and filename to global configuration file (in binary directory)
+ bool RasterMode=true;
+
+ UserConfigPath=QDir::homePath();
+ if (UserConfigPath[UserConfigPath.length()-1]!=QDir::separator()) UserConfigPath=UserConfigPath+QDir::separator();
+ UserConfigPath = UserConfigPath+"."+ApplicationGroupName+QDir::separator();
+ GlobalConfigFile=QFileInfo(ApplicationName+ConfigFileExt).absoluteFilePath();
+ UserConfigFile =QFileInfo(UserConfigPath+ApplicationName+ConfigFileExt).absoluteFilePath();
+
+
+ QFile file(GlobalConfigFile);
+ QDomDocument domDocument;
+ QDomElement root;
+ QString errorStr;
+ int errorLine,errorColumn;
+
+ // Load Global preferences
+ if (file.open(QFile::ReadOnly | QFile::Text)) {
+ if (domDocument.setContent(&file,true,&errorStr,&errorLine,&errorColumn)) {
+ root = domDocument.documentElement();
+ if ((root.tagName()==ConfigFileRootName)&&(root.elementsByTagName("GlobalPreferences").length()>0)&&(root.elementsByTagName("GlobalPreferences").item(0).isElement()==true)) {
+ ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Search Raster mode in configuration file")+GlobalConfigFile);
+ QDomElement Element=root.elementsByTagName("GlobalPreferences").item(0).toElement();
+ if (Element.hasAttribute("RasterMode")) RasterMode=Element.attribute("RasterMode")=="1";
+ }
+ }
+ file.close();
+ }
+
+ // Load user preferences
+ file.setFileName(UserConfigFile);
+ if (file.open(QFile::ReadOnly | QFile::Text)) {
+ if (domDocument.setContent(&file,true,&errorStr,&errorLine,&errorColumn)) {
+ root = domDocument.documentElement();
+ if ((root.tagName()==ConfigFileRootName)&&(root.elementsByTagName("GlobalPreferences").length()>0)&&(root.elementsByTagName("GlobalPreferences").item(0).isElement()==true)) {
+ ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Search Raster mode in configuration file")+GlobalConfigFile);
+ QDomElement Element=root.elementsByTagName("GlobalPreferences").item(0).toElement();
+ if (Element.hasAttribute("RasterMode")) RasterMode=Element.attribute("RasterMode")=="1";
+ }
+ }
+ file.close();
+ }
+
+ return RasterMode;
+ }
+#endif
+
+//====================================================================================================================
+
+QString GetTextSize(qlonglong Size) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:GetTextSize");
+
+ QString UnitStr="";
+ int Unit =0;
+
+ while ((Size>1024*1024)&&(Unit<2)) {
+ Unit++;
+ Size=Size/1024;
+ }
+ switch (Unit) {
+ case 0 : UnitStr=QApplication::translate("QCustomFolderTree","Kb","Unit Kb"); break;
+ case 1 : UnitStr=QApplication::translate("QCustomFolderTree","Mb","Unit Mb"); break;
+ case 2 : UnitStr=QApplication::translate("QCustomFolderTree","Gb","Unit Gb"); break;
+ case 3 : UnitStr=QApplication::translate("QCustomFolderTree","Tb","Unit Tb"); break;
+ }
+ if (Size==0) return "0";
+ else if (double(Size)/double(1024)>0.1) return QString("%1").arg(double(Size)/double(1024),8,'f',1).trimmed()+" "+UnitStr;
+ else return "<0.1"+UnitStr;
+}
+
+//====================================================================================================================
+
+bool CheckFolder(QString FileToTest,QString PathToTest) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:CheckFolder");
+
+ QString Path=QDir(PathToTest).absolutePath();
+ if (!Path.endsWith(QDir::separator())) Path=Path+QDir::separator();
+ bool IsFound=QFileInfo(Path+FileToTest).exists();
+ if (IsFound) QDir::setCurrent(Path);
+ ToLog(LOGMSG_INFORMATION,QString("Try to find datas in %1 %2").arg(Path+FileToTest).arg(IsFound));
+ return IsFound;
+}
+
+
+//**************************************************
+// First thing to do : ensure correct current path
+// At program startup : CurrentPath is set to data folder (we search GlobalConfig file) that could be :
+// in current path
+// or in ../ApplicationGroupName
+// or in ../ApplicationName
+// or in $$PREFIX/share/ApplicationGroupName
+// or in $$PREFIX/share/ApplicationName
+//**************************************************
+
+bool SetWorkingPath(char *argv[],QString ApplicationGroupName,QString ApplicationName,QString ConfigFileExt) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:SetWorkingPath");
+ QString StartupDir=QFileInfo(argv[0]).absolutePath();
+ ToLog(LOGMSG_INFORMATION,"StartupDir "+StartupDir);
+ QDir::setCurrent(StartupDir);
+
+ QString FileToTest =QString("%1%2").arg(ApplicationName).arg(ConfigFileExt);
+ QString ShareDir=SHARE_DIR;
+
+ if (!CheckFolder(FileToTest,QDir::currentPath())
+ &&(!CheckFolder(FileToTest,QString("..")+QDir().separator()+ApplicationGroupName))
+ &&(!CheckFolder(FileToTest,QString("..")+QDir().separator()+ApplicationName))
+ &&(!CheckFolder(FileToTest,ShareDir+QDir().separator()+QString("share")+QDir().separator()+ApplicationGroupName))
+ &&(!CheckFolder(FileToTest,ShareDir+QDir().separator()+QString("share")+QDir().separator()+ApplicationName))
+ ) {
+ ToLog(LOGMSG_INFORMATION,QString("Critical error : Impossible to find global configuration file (%1%2)").arg(ApplicationName).arg(ConfigFileExt));
+ exit(1);
+ }
+ ToLog(LOGMSG_INFORMATION,"Set working path to "+QDir::currentPath());
+
+ return true;
+}
+
+//====================================================================================================================
+
+//functions used to retrieve number of processor
+//Thanks to : Stuart Nixon
+//See : http://lists.trolltech.com/qt-interest/2006-05/thread00922-0.html
+int getCpuCount() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:getCpuCount");
+ int cpuCount=1;
+
+#ifdef Q_OS_WIN
+ SYSTEM_INFO si;
+ GetSystemInfo(&si);
+ cpuCount = si.dwNumberOfProcessors;
+#elif defined(Q_OS_UNIX) && !defined(Q_OS_MACX)
+ cpuCount = sysconf(_SC_NPROCESSORS_ONLN);
+#elif defined(Q_OS_MACX)
+ kern_return_t kr;
+ struct host_basic_info hostinfo;
+ unsigned int count;
+
+ count=HOST_BASIC_INFO_COUNT;
+ kr =host_info(mach_host_self(),HOST_BASIC_INFO,(host_info_t)&hostinfo,&count);
+
+ if (kr==KERN_SUCCESS) cpuCount=hostinfo.avail_cpus;
+#endif
+ if(cpuCount<1) cpuCount=1;
+ return cpuCount;
+}
+
+//====================================================================================================================
+
+//functions used to adjust folder name depending on operating system
+QString AdjustDirForOS(QString Dir) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:AdjustDirForOS");
+
+ #ifdef Q_OS_WIN
+ Dir.replace("/","\\");
+ bool DoubleSlashBegin=Dir.startsWith("\\\\");
+ Dir.replace("\\\\","\\");
+ if (DoubleSlashBegin) Dir="\\"+Dir;
+ #elif defined(Q_OS_UNIX) && !defined(Q_OS_MACX)
+ Dir.replace("\\","/");
+ #endif
+ return Dir;
+}
+
+//**********************************************************************************************************************
+// cBaseApplicationConfig
+//**********************************************************************************************************************
+
+//**********************************************************************************************************************
+// cBaseApplicationConfig
+//**********************************************************************************************************************
+
+cBaseApplicationConfig::cBaseApplicationConfig(QMainWindow *TheTopLevelWindow,QString TheAllowedWEBLanguage,QString TheApplicationGroupName,QString TheApplicationName,QString TheApplicationVersion,QString TheConfigFileExt,QString TheConfigFileRootName) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseApplicationConfig::cBaseApplicationConfig");
+
+ AllowedWEBLanguage =TheAllowedWEBLanguage;
+ TopLevelWindow =TheTopLevelWindow; // Link to MainWindow of the application
+ ApplicationGroupName =TheApplicationGroupName; // Private folder name to save user configuration file
+ ApplicationName =TheApplicationName; // Application name
+ ApplicationVersion =TheApplicationVersion; // Application version
+ ConfigFileExt =TheConfigFileExt; // File extension of configuration files
+ ConfigFileRootName =TheConfigFileRootName; // Name of root node in the config xml file
+ if (ApplicationGroupName!=ApplicationName) ToLog(LOGMSG_INFORMATION,QString("Starting %1 %2 %3").arg(ApplicationGroupName).arg(ApplicationName).arg(ApplicationVersion));
+ else ToLog(LOGMSG_INFORMATION,QString("Starting %1 %2").arg(ApplicationGroupName).arg(ApplicationVersion));
+}
+
+//====================================================================================================================
+
+cBaseApplicationConfig::~cBaseApplicationConfig() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseApplicationConfig::~cBaseApplicationConfig");
+
+ if (MainWinWSP) delete MainWinWSP; MainWinWSP=NULL;
+}
+
+//====================================================================================================================
+
+QString cBaseApplicationConfig::GetValideWEBLanguage(QString Language) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseApplicationConfig::GetValideWEBLanguage");
+
+ if (!AllowedWEBLanguage.contains(Language)) Language="en";
+ return Language;
+}
+
+//====================================================================================================================
+// Preload system icon images
+void cBaseApplicationConfig::PreloadSystemIcons() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseApplicationConfig::PreloadSystemIcons");
+
+ ToLog(LOGMSG_INFORMATION,"Loading system icons...");
+
+ DefaultCDROMIcon.LoadIconsFromIMG( "cdrom.png");
+ DefaultHDDIcon.LoadIconsFromIMG( "hdd.png");
+ DefaultUSBIcon.LoadIconsFromIMG( "usb.png");
+ DefaultREMOTEIcon.LoadIconsFromIMG( "hdd-lan.png");
+ DefaultFOLDERIcon.LoadIconsFromIMG( "directory.png");
+ DefaultDelayedIcon.LoadIconsFromIMG("delayed.png");
+ DefaultFFDIcon.LoadIconsFromIMG( "ffDiaporama.png");
+ DefaultThumbIcon.LoadIconsFromIMG( "Thumbnails.png");
+ DefaultIMAGEIcon.LoadIconsFromIMG( "image.png");
+ DefaultVIDEOIcon.LoadIconsFromIMG( "video.png");
+ DefaultMUSICIcon.LoadIconsFromIMG( "audio.png");
+ DefaultUSERIcon.LoadIconsFromIMG( "folder_home.png");
+ DefaultFILEIcon.LoadIconsFromIMG( "file.png");
+ VideoMask_120=QImage(":/img/VideoMask_120x180.png");
+ VideoMask_150=QImage(":/img/VideoMask_150x200.png");
+ VideoMask_162=QImage(":/img/VideoMask_162x216.png");
+}
+
+//====================================================================================================================
+
+QString cBaseApplicationConfig::GetFilterForMediaFile(FilterFile type) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseApplicationConfig::GetFilterForMediaFile");
+
+ // enum FilterFile {ALLFILE,IMAGEFILE,VIDEOFILE,MUSICFILE};
+ QString ReturnFile="";
+ if (type==ALLFILE) {
+ ReturnFile=ReturnFile+QApplication::translate("MainWindow","All suported file (");
+ for (int i=0;i<AllowImageExtension.count();i++) ReturnFile=ReturnFile+(i>0?" *":"*.")+AllowImageExtension[i];
+ for (int i=0;i<AllowVideoExtension.count();i++) ReturnFile=ReturnFile+(i>0?" *":"*.")+AllowVideoExtension[i];
+ ReturnFile=ReturnFile+")";
+ }
+ if ((type==ALLFILE)||(type==IMAGEFILE)) {
+ if (ReturnFile!="") ReturnFile=ReturnFile+";;";
+ ReturnFile=ReturnFile+QApplication::translate("MainWindow","Image file (");
+ for (int i=0;i<AllowImageExtension.count();i++) ReturnFile=ReturnFile+(i>0?" *":"*.")+AllowImageExtension[i];
+ ReturnFile=ReturnFile+")";
+ }
+ if ((type==ALLFILE)||(type==VIDEOFILE)) {
+ if (ReturnFile!="") ReturnFile=ReturnFile+";;";
+ ReturnFile=ReturnFile+QApplication::translate("MainWindow","Video file (");
+ for (int i=0;i<AllowVideoExtension.count();i++) ReturnFile=ReturnFile+(i>0?" *":"*.")+AllowVideoExtension[i];
+ ReturnFile=ReturnFile+")";
+ }
+ if (type==MUSICFILE) {
+ if (ReturnFile!="") ReturnFile=ReturnFile+";;";
+ ReturnFile=ReturnFile+QApplication::translate("MainWindow","Music file (");
+ for (int i=0;i<AllowMusicExtension.count();i++) ReturnFile=ReturnFile+(i>0?" *":"*.")+AllowMusicExtension[i];
+ ReturnFile=ReturnFile+")";
+ }
+ return ReturnFile;
+}
+
+//====================================================================================================================
+
+bool cBaseApplicationConfig::InitConfigurationValues(QString ForceLanguage,QApplication *App) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseApplicationConfig::InitConfigurationValues");
+
+ // Initialise all variables and set them default value
+ ParentWindow = NULL;
+ this->ForceLanguage = ForceLanguage;
+ MainWinState = false; // WindowsSettings-ismaximized
+ RestoreWindow = true; // if true then restore windows size and position
+ MainWinWSP = new cSaveWindowPosition("MainWindow",RestoreWindow,true); // MainWindow - Window size and position
+ #ifdef Q_OS_LINUX
+ RasterMode = true; // Enable or disable raster mode [Linux only]
+ CheckConfigAtStartup= true;
+ #endif
+ #ifdef Q_OS_WIN
+ CheckConfigAtStartup= false;
+ #endif
+ MemCacheMaxValue = 512*1024*1024; // 512 Mb for image cache
+ Crop1088To1080 = true; // Automaticaly crop video from 1088 lines to 1080 (CANON)
+ ApplyTransfoPreview = true; // True if image transformation are apply during preview
+ QuickResamplingPreview = false; // If true then use quick resampling during preview
+ Smoothing = true; // True do smoothing in preview
+ AllowCachedTransfoImages= false; // Allow cached transformed images
+
+ //*********************************************************************
+ // Search plateforme and define specific value depending on plateforme
+ //*********************************************************************
+ #ifdef Q_OS_WIN
+ switch (QSysInfo().WindowsVersion) {
+ case 0x0010 : Plateforme="Windows NT (operating system version 4.0)"; break;
+ case 0x0020 : Plateforme="Windows 2000 (operating system version 5.0)"; break;
+ case 0x0030 : Plateforme="Windows XP (operating system version 5.1)"; break;
+ case 0x0040 : Plateforme="Windows Server 2003, Windows Server 2003 R2, Windows Home Server, Windows XP Professional x64 Edition (operating system version 5.2)"; break;
+ case 0x0080 : Plateforme="Windows Vista, Windows Server 2008 (operating system version 6.0)"; break;
+ case 0x0090 : Plateforme="Windows 7, Windows Server 2008 R2 (operating system version 6.1)"; break;
+ default : Plateforme="Unknown version"; break;
+ }
+
+ // Load registry value for specific Windows Folder
+ QSettings Settings("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders",QSettings::NativeFormat);
+ WINDOWS_APPDATA =Settings.value("AppData").toString();
+ WINDOWS_MUSIC =Settings.value("My Music").toString();
+ WINDOWS_PICTURES =Settings.value("My Pictures").toString();
+ WINDOWS_VIDEO =Settings.value("My Video").toString();
+ WINDOWS_DOCUMENTS=Settings.value("Personal").toString();
+ #endif
+ #ifdef Q_WS_X11
+ Plateforme="Unix/Linux";
+ #endif
+
+ //*******************************************************
+ // Now we can construct Global and User ConfigFile value
+ //*******************************************************
+ #ifdef Q_OS_WIN
+ UserConfigPath=WINDOWS_APPDATA;
+ if (UserConfigPath[UserConfigPath.length()-1]!=QDir::separator()) UserConfigPath=UserConfigPath+QDir::separator();
+ UserConfigPath = UserConfigPath+ApplicationGroupName+QDir::separator();
+ #else
+ UserConfigPath=QDir::homePath();
+ if (UserConfigPath[UserConfigPath.length()-1]!=QDir::separator()) UserConfigPath=UserConfigPath+QDir::separator();
+ UserConfigPath = UserConfigPath+"."+ApplicationGroupName+QDir::separator();
+ #endif
+ GlobalConfigFile=QFileInfo(ApplicationName+ConfigFileExt).absoluteFilePath();
+ UserConfigFile =QFileInfo(UserConfigPath+ApplicationName+ConfigFileExt).absoluteFilePath();
+
+ // Define application name
+ if (ApplicationGroupName==ApplicationName) App->setApplicationName(ApplicationName+QString(" ")+ApplicationVersion);
+ else App->setApplicationName(ApplicationGroupName+QString(" ")+ApplicationName+QString(" ")+ApplicationVersion);
+
+ // Prepare lists of allowed extension
+ //************************************
+ // List of all file extension allowed for video
+ AllowVideoExtension.append("avi"); AllowVideoExtension.append("AVI");
+ AllowVideoExtension.append("mov"); AllowVideoExtension.append("MOV");
+ AllowVideoExtension.append("mpg"); AllowVideoExtension.append("MPG");
+ AllowVideoExtension.append("mpeg"); AllowVideoExtension.append("MPEG");
+ AllowVideoExtension.append("m4v"); AllowVideoExtension.append("M4V");
+ AllowVideoExtension.append("mkv"); AllowVideoExtension.append("MKV");
+ AllowVideoExtension.append("mp4"); AllowVideoExtension.append("MP4");
+ AllowVideoExtension.append("flv"); AllowVideoExtension.append("FLV");
+ AllowVideoExtension.append("3gp"); AllowVideoExtension.append("3GP");
+ AllowVideoExtension.append("ogv"); AllowVideoExtension.append("OGV");
+ AllowVideoExtension.append("webm"); AllowVideoExtension.append("WEBM");
+ AllowVideoExtension.append("dv"); AllowVideoExtension.append("DV");
+#ifdef LIBAV_AVCHD
+ AllowVideoExtension.append("mts"); AllowVideoExtension.append("MTS");
+#endif
+ // List of all file extension allowed for image
+ AllowImageExtension.append("bmp"); AllowImageExtension.append("BMP");
+ AllowImageExtension.append("gif"); AllowImageExtension.append("GIF");
+ AllowImageExtension.append("jpg"); AllowImageExtension.append("JPG");
+ AllowImageExtension.append("jpeg"); AllowImageExtension.append("JPEG");
+ AllowImageExtension.append("png"); AllowImageExtension.append("PNG");
+ AllowImageExtension.append("pbm"); AllowImageExtension.append("PBM");
+ AllowImageExtension.append("pgm"); AllowImageExtension.append("PGM");
+ AllowImageExtension.append("ppm"); AllowImageExtension.append("PPM");
+ AllowImageExtension.append("tiff"); AllowImageExtension.append("TIFF");
+ AllowImageExtension.append("tif"); AllowImageExtension.append("TIF");
+ AllowImageExtension.append("xbm"); AllowImageExtension.append("XBM");
+ AllowImageExtension.append("xpm"); AllowImageExtension.append("XPM");
+ // List of all file extension allowed for musique
+ AllowMusicExtension.append("wav"); AllowMusicExtension.append("WAV");
+ AllowMusicExtension.append("mp3"); AllowMusicExtension.append("MP3");
+ AllowMusicExtension.append("mp4"); AllowMusicExtension.append("MP4");
+ AllowMusicExtension.append("m4a"); AllowMusicExtension.append("M4A");
+ AllowMusicExtension.append("m4b"); AllowMusicExtension.append("M4B");
+ AllowMusicExtension.append("m4p"); AllowMusicExtension.append("M4P");
+ AllowMusicExtension.append("3g2"); AllowMusicExtension.append("3G2");
+ AllowMusicExtension.append("ogg"); AllowMusicExtension.append("OGG");
+ AllowMusicExtension.append("oga"); AllowMusicExtension.append("OGA");
+ AllowMusicExtension.append("spx"); AllowMusicExtension.append("SPX");
+ AllowMusicExtension.append("wma"); AllowMusicExtension.append("WMA");
+ AllowMusicExtension.append("flac"); AllowMusicExtension.append("FLAC");
+
+ // set value of external tools path (depending on operating system)
+ PathEXIV2 = "exiv2"; // FileName of exiv2 (with path) : Linux version
+ RememberLastDirectories = true; // If true, Remember all directories for future use
+ #ifdef Q_OS_WIN
+ LastMediaPath = WINDOWS_PICTURES; // Last folder use for image/video
+ LastMusicPath = WINDOWS_MUSIC; // Last folder use for music
+ #endif
+ #ifdef Q_WS_X11
+ LastMediaPath = QDir::home().absolutePath(); // Last folder use for image/video
+ LastMusicPath = QDir::home().absolutePath(); // Last folder use for music
+ #endif
+
+ // MMFiler specific options
+ ShowHiddenFilesAndDir =false;
+ ShowMntDrive =false;
+ ShowFoldersFirst =true;
+ CurrentFilter =OBJECTTYPE_UNMANAGED;
+ CurrentMode =DISPLAY_DATA;
+ DisplayFileName =true;
+ MinimumEXIFHeight =100;
+ Image_ThumbWidth =300;
+ Image_ThumbHeight =200;
+ Music_ThumbWidth =200;
+ Music_ThumbHeight =200;
+ Video_ThumbWidth =162;
+ Video_ThumbHeight =216;
+
+ // Init all others values by call subclassing function
+ InitValues();
+
+ LoadConfigurationFile(GLOBALCONFIGFILE,App); // Get values from global configuration file (overwrite previously initialized values)
+ if (!LoadConfigurationFile(USERCONFIGFILE,App)) SaveConfigurationFile(); // Load values from user configuration file (overwrite previously initialized values)
+
+ return true;
+}
+
+//====================================================================================================================
+
+bool cBaseApplicationConfig::LoadConfigurationFile(LoadConfigFileType TypeConfigFile,QApplication *App) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseApplicationConfig::LoadConfigurationValues"+(TypeConfigFile==USERCONFIGFILE?UserConfigFile:GlobalConfigFile));
+
+ QFile file(TypeConfigFile==USERCONFIGFILE?UserConfigFile:GlobalConfigFile);
+ QDomDocument domDocument;
+ QDomElement root;
+ QString errorStr;
+ int errorLine,errorColumn;
+ bool IsOk=true;
+
+ ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Read configuration file")+" "+(TypeConfigFile==USERCONFIGFILE?UserConfigFile:GlobalConfigFile));
+ if (!file.open(QFile::ReadOnly | QFile::Text)) {
+ ToLog(LOGMSG_WARNING,QApplication::translate("MainWindow","Error reading configuration file","Error message")+" "+(TypeConfigFile==USERCONFIGFILE?UserConfigFile:GlobalConfigFile));
+ IsOk=false;
+ }
+
+ if (IsOk && (!domDocument.setContent(&file,true,&errorStr,&errorLine,&errorColumn))) {
+ ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","Error reading content of configuration file","Error message")+" "+(TypeConfigFile==USERCONFIGFILE?UserConfigFile:GlobalConfigFile));
+ IsOk=false;
+ }
+
+ if (IsOk) {
+ root = domDocument.documentElement();
+ if (root.tagName()!=ConfigFileRootName) {
+ ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","The file is not a valid configuration file","Error message")+" "+(TypeConfigFile==USERCONFIGFILE?UserConfigFile:GlobalConfigFile));
+ IsOk=false;
+ }
+ }
+
+ if (IsOk) {
+ // Load Global preferences
+ if ((root.elementsByTagName("GlobalPreferences").length()>0)&&(root.elementsByTagName("GlobalPreferences").item(0).isElement()==true)) {
+ QDomElement Element=root.elementsByTagName("GlobalPreferences").item(0).toElement();
+ #ifdef Q_OS_LINUX
+ if (Element.hasAttribute("RasterMode")) RasterMode =Element.attribute("RasterMode")=="1";
+ #endif
+ if (Element.hasAttribute("RestoreWindow")) RestoreWindow =Element.attribute("RestoreWindow")=="1";
+ if ((Element.hasAttribute("ForceLanguage"))&&(ForceLanguage=="")) ForceLanguage =Element.attribute("ForceLanguage");
+ if (Element.hasAttribute("Crop1088To1080")) Crop1088To1080 =Element.attribute("Crop1088To1080")!="0";
+ if (Element.hasAttribute("ApplyTransfoPreview")) ApplyTransfoPreview =Element.attribute("ApplyTransfoPreview")=="1";
+ if (Element.hasAttribute("QuickResamplingPreview")) QuickResamplingPreview =Element.attribute("QuickResamplingPreview")=="1";
+ if (Element.hasAttribute("Smoothing")) Smoothing =Element.attribute("Smoothing")=="1";
+ if (Element.hasAttribute("CheckConfigAtStartup")) CheckConfigAtStartup =Element.attribute("CheckConfigAtStartup")=="1";
+ }
+
+ if ((domDocument.elementsByTagName("LastDirectories").length()>0)&&(domDocument.elementsByTagName("LastDirectories").item(0).isElement()==true)) {
+ QDomElement Element=domDocument.elementsByTagName("LastDirectories").item(0).toElement();
+ if (Element.hasAttribute("RememberLastDirectories")) RememberLastDirectories=Element.attribute("RememberLastDirectories")=="1";
+ if (Element.hasAttribute("LastMediaPath")) LastMediaPath =Element.attribute("LastMediaPath");
+ if (Element.hasAttribute("LastMusicPath")) LastMusicPath =Element.attribute("LastMusicPath");
+ }
+
+ // Load windows size and position
+ MainWinWSP->LoadFromXML(root); // MainWindow - Window size and position
+
+ if ((domDocument.elementsByTagName("MMFiler").length()>0)&&(domDocument.elementsByTagName("MMFiler").item(0).isElement()==true)) {
+ QDomElement Element=domDocument.elementsByTagName("MMFiler").item(0).toElement();
+ if (Element.hasAttribute("ShowHiddenFilesAndDir")) ShowHiddenFilesAndDir=Element.attribute("ShowHiddenFilesAndDir")=="1";
+ if (Element.hasAttribute("ShowMntDrive")) ShowMntDrive=Element.attribute("ShowMntDrive")=="1";
+ if (Element.hasAttribute("ShowFoldersFirst")) ShowFoldersFirst=Element.attribute("ShowFoldersFirst")=="1";
+ if (Element.hasAttribute("CurrentFilter")) CurrentFilter=Element.attribute("CurrentFilter").toInt();
+ if (Element.hasAttribute("CurrentMode")) CurrentMode=Element.attribute("CurrentMode").toInt();
+ if (Element.hasAttribute("DisplayFileName")) DisplayFileName=Element.attribute("DisplayFileName")=="1";
+ if (Element.hasAttribute("MinimumEXIFHeight")) MinimumEXIFHeight=Element.attribute("MinimumEXIFHeight").toInt();
+ if (Element.hasAttribute("Image_ThumbWidth")) Image_ThumbWidth=Element.attribute("Image_ThumbWidth").toInt();
+ if (Element.hasAttribute("Image_ThumbHeight")) Image_ThumbHeight=Element.attribute("Image_ThumbHeight").toInt();
+ if (Element.hasAttribute("Music_ThumbWidth")) Music_ThumbWidth=Element.attribute("Music_ThumbWidth").toInt();
+ if (Element.hasAttribute("Music_ThumbHeight")) Music_ThumbHeight=Element.attribute("Music_ThumbHeight").toInt();
+ if (Element.hasAttribute("Video_ThumbWidth")) Video_ThumbWidth=Element.attribute("Video_ThumbWidth").toInt();
+ if (Element.hasAttribute("Video_ThumbHeight")) Video_ThumbHeight=Element.attribute("Video_ThumbHeight").toInt();
+ }
+
+ if ((domDocument.elementsByTagName("CacheMemory").length()>0)&&(domDocument.elementsByTagName("CacheMemory").item(0).isElement()==true)) {
+ QDomElement Element=domDocument.elementsByTagName("CacheMemory").item(0).toElement();
+ if (Element.hasAttribute("MemCacheMaxValue")) MemCacheMaxValue=qlonglong(Element.attribute("MemCacheMaxValue").toInt())*qlonglong(1024*1024);
+ if (Element.hasAttribute("AllowCachedTransfoImages")) AllowCachedTransfoImages=Element.attribute("AllowCachedTransfoImages")=="1";
+ }
+ }
+
+ if (TypeConfigFile==USERCONFIGFILE) {
+ // Search system language
+
+ CurrentLanguage=QLocale::system().name().left(2);
+ if (ForceLanguage!="") CurrentLanguage=ForceLanguage;
+
+ // Validate if system locale is supported and if not force use of "en"
+ if ((CurrentLanguage!="en")&&(!QFileInfo(QString("locale")+QDir().separator()+ApplicationName+QString("_")+CurrentLanguage+QString(".qm")).exists())) {
+ ToLog(LOGMSG_INFORMATION,QString("Language \"%1\" not found : switch to english").arg(CurrentLanguage));
+ CurrentLanguage="en";
+ }
+
+ // Install translation (if needed)
+ if (CurrentLanguage!="en") {
+ // Load translation
+ if (!translator.load(QString("locale")+QDir().separator()+ApplicationName+QString("_")+CurrentLanguage+QString(".qm"))) {
+ ToLog(LOGMSG_WARNING,QString("Error loading application translation file ... locale")+QDir().separator()+ApplicationName+QString("_")+CurrentLanguage+QString(".qm"));
+ exit(1);
+ } else ToLog(LOGMSG_INFORMATION,QString("Loading application translation file ... locale")+QDir().separator()+ApplicationName+QString("_")+CurrentLanguage+QString(".qm"));
+
+ // Try to load QT system translation file in current project local folder
+ if (QFileInfo(QString("locale")+QDir::separator()+QString("qt_")+CurrentLanguage+QString(".qm")).exists()) {
+ if (!QTtranslator.load(QString("locale")+QDir::separator()+QString("qt_")+CurrentLanguage+QString(".qm"))) {
+ ToLog(LOGMSG_WARNING,QString("Error loading QT system translation file ... locale")+QDir::separator()+QString("qt_")+CurrentLanguage+".qm");
+ } else {
+ ToLog(LOGMSG_INFORMATION,QString("Loading QT system translation file ... locale")+QDir::separator()+QString("qt_")+CurrentLanguage+".qm");
+ }
+ } else if (QFileInfo(QString("..")+QDir::separator()+QString("..")+QDir::separator()+QString("locale")+QDir::separator()+QString("qt_")+CurrentLanguage+QString(".qm")).exists()) {
+ // If not then try to load QT system translation file in parrent project local folder
+ if (!QTtranslator.load(QString("..")+QDir::separator()+QString("..")+QDir::separator()+QString("locale")+QDir::separator()+QString("qt_")+CurrentLanguage+QString(".qm"))) {
+ ToLog(LOGMSG_WARNING,QString("Error loading QT system translation file ... ..")+QDir::separator()+QString("..")+QDir::separator()+QString("locale")+QDir::separator()+QString("qt_")+CurrentLanguage+QString(".qm"));
+ } else {
+ ToLog(LOGMSG_INFORMATION,QString("Loading QT system translation file ... ..")+QDir::separator()+QString("..")+QDir::separator()+QString("locale")+QDir::separator()+QString("qt_")+CurrentLanguage+QString(".qm"));
+ }
+ }
+ App->installTranslator(&translator);
+ App->installTranslator(&QTtranslator);
+ }
+
+ }
+
+ return IsOk && LoadValueFromXML(root,TypeConfigFile);
+}
+
+//====================================================================================================================
+
+bool cBaseApplicationConfig::SaveConfigurationFile() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseApplicationConfig::SaveConfigurationValues");
+
+ // Save all option to the configuration file
+ QFile file(UserConfigFile);
+ QDomDocument domDocument(ApplicationName);
+ QDomElement root;
+
+ // Ensure destination exist
+ QFileInfo ConfPath(UserConfigFile);
+ QDir ConfDir;
+ ConfDir.mkdir(ConfPath.path());
+
+ // Create xml document and root
+ root=domDocument.createElement(ConfigFileRootName);
+ domDocument.appendChild(root);
+
+ // Save preferences
+ QDomElement Element;
+ Element=domDocument.createElement("GlobalPreferences");
+ #ifdef Q_OS_LINUX
+ Element.setAttribute("RasterMode", RasterMode?"1":"0");
+ #endif
+ Element.setAttribute("RestoreWindow", RestoreWindow?"1":"0");
+ Element.setAttribute("ForceLanguage", ForceLanguage);
+ Element.setAttribute("Crop1088To1080", Crop1088To1080?"1":"0");
+ Element.setAttribute("ApplyTransfoPreview", ApplyTransfoPreview?"1":0);
+ Element.setAttribute("QuickResamplingPreview", QuickResamplingPreview?"1":0);
+ Element.setAttribute("Smoothing", Smoothing?"1":0);
+ Element.setAttribute("CheckConfigAtStartup", CheckConfigAtStartup?"1":"0");
+ root.appendChild(Element);
+
+ Element=domDocument.createElement("LastDirectories");
+ Element.setAttribute("RememberLastDirectories", RememberLastDirectories?"1":"0");
+ Element.setAttribute("LastMediaPath", LastMediaPath);
+ Element.setAttribute("LastMusicPath", LastMusicPath);
+ root.appendChild(Element);
+
+ Element=domDocument.createElement("MMFiler");
+ Element.setAttribute("ShowHiddenFilesAndDir", ShowHiddenFilesAndDir?"1":"0");
+ Element.setAttribute("ShowMntDrive", ShowMntDrive?"1":"0");
+ Element.setAttribute("ShowFoldersFirst", ShowFoldersFirst?"1":"0");
+ Element.setAttribute("CurrentFilter", CurrentFilter);
+ Element.setAttribute("CurrentMode", CurrentMode);
+ Element.setAttribute("DisplayFileName", DisplayFileName?"1":"0");
+ Element.setAttribute("MinimumEXIFHeight", MinimumEXIFHeight);
+ Element.setAttribute("Image_ThumbWidth", Image_ThumbWidth);
+ Element.setAttribute("Image_ThumbHeight", Image_ThumbHeight);
+ Element.setAttribute("Music_ThumbWidth", Music_ThumbWidth);
+ Element.setAttribute("Music_ThumbHeight", Music_ThumbHeight);
+ Element.setAttribute("Video_ThumbWidth", Video_ThumbWidth);
+ Element.setAttribute("Video_ThumbHeight", Video_ThumbHeight);
+ root.appendChild(Element);
+
+ Element=domDocument.createElement("CacheMemory");
+ Element.setAttribute("MemCacheMaxValue", MemCacheMaxValue/(1024*1024));
+ Element.setAttribute("AllowCachedTransfoImages",AllowCachedTransfoImages?"1":"0");
+ root.appendChild(Element);
+
+ // Save windows size and position
+ MainWinWSP->SaveToXML(root);
+
+ SaveValueToXML(root);
+
+ // Write file to disk
+ if (!file.open(QFile::WriteOnly | QFile::Text)) {
+ ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","Error creating configuration file","Error message")+" "+UserConfigFile);
+ return false;
+ }
+ QTextStream out(&file);
+ domDocument.save(out,4);
+ file.close();
+ return true;
+}
diff --git a/src/engine/cBaseApplicationConfig.h b/src/engine/cBaseApplicationConfig.h
new file mode 100755
index 0000000..31bffbb
--- /dev/null
+++ b/src/engine/cBaseApplicationConfig.h
@@ -0,0 +1,186 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef CBASEAPPLICATIONCONFIG_H
+#define CBASEAPPLICATIONCONFIG_H
+
+// Basic inclusions (common to all files)
+#include "_GlobalDefines.h"
+
+// Include some additional standard class
+#include <unistd.h>
+#include <QString>
+#include <QStringList>
+#include <QWidget>
+#include <QTranslator>
+#include <QDomElement>
+#include <QDomDocument>
+#include <QMainWindow>
+
+// Include some common various class
+#include "cSaveWindowPosition.h"
+#include "cCustomIcon.h"
+#include "cFilterTransformObject.h"
+#include "cLuLoImageCache.h"
+
+// Standard geometry definition
+#define GEOMETRY_4_3 0
+#define GEOMETRY_16_9 1
+#define GEOMETRY_40_17 2
+#define NBR_GEOMETRY_DEF 3
+
+// Media object types
+#define OBJECTTYPE_UNMANAGED 0
+#define OBJECTTYPE_MANAGED 1
+#define OBJECTTYPE_FOLDER 2
+#define OBJECTTYPE_FFDFILE 3
+#define OBJECTTYPE_IMAGEFILE 4
+#define OBJECTTYPE_VIDEOFILE 5
+#define OBJECTTYPE_MUSICFILE 6
+#define OBJECTTYPE_THUMBNAIL 7
+
+// MMFiler allowed display mode
+#define DISPLAY_DATA 0
+#define DISPLAY_WEBSHORT 1
+#define DISPLAY_WEBLONG 2
+#define DISPLAY_ICON48 3
+#define DISPLAY_ICON100 4
+#define DISPLAY_ICONBIG 5
+
+#define THUMBNAILCACHEFILE ".ThumbnailsCache.xml" // Name of thumbnails cached file
+#define THUMBCACHE_APPNAME "FFD-ThumbnailsCache"
+#define THUMBCACHE_ROOTNAME "ThumbnailsCache" // Name of root node in thumbnails cached file
+
+//****************************************************************************************************************************************************************
+
+// Utility functions
+int getCpuCount(); // Retrieve number of processor
+QString AdjustDirForOS(QString Dir); // Adjust separator in pathname depending on operating system
+QString GetTextSize(qlonglong Size); // transform a size (_int64) in a string with apropriate unit (Gb/Tb...)
+bool CheckFolder(QString FileToTest,QString PathToTest); // Check if FileToTest exist in PathToTest and if yes the change current folder to PathToTest
+bool SetWorkingPath(char *argv[],QString ApplicationGroupName,QString ApplicationName,QString ConfigFileExt); // Adjust current folder
+
+#ifdef Q_OS_LINUX
+ bool SearchRasterMode(QString ApplicationGroupName,QString ApplicationName,QString ConfigFileExt,QString ConfigFileRootName);
+#endif
+
+// Application config class
+class cBaseApplicationConfig {
+public:
+ enum FilterFile {ALLFILE,IMAGEFILE,VIDEOFILE,MUSICFILE};
+ enum LoadConfigFileType {USERCONFIGFILE,GLOBALCONFIGFILE};
+
+ QString PathEXIV2; // Filename with path to exiv2 binary
+ QString BinaryEncoderPath; // Filename with path to binary encoder ffmpeg or avconv
+
+ bool RasterMode; // Enable or disable raster mode [Linux only]
+ bool RestoreWindow; // If true, restore window state and position at startup
+ QMainWindow *TopLevelWindow; // Link to MainWindow of the application
+ QString AllowedWEBLanguage;
+
+ // Image cache
+ cLuLoImageCache ImagesCache; // cLuLoImageCache List Object
+ qlonglong MemCacheMaxValue; // Maximum value for image cache
+ bool AllowCachedTransfoImages; // If true allow use of cached transformed images
+
+ // Last directories
+ bool RememberLastDirectories; // If true, Remember all directories for future use
+ QString LastMediaPath; // Last folder use for image/video
+ QString LastMusicPath; // Last folder use for music
+
+ // Other
+ bool Smoothing; // True do smoothing in preview
+ bool Crop1088To1080; // Automaticaly crop video from 1088 lines to 1080 (CANON)
+ bool QuickResamplingPreview; // If true then use quick resampling during preview
+ bool ApplyTransfoPreview; // True if image transformation are apply during preview
+ bool CheckConfigAtStartup; // If true, check config at startup
+
+ #ifdef Q_OS_WIN
+ // Options for windows only
+ // registry value for specific Windows Folder
+ QString WINDOWS_APPDATA; // specific Windows Folder : AppData
+ QString WINDOWS_MUSIC; // specific Windows Folder : My Music
+ QString WINDOWS_PICTURES; // specific Windows Folder : My Pictures
+ QString WINDOWS_VIDEO; // specific Windows Folder : My Video
+ QString WINDOWS_DOCUMENTS; // specific Windows Folder : Personal
+ #endif
+
+ QString ApplicationGroupName; // Private folder name to save user configuration file
+ QString ApplicationName; // Application name
+ QString ApplicationVersion; // Application version
+ QString ConfigFileExt; // File extension of configuration files
+ QString ConfigFileRootName; // Name of root node in the config xml file
+ QStringList AllowVideoExtension; // List of all file extension allowed for video
+ QStringList AllowImageExtension; // List of all file extension allowed for image
+ QStringList AllowMusicExtension; // List of all file extension allowed for music
+ QString Plateforme; // Operating system in use
+ QWidget *ParentWindow; // Link to the top window
+ QString UserConfigPath; // Path and filename to user profil path
+ QString UserConfigFile; // Path and filename to user configuration file
+ QString GlobalConfigFile; // Path and filename to global configuration file (in binary directory)
+ QString CurrentFolder; // Current Path
+ QString CurrentLanguage; // Current Language translation
+ QString ForceLanguage; // Empty or forced language
+ bool MainWinState; // WindowsSettings-ismaximized
+ cSaveWindowPosition *MainWinWSP; // MainWindow - Window size and position
+
+ QTranslator translator; // translator for the application
+ QTranslator QTtranslator; // translator for QT default text
+
+ // Default systems icons
+ cCustomIcon DefaultCDROMIcon,DefaultHDDIcon,DefaultUSBIcon,DefaultREMOTEIcon;
+ cCustomIcon DefaultUSERIcon,DefaultFOLDERIcon;
+ cCustomIcon DefaultFILEIcon,DefaultDelayedIcon;
+ cCustomIcon DefaultIMAGEIcon,DefaultThumbIcon;
+ cCustomIcon DefaultVIDEOIcon,DefaultMUSICIcon;
+ cCustomIcon DefaultFFDIcon;
+ QImage VideoMask_120,VideoMask_150,VideoMask_162;
+
+ // MMFiler specific add-on
+ bool ShowHiddenFilesAndDir; // If true, hidden files will be show
+ bool ShowMntDrive; // If true, show drives under /mnt/ [Linux only]
+ bool ShowFoldersFirst; // If true, display folders at first in table list
+ int CurrentFilter; // Currently selected filter
+ int CurrentMode; // Currently selected display mode
+ bool DisplayFileName; // If true Display File Name in icon views
+ int MinimumEXIFHeight; // Minimum height of EXIF preview image for use it
+ int Image_ThumbWidth,Image_ThumbHeight; // Thumbnail size in big icon mode for image
+ int Music_ThumbWidth,Music_ThumbHeight; // Thumbnail size in big icon mode for music
+ int Video_ThumbWidth,Video_ThumbHeight; // Thumbnail size in big icon mode for video
+
+ cBaseApplicationConfig(QMainWindow *TopLevelWindow,QString AllowedWEBLanguage,QString ApplicationGroupName,QString ApplicationName,QString ApplicationVersion,QString ConfigFileExt,QString ConfigFileRootName);
+ ~cBaseApplicationConfig();
+
+ virtual QString GetFilterForMediaFile(FilterFile type);
+ virtual bool InitConfigurationValues(QString ForceLanguage,QApplication *App);
+ virtual bool LoadConfigurationFile(LoadConfigFileType TypeConfigFile,QApplication *App);
+ virtual bool SaveConfigurationFile();
+
+ virtual QString GetValideWEBLanguage(QString Language);
+
+ virtual void PreloadSystemIcons();
+
+ // Abstract functions
+ virtual void InitValues() =0;
+ virtual void SaveValueToXML(QDomElement &domDocument) =0;
+ virtual bool LoadValueFromXML(QDomElement domDocument,LoadConfigFileType TypeConfigFile) =0;
+};
+
+#endif // CBASEAPPLICATIONCONFIG_H
diff --git a/src/engine/cBaseMediaFile.cpp b/src/engine/cBaseMediaFile.cpp
new file mode 100755
index 0000000..a493a6a
--- /dev/null
+++ b/src/engine/cBaseMediaFile.cpp
@@ -0,0 +1,2344 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+// Include some common various class
+#include "cBaseApplicationConfig.h"
+
+// Include some additional standard class
+#include "_QCustomDialog.h"
+#include <QFileDialog>
+#include <QPainter>
+
+// Include some additional standard class
+#include "cBaseMediaFile.h"
+#include "cLuLoImageCache.h"
+
+#define FFD_APPLICATION_ROOTNAME "Project" // Name of root node in the project xml file
+
+//****************************************************************************************************************************************************************
+
+// from Google music manager (see:http://code.google.com/p/gogglesmm/source/browse/src/gmutils.cpp?spec=svn6c3dbecbad40ee49736b9ff7fe3f1bfa6ca18c13&r=6c3dbecbad40ee49736b9ff7fe3f1bfa6ca18c13)
+bool gm_decode_base64(uchar *buffer,uint &len) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:gm_decode_base64");
+
+ static const char base64[256]={
+ 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+ 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+ 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x3e,0x80,0x80,0x80,0x3f,
+ 0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x80,0x80,0x80,0x80,0x80,0x80,
+ 0x80,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,
+ 0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x80,0x80,0x80,0x80,0x80,
+ 0x80,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,
+ 0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x80,0x80,0x80,0x80,0x80,
+ 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+ 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+ 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+ 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+ 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+ 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+ 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
+ 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80};
+
+ uint pos=0;
+ uchar v;
+ for (uint i=0,b=0;i<len;i++) {
+ v=base64[buffer[i]];
+ if (v!=0x80) {
+ switch(b) {
+ case 0: buffer[pos]=(v<<2);
+ b++;
+ break;
+ case 1: buffer[pos++]|=(v>>4);
+ buffer[pos]=(v<<4);
+ b++;
+ break;
+ case 2: buffer[pos++]|=(v>>2);
+ buffer[pos]=(v<<6);
+ b++;
+ break;
+ case 3: buffer[pos++]|=v;
+ b=0;
+ break;
+ }
+ } else {
+ if (buffer[i]=='=' && b>1) {
+ len=pos;
+ return true;
+ } else return false;
+ }
+ }
+ len=pos;
+ return true;
+}
+
+QImage *GetEmbededImage(QString FileName) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:GetEmbededImage");
+
+ // Try to get embeded image
+ QImage *Image=new QImage();
+
+ //*********** MP3
+ if ((Image->isNull())&&(QFileInfo(FileName).suffix().toLower()=="mp3")) {
+ TagLib::MPEG::File MP3File(TagLib::FileName(FileName.toLocal8Bit()));
+ if (MP3File.ID3v2Tag()) {
+ TagLib::ID3v2::FrameList l=MP3File.ID3v2Tag()->frameListMap()["APIC"];
+ if (!l.isEmpty()) {
+ TagLib::ID3v2::AttachedPictureFrame *pic=static_cast<TagLib::ID3v2::AttachedPictureFrame *>(l.front());
+ if (pic) Image->loadFromData((const uchar *)pic->picture().data(),pic->picture().size());
+ }
+ }
+ }
+ //*********** FLAC
+ #ifdef TAGLIBWITHFLAC
+ if ((Image->isNull())&&(QFileInfo(FileName).suffix().toLower()=="flac")) {
+ TagLib::FLAC::File FLACFile(TagLib::FileName(FileName.toLocal8Bit()));
+ TagLib::List<TagLib::FLAC::Picture *> PictList=FLACFile.pictureList();
+
+ // Search PreferedPic : the one with the type lesser
+ TagLib::FLAC::Picture *PreferedPic=NULL;
+ if (!PictList.isEmpty()) for (uint i=0;i<PictList.size();i++) {
+ TagLib::FLAC::Picture *Pic=PictList[i];
+ if ((Pic!=NULL)&&((PreferedPic==NULL)||(PreferedPic->type()>Pic->type()))) PreferedPic=Pic;
+ }
+ if (PreferedPic) Image->loadFromData((const uchar *)PreferedPic->data().data(),PreferedPic->data().size());
+ }
+ #endif
+ //*********** OGG
+ if ((Image->isNull())&&((QFileInfo(FileName).suffix().toLower()=="ogg")||(QFileInfo(FileName).suffix().toLower()=="oga"))) {
+ TagLib::Vorbis::File OggFile(TagLib::FileName(FileName.toLocal8Bit()));
+ if ((OggFile.tag())&&(OggFile.tag()->contains(TagLib::String("COVERART")))) {
+ const TagLib::StringList &CoverList=OggFile.tag()->fieldListMap()["COVERART"];
+ for (TagLib::StringList::ConstIterator it=CoverList.begin();it!=CoverList.end();it++) {
+ const TagLib::ByteVector &Vector=(*it).data(TagLib::String::UTF8);
+ if ((Image->isNull())&&(Vector.size())) {
+ uint len =Vector.size();
+ uchar *buffer=(uchar *)malloc(len);
+ memcpy(buffer,Vector.data(),len);
+ if (gm_decode_base64(buffer,len))
+ Image->loadFromData((const uchar *)buffer,len);
+ free(buffer);
+ }
+
+ }
+ }
+ }
+ //*********** MP4/M4A => don't work with M4V or MP4 video
+ #ifdef TAGLIBWITHMP4
+ if ((Image->isNull())&&(/*(QFileInfo(FileName).suffix().toLower()=="mp4")||*/(QFileInfo(FileName).suffix().toLower()=="m4a")||(QFileInfo(FileName).suffix().toLower()=="m4v"))) {
+ TagLib::MP4::File MP4File(TagLib::FileName(FileName.toLocal8Bit()));
+ if ((MP4File.tag())&&(MP4File.tag()->itemListMap().contains("covr"))) {
+ TagLib::MP4::CoverArtList coverArtList = MP4File.tag()->itemListMap()["covr"].toCoverArtList();
+ if (coverArtList.size()!= 0) {
+ TagLib::MP4::CoverArt ca = coverArtList.front();
+ Image->loadFromData((const uchar *) ca.data().data(),ca.data().size());
+ }
+ }
+ }
+ #endif
+ //*********** ASF/WMA //////////////////// A FINIR ! ///////////// CA A PAS L'AIR DE MARCHER !
+ #ifdef TAGLIBWITHASF
+ if ((Image->isNull())&&(QFileInfo(FileName).suffix().toLower()=="wma")) {
+ TagLib::ASF::File ASFFile(TagLib::FileName(TagLib::FileName(FileName.toLocal8Bit())));
+ /*
+ TagLib::ASF::Tag* asfTag = dynamic_cast<TagLib::ASF::Tag*>(ASFFile.tag());
+ TagLib::ASF::AttributeListMap& attrListMap = asfTag->attributeListMap();
+ for (TagLib::ASF::AttributeListMap::Iterator it=attrListMap.begin();it!=attrListMap.end();++it) {
+
+ TagLib::ASF::AttributeList& attrList = (*it).second;
+ for (TagLib::ASF::AttributeList::Iterator ait = attrList.begin();ait != attrList.end();++ait) {
+ //qDebug()<< QString().fromStdString((*ait).toString().toCString());
+ }
+ }
+ */
+ #ifdef TAGLIBWITHASFPICTURE
+ if ((ASFFile.tag())&&(ASFFile.tag()->attributeListMap().contains("WM/Picture"))) {
+ const TagLib::ASF::AttributeList &attrList=ASFFile.tag()->attributeListMap()["WM/Picture"];
+ if (!attrList.isEmpty()) {
+ TagLib::ASF::Picture pic = attrList[0].toPicture();
+ if (pic.isValid()) Image->loadFromData((const uchar *)pic.picture().data(),pic.picture().size());
+ }
+ }
+ #endif
+ }
+ #endif
+ //***********
+ if (!Image->isNull()) return Image; else {
+ delete Image;
+ return NULL;
+ }
+}
+
+//*********************************************************************************************************************************************
+// Base class object
+//*********************************************************************************************************************************************
+
+cBaseMediaFile::cBaseMediaFile(cBaseApplicationConfig *TheApplicationConfig):cCustomIcon() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseMediaFile::cBaseMediaFile");
+
+ ObjectType = OBJECTTYPE_UNMANAGED;
+ IsValide = false; // if true then object if initialise
+ IsInformationValide = false; // if true then information list if fuly initialise
+ ObjectGeometry = IMAGE_GEOMETRY_UNKNOWN; // Image geometry
+ FileName = ""; // filename
+ FileExtension = "";
+ ShortName = "";
+ FileSize = 0;
+ FileSizeText = "";
+ ImageWidth = 0; // Widht of normal image
+ ImageHeight = 0; // Height of normal image
+ CreatDateTime = QDateTime(QDate(0,0,0),QTime(0,0,0)); // Original date/time
+ ModifDateTime = QDateTime(QDate(0,0,0),QTime(0,0,0)); // Last modified date/time
+ ApplicationConfig = TheApplicationConfig;
+ AspectRatio = 1;
+ ImageOrientation = -1;
+}
+
+//====================================================================================================================
+
+cBaseMediaFile::~cBaseMediaFile() {
+ ToLog(LOGMSG_DEBUGTRACE,QString("IN:cBaseMediaFile::~cBaseMediaFile for object %1").arg(FileName));
+}
+
+//====================================================================================================================
+
+bool cBaseMediaFile::GetInformationFromFile(QString GivenFileName,QStringList *AliasList,bool *ModifyFlag) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseMediaFile::GetInformationFromFile");
+
+ FileName =QFileInfo(GivenFileName).absoluteFilePath();
+
+ if (ModifyFlag) *ModifyFlag=false;
+
+ // Use aliaslist
+ if (AliasList) {
+ int i;
+ for (i=0;(i<AliasList->count())&&(!AliasList->at(i).startsWith(FileName));i++);
+ if ((i<AliasList->count())&&(AliasList->at(i).startsWith(FileName))) {
+ FileName=AliasList->at(i);
+ if (FileName.indexOf("####")>0) FileName=FileName.mid(FileName.indexOf("####")+QString("####").length());
+ }
+ }
+
+ bool Continue=true;
+ while ((Continue)&&(!QFileInfo(FileName).exists())) {
+ QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
+ if (CustomMessageBox(ApplicationConfig->TopLevelWindow,QMessageBox::Question,QApplication::translate("cBaseMediaFile","Open file"),
+ QApplication::translate("cBaseMediaFile","Impossible to open file ")+FileName+"\n"+QApplication::translate("cBaseMediaFile","Do you want to select another file ?"),
+ QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)!=QMessageBox::Yes)
+ Continue=false;
+ else {
+ QString NewFileName=QFileDialog::getOpenFileName(ApplicationConfig->TopLevelWindow,QApplication::translate("cBaseMediaFile","Select another file for ")+QFileInfo(FileName).fileName(),
+ ApplicationConfig->RememberLastDirectories?ApplicationConfig->LastMediaPath:"",
+ ApplicationConfig->GetFilterForMediaFile(ObjectType==OBJECTTYPE_IMAGEFILE?cBaseApplicationConfig::IMAGEFILE:ObjectType==OBJECTTYPE_VIDEOFILE?cBaseApplicationConfig::VIDEOFILE:cBaseApplicationConfig::MUSICFILE));
+ if (NewFileName!="") {
+ if (AliasList) AliasList->append(FileName+"####"+NewFileName);
+ FileName=NewFileName;
+ if (ApplicationConfig->RememberLastDirectories) ApplicationConfig->LastMediaPath=QFileInfo(FileName).absolutePath(); // Keep folder for next use
+ if (ModifyFlag) *ModifyFlag=true;
+ } else Continue=false;
+ }
+ QApplication::restoreOverrideCursor();
+ }
+ if (!Continue) {
+ ToLog(LOGMSG_CRITICAL,QApplication::translate("cBaseMediaFile","Impossible to open file %1").arg(FileName));
+ ShortName=QFileInfo(FileName).fileName();
+ return false;
+ }
+
+ ShortName =QFileInfo(FileName).fileName();
+ FileExtension=QFileInfo(FileName).completeSuffix().toLower();
+ FileSize =QFileInfo(FileName).size();
+ FileSizeText =GetTextSize(FileSize);
+ ModifDateTime=QFileInfo(FileName).lastModified();
+ CreatDateTime=QFileInfo(FileName).created();
+
+ IsValide=true;
+
+ return IsValide;
+}
+
+//====================================================================================================================
+
+QString cBaseMediaFile::GetInformationValue(QString ValueToSearch) {
+ //ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseMediaFile::GetInformationValue"); // Remove: to much
+
+ int i=0;
+ while ((i<InformationList.count())&&(!((QString )InformationList[i]).startsWith(ValueToSearch+"##"))) i++;
+ if ((i<InformationList.count())&&(((QString )InformationList[i]).startsWith(ValueToSearch))) {
+ QStringList Values=((QString)InformationList[i]).split("##");
+ if (Values.count()==2) return ((QString)Values[1]).trimmed();
+ }
+ return "";
+}
+
+//====================================================================================================================
+
+QString cBaseMediaFile::GetImageGeometryStr() {
+ //ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseMediaFile::GetImageGeometryStr"); // Remove: to much
+
+ switch (ObjectGeometry) {
+ case IMAGE_GEOMETRY_3_2 : return "3:2";
+ case IMAGE_GEOMETRY_2_3 : return "2:3";
+ case IMAGE_GEOMETRY_4_3 : return "4:3";
+ case IMAGE_GEOMETRY_3_4 : return "3:4";
+ case IMAGE_GEOMETRY_16_9 : return "16:9";
+ case IMAGE_GEOMETRY_9_16 : return "9:16";
+ case IMAGE_GEOMETRY_40_17 : return "40:17";
+ case IMAGE_GEOMETRY_17_40 : return "17:40";
+ default : return ""; //QApplication::translate("cBaseMediaFile","ns","Non standard image geometry");
+ }
+}
+
+//====================================================================================================================
+
+QString cBaseMediaFile::GetFileSizeStr() {
+ //ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseMediaFile::GetFileSizeStr"); // Remove: to much
+
+ return FileSizeText;
+}
+
+//====================================================================================================================
+
+QString cBaseMediaFile::GetFileDateTimeStr(bool Created) {
+ //ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseMediaFile::GetFileDateTimeStr"); // Remove: to much
+
+ if (Created) return CreatDateTime.toString("dd/MM/yyyy hh:mm:ss");
+ else return ModifDateTime.toString("dd/MM/yyyy hh:mm:ss");
+}
+
+//====================================================================================================================
+
+QString cBaseMediaFile::GetImageSizeStr(ImageSizeFmt Fmt) {
+ //ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseMediaFile::GetImageSizeStr"); // Remove: to much
+
+ QString SizeInfo="";
+ QString FmtInfo ="";
+ QString GeoInfo ="";
+
+ if ((ImageWidth>0)&&(ImageHeight>0)) {
+ // Compute MPix
+ double MPix=double(double(ImageWidth)*double(ImageHeight))/double(1000000);
+ int RealImageWidth=ImageWidth;
+ if (AspectRatio!=1) RealImageWidth=int(double(ImageWidth)/AspectRatio);
+ SizeInfo=QString("%1x%2").arg(RealImageWidth).arg(ImageHeight);
+
+ // now search if size is referenced in DefImageFormat
+ for (int i=0;i<2;i++) for (int j=0;j<3;j++) for (int k=0;k<NBR_SIZEDEF;k++) if ((DefImageFormat[i][j][k].Width==RealImageWidth)&&(DefImageFormat[i][j][k].Height==ImageHeight)) {
+ FmtInfo=QString(DefImageFormat[i][j][k].Name).left(QString(DefImageFormat[i][j][k].Name).indexOf(" -"));
+ break;
+ }
+ if ((FmtInfo=="")&&(MPix>=1)) FmtInfo=QString("%1").arg(MPix,8,'f',1).trimmed()+QApplication::translate("cBaseMediaFile","MPix");
+ else switch (ImageHeight) {
+ case 240: FmtInfo="QVGA"; break;
+ case 320: FmtInfo="HVGA"; break;
+ case 480: FmtInfo="WVGA"; break;
+ case 576: FmtInfo="DVD"; break;
+ case 600: FmtInfo="SVGA"; break;
+ case 720: FmtInfo="720p"; break;
+ case 768: FmtInfo="XGA"; break;
+ case 1080: FmtInfo="1080p"; break;
+ default: FmtInfo="ns"; break;
+ }
+ }
+ GeoInfo=GetImageGeometryStr();
+ switch (Fmt) {
+ case FULLWEB : return SizeInfo+((FmtInfo+GeoInfo)!=""?"("+FmtInfo+(FmtInfo!=""?"-":"")+GeoInfo+")":"");
+ case SIZEONLY : return SizeInfo;
+ case FMTONLY : return FmtInfo;
+ case GEOONLY : return GeoInfo;
+ default : return "";
+ }
+}
+
+//====================================================================================================================
+
+QString cBaseMediaFile::GetCumulInfoStr(QString Key1,QString Key2) {
+ //ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseMediaFile::GetCumulInfoStr"); // Remove: to much
+
+ int Num =0;
+ QString TrackNum="";
+ QString Value ="";
+ QString Info ="";
+ do {
+ TrackNum=QString("%1").arg(Num);
+ while (TrackNum.length()<3) TrackNum="0"+TrackNum;
+ TrackNum=Key1+"_"+TrackNum+":";
+ Value=GetInformationValue(TrackNum+Key2);
+ if (Value!="") Info=Info+((Num>0)?",":"")+Value;
+ // Next
+ Num++;
+ } while (Value!="");
+ return Info;
+}
+
+//*********************************************************************************************************************************************
+// Unmanaged File
+//*********************************************************************************************************************************************
+
+cUnmanagedFile::cUnmanagedFile(cBaseApplicationConfig *ApplicationConfig):cBaseMediaFile(ApplicationConfig) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cUnmanagedFile::cUnmanagedFile");
+
+ LoadIcons(&ApplicationConfig->DefaultFILEIcon);
+ ObjectType =OBJECTTYPE_UNMANAGED;
+ IsInformationValide=true;
+}
+
+//====================================================================================================================
+
+bool cUnmanagedFile::GetInformationFromFile(QString GivenFileName,QStringList *,bool *) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cUnmanagedFile::GetInformationFromFile");
+
+ FileName =QFileInfo(GivenFileName).absoluteFilePath();
+ ShortName =QFileInfo(FileName).fileName();
+
+ if (!QFileInfo(FileName).exists()) {
+ ToLog(LOGMSG_CRITICAL,QApplication::translate("cBaseMediaFile","Impossible to open file %1").arg(FileName));
+ IsValide=false;
+ } else {
+ FileSize =QFileInfo(FileName).size();
+ FileSizeText =GetTextSize(FileSize);
+ CreatDateTime =QFileInfo(FileName).lastModified(); // Keep date/time file was created by the camera !
+ ModifDateTime =QFileInfo(FileName).created(); // Keep date/time file was created on the computer !
+
+ IsValide=true;
+ }
+
+ return IsValide;
+}
+
+//====================================================================================================================
+
+QString cUnmanagedFile::GetFileTypeStr() {
+ ToLog(LOGMSG_DEBUGTRACE,QString("IN:cUnmanagedFile::GetFileTypeStr for %1").arg(FileName));
+
+ return QApplication::translate("cBaseMediaFile","Unmanaged","File type");
+}
+
+//====================================================================================================================
+
+bool cUnmanagedFile::IsFilteredFile(int RequireObjectType) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cUnmanagedFile::IsFilteredFile");
+
+ return RequireObjectType==OBJECTTYPE_UNMANAGED;
+}
+
+//*********************************************************************************************************************************************
+// Folder
+//*********************************************************************************************************************************************
+
+cFolder::cFolder(cBaseApplicationConfig *ApplicationConfig):cBaseMediaFile(ApplicationConfig) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cFolder::cFolder");
+
+ ObjectType =OBJECTTYPE_FOLDER;
+}
+
+//====================================================================================================================
+
+bool cFolder::GetInformationFromFile(QString GivenFileName,QStringList */*AliasList*/,bool */*ModifyFlag*/) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cFolder::GetInformationFromFile");
+
+ FileName =QFileInfo(GivenFileName).absoluteFilePath();
+ ShortName =QFileInfo(GivenFileName).fileName();
+ CreatDateTime =QFileInfo(FileName).lastModified(); // Keep date/time file was created by the camera !
+ ModifDateTime =QFileInfo(FileName).created(); // Keep date/time file was created on the computer !
+ return true;
+}
+
+//====================================================================================================================
+
+bool cFolder::IsFilteredFile(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cFolder::IsFilteredFile");
+
+ return true; // always valide
+}
+
+//====================================================================================================================
+
+void cFolder::GetFullInformationFromFile() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cFolder::GetFullInformationFromFile");
+
+ IsInformationValide=true;
+
+ QString AdjustedFileName=FileName; if (!AdjustedFileName.endsWith(QDir::separator())) AdjustedFileName=AdjustedFileName+QDir::separator();
+
+ // Check if a folder.jpg file exist
+ if (Icon16.isNull()) {
+ QFileInfoList Directorys=QDir(FileName).entryInfoList(QDir::Files);
+ for (int j=0;j<Directorys.count();j++) if (Directorys[j].fileName().toLower()=="folder.jpg") {
+ QString FileName=AdjustedFileName+Directorys[j].fileName();
+ QImage Final(":img/FolderMask_200.png");
+ QImage Img(FileName);
+ QImage ImgF;
+ if (double(Img.height())/double(Img.width())*double(Img.width())<=162) ImgF=Img.scaledToWidth(180,Qt::SmoothTransformation);
+ else ImgF=Img.scaledToHeight(162,Qt::SmoothTransformation);
+ QPainter Painter;
+ Painter.begin(&Final);
+ Painter.drawImage(QRect((Final.width()-ImgF.width())/2,195-ImgF.height(),ImgF.width(),ImgF.height()),ImgF);
+ Painter.end();
+ LoadIcons(&Final);
+ }
+ }
+
+ // Check if there is an desktop.ini ==========> WINDOWS EXTENSION
+ if (Icon16.isNull()) {
+ QFileInfoList Directorys=QDir(FileName).entryInfoList(QDir::Files|QDir::Hidden);
+ for (int j=0;j<Directorys.count();j++) if (Directorys[j].fileName().toLower()=="desktop.ini") {
+ QFile FileIO(AdjustedFileName+Directorys[j].fileName());
+ QString IconFile ="";
+ #ifdef Q_OS_WIN
+ int IconIndex=0;
+ #endif
+ if (FileIO.open(QIODevice::ReadOnly/*|QIODevice::Text*/)) {
+ // Sometimes this kind of files have incorrect line terminator : nor \r\n nor \n
+ QTextStream FileST(&FileIO);
+ QString AllInfo=FileST.readAll();
+ QString Line="";
+ while (AllInfo!="") {
+ int j=0;
+ while ((j<AllInfo.length())&&((AllInfo[j]>=char(32))||(AllInfo[j]==9))) j++;
+ if (j<AllInfo.length()) {
+ Line=AllInfo.left(j);
+ while ((j<AllInfo.length())&&(AllInfo[j]<=char(32))) j++;
+ if (j<AllInfo.length()) AllInfo=AllInfo.mid(j); else AllInfo="";
+ } else {
+ Line=AllInfo;
+ AllInfo="";
+ }
+ #ifdef Q_OS_WIN
+ if ((Line.toUpper().startsWith("ICONINDEX"))&&(Line.indexOf("=")!=-1)) {
+ IconIndex=Line.mid(Line.indexOf("=")+1).toInt();
+ } else
+ #endif
+ if ((Line.toUpper().startsWith("ICONFILE"))&&(Line.indexOf("=")!=-1)) {
+ Line=Line.mid(Line.indexOf("=")+1).trimmed();
+ // Replace all variables like %systemroot%
+ while (Line.indexOf("%")!=-1) {
+ QString Var=Line.mid(Line.indexOf("%")+1); Var=Var.left(Var.indexOf("%"));
+ QString Value=getenv(Var.toLocal8Bit());
+ Line.replace("%"+Var+"%",Value,Qt::CaseInsensitive);
+ }
+ if (QFileInfo(Line).isRelative()) IconFile=AdjustDirForOS(AdjustedFileName+Line);
+ else IconFile=AdjustDirForOS(QFileInfo(Line).absoluteFilePath());
+ }
+ }
+ FileIO.close();
+ }
+ if (IconFile.toLower().endsWith(".jpg") || IconFile.toLower().endsWith(".png") || IconFile.toLower().endsWith(".ico")) LoadIcons(IconFile);
+ #ifdef Q_OS_WIN
+ else LoadIcons(GetIconForFileOrDir(IconFile,IconIndex));
+ #endif
+ }
+ }
+
+ // if no icon then load default for type
+ if (Icon16.isNull()) LoadIcons(&ApplicationConfig->DefaultFOLDERIcon);
+}
+
+//====================================================================================================================
+
+QString cFolder::GetFileTypeStr() {
+ ToLog(LOGMSG_DEBUGTRACE,QString("IN:cFolder::GetFileTypeStr for %1").arg(FileName));
+
+ return QApplication::translate("cBaseMediaFile","Folder","File type");
+}
+
+//*********************************************************************************************************************************************
+// ffDiaporama project file
+//*********************************************************************************************************************************************
+
+cffDProjectFile::cffDProjectFile(cBaseApplicationConfig *ApplicationConfig):cBaseMediaFile(ApplicationConfig) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cffDProjectFile::cffDProjectFile");
+
+ LoadIcons(&ApplicationConfig->DefaultFFDIcon);
+ ObjectType =OBJECTTYPE_FFDFILE;
+ Title ="";
+ Author ="";
+ Album ="";
+ Year =QDate::currentDate().year();
+ Comment ="";
+ Composer ="";
+ Duration =0;
+ NbrSlide =0;
+ ffDRevision ="";
+ DefaultLanguage ="und";
+ NbrChapters =0;
+}
+
+//====================================================================================================================
+
+bool cffDProjectFile::GetInformationFromFile(QString GivenFileName,QStringList */*AliasList*/,bool */*ModifyFlag*/) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cffDProjectFile::GetInformationFromFile");
+
+ FileName =QFileInfo(GivenFileName).absoluteFilePath();
+ ShortName =QFileInfo(GivenFileName).fileName();
+ FileSize =QFileInfo(GivenFileName).size();
+ FileSizeText =GetTextSize(FileSize);
+ CreatDateTime =QFileInfo(FileName).lastModified(); // Keep date/time file was created by the camera !
+ ModifDateTime =QFileInfo(FileName).created(); // Keep date/time file was created on the computer !
+ LoadIcons(&ApplicationConfig->DefaultFFDIcon);
+ return true;
+}
+
+//====================================================================================================================
+
+void cffDProjectFile::SaveToXML(QDomElement &domDocument) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cffDProjectFile::SaveToXML");
+
+ QDomDocument DomDocument;
+ QDomElement Element=DomDocument.createElement("ffDiaporamaProjectProperties");
+ Element.setAttribute("Title",Title);
+ Element.setAttribute("Author",Author);
+ Element.setAttribute("Album",Album);
+ Element.setAttribute("Year",Year);
+ Element.setAttribute("Comment",Comment);
+ Element.setAttribute("Composer",Composer);
+ Element.setAttribute("Duration",Duration);
+ Element.setAttribute("ffDRevision",ffDRevision);
+ Element.setAttribute("DefaultLanguage",DefaultLanguage);
+ Element.setAttribute("ChaptersNumber",NbrChapters);
+ for (int i=0;i<NbrChapters;i++) {
+ QString ChapterNum=QString("%1").arg(i); while (ChapterNum.length()<3) ChapterNum="0"+ChapterNum;
+ QDomElement SubElement=DomDocument.createElement("Chapter_"+ChapterNum);
+ SubElement.setAttribute("Start",GetInformationValue("Chapter_"+ChapterNum+":Start"));
+ SubElement.setAttribute("End",GetInformationValue("Chapter_"+ChapterNum+":End"));
+ SubElement.setAttribute("Duration",GetInformationValue("Chapter_"+ChapterNum+":Duration"));
+ SubElement.setAttribute("title",GetInformationValue("Chapter_"+ChapterNum+":title"));
+ SubElement.setAttribute("InSlide",GetInformationValue("Chapter_"+ChapterNum+":InSlide"));
+ Element.appendChild(SubElement);
+ }
+ domDocument.appendChild(Element);
+}
+
+//====================================================================================================================
+
+bool cffDProjectFile::LoadFromXML(QDomElement domDocument) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cffDProjectFile::LoadFromXML");
+
+ bool IsOk=false;
+ if ((domDocument.elementsByTagName("ffDiaporamaProjectProperties").length()>0)&&(domDocument.elementsByTagName("ffDiaporamaProjectProperties").item(0).isElement()==true)) {
+ QDomElement Element=domDocument.elementsByTagName("ffDiaporamaProjectProperties").item(0).toElement();
+ if (Element.hasAttribute("Title")) {
+ Title =Element.attribute("Title");
+ InformationList.append(QString("title")+QString("##")+QString(Title));
+ }
+ if (Element.hasAttribute("Author")) {
+ Author =Element.attribute("Author");
+ InformationList.append(QString("artist")+QString("##")+QString(Author));
+ }
+ if (Element.hasAttribute("Album")) {
+ Album =Element.attribute("Album");
+ InformationList.append(QString("album")+QString("##")+QString(Album));
+ }
+ if (Element.hasAttribute("Year")) {
+ Year =Element.attribute("Year").toInt();
+ InformationList.append(QString("date")+QString("##")+QString("%1").arg(Year));
+ }
+ if (Element.hasAttribute("Comment")) {
+ Comment =Element.attribute("Comment");
+ InformationList.append(QString("comment")+QString("##")+QString(Comment));
+ }
+ if (Element.hasAttribute("ffDRevision")) {
+ ffDRevision=Element.attribute("ffDRevision");
+ InformationList.append(QString("ffDRevision")+QString("##")+QString(ffDRevision));
+ }
+ if (Element.hasAttribute("Composer")) {
+ Composer=Element.attribute("Composer");
+ InformationList.append(QString("composer")+QString("##")+QString(Composer));
+ }
+ if (Element.hasAttribute("DefaultLanguage")) {
+ DefaultLanguage=Element.attribute("DefaultLanguage");
+ InformationList.append(QString("Audio_000:language")+QString("##")+QString(DefaultLanguage));
+ }
+ if (Element.hasAttribute("Duration")) {
+ Duration=Element.attribute("Duration").toLongLong();
+ if (Duration!=0) {
+ int TimeMSec =Duration-(Duration/1000)*1000;
+ int TimeSec =int(Duration/1000);
+ int TimeHour =TimeSec/(60*60);
+ int TimeMinute =(TimeSec%(60*60))/60;
+ QTime tDuration;
+ tDuration.setHMS(TimeHour,TimeMinute,TimeSec%60,TimeMSec);
+ InformationList.append(QString("Duration")+QString("##")+tDuration.toString("HH:mm:ss.zzz"));
+ }
+ }
+ if (Element.hasAttribute("ChaptersNumber")) {
+ NbrChapters=Element.attribute("ChaptersNumber").toInt();
+ for (int i=0;i<NbrChapters;i++) {
+ QString ChapterNum=QString("%1").arg(i); while (ChapterNum.length()<3) ChapterNum="0"+ChapterNum;
+ if ((domDocument.elementsByTagName("Chapter_"+ChapterNum).length()>0)&&(domDocument.elementsByTagName("Chapter_"+ChapterNum).item(0).isElement()==true)) {
+ QDomElement SubElement=domDocument.elementsByTagName("Chapter_"+ChapterNum).item(0).toElement();
+ QString Start="";
+ QString End="";
+ QString Duration="";
+ QString Title="";
+ QString InSlide="";
+ if (SubElement.hasAttribute("Start")) Start=SubElement.attribute("Start");
+ if (SubElement.hasAttribute("End")) End=SubElement.attribute("End");
+ if (SubElement.hasAttribute("Duration")) Duration=SubElement.attribute("Duration");
+ if (SubElement.hasAttribute("title")) Title=SubElement.attribute("title");
+ if (SubElement.hasAttribute("InSlide")) InSlide=SubElement.attribute("InSlide");
+
+ InformationList.append("Chapter_"+ChapterNum+":Start" +QString("##")+Start);
+ InformationList.append("Chapter_"+ChapterNum+":End" +QString("##")+End);
+ InformationList.append("Chapter_"+ChapterNum+":Duration"+QString("##")+Duration);
+ InformationList.append("Chapter_"+ChapterNum+":title" +QString("##")+Title);
+ InformationList.append("Chapter_"+ChapterNum+":InSlide" +QString("##")+InSlide);
+ }
+ }
+ }
+ IsOk=true;
+ }
+ if ((domDocument.elementsByTagName("Project").length()>0)&&(domDocument.elementsByTagName("Project").item(0).isElement()==true)) {
+ QDomElement Element=domDocument.elementsByTagName("Project").item(0).toElement();
+ if (Element.hasAttribute("ImageGeometry")) {
+ switch (Element.attribute("ImageGeometry").toInt()) {
+ case GEOMETRY_16_9: ObjectGeometry=IMAGE_GEOMETRY_16_9; break;
+ case GEOMETRY_40_17: ObjectGeometry=IMAGE_GEOMETRY_40_17; break;
+ case GEOMETRY_4_3:
+ default: ObjectGeometry=IMAGE_GEOMETRY_4_3; break;
+ }
+ }
+ if (Element.hasAttribute("ObjectNumber")) {
+ NbrSlide=Element.attribute("ObjectNumber").toInt();
+ InformationList.append(QApplication::translate("cBaseMediaFile","Slide number")+QString("##%1").arg(NbrSlide));
+ }
+ }
+ return IsOk;
+}
+
+//====================================================================================================================
+
+void cffDProjectFile::GetFullInformationFromFile() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cffDProjectFile::GetFullInformationFromFile");
+
+ QFile file(FileName);
+ QDomDocument domDocument;
+ QDomElement root;
+ QString errorStr;
+ int errorLine,errorColumn;
+ if (file.open(QFile::ReadOnly | QFile::Text)) {
+ if (domDocument.setContent(&file, true, &errorStr, &errorLine,&errorColumn)) {
+ root = domDocument.documentElement();
+ // Load project properties
+ if (root.tagName()==FFD_APPLICATION_ROOTNAME) LoadFromXML(root);
+ }
+ file.close();
+ }
+ IsInformationValide=true;
+}
+
+//====================================================================================================================
+
+QString cffDProjectFile::GetTechInfo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cffDProjectFile::GetTechInfo");
+
+ QString Info="";
+ if (Composer!="") Info=Info+(Info!=""?" - ":"")+Composer+" ("+ffDRevision+")";
+ if (GetImageSizeStr(cBaseMediaFile::GEOONLY)!="") Info=Info+(Info!=""?" - ":"")+GetImageSizeStr(cBaseMediaFile::GEOONLY);
+ if (NbrSlide>0) Info=Info+(Info!=""?" - ":"")+QString("%1").arg(NbrSlide) +" "+QApplication::translate("cBaseMediaFile","Slides");
+ if (NbrChapters>0) Info=Info+(Info!=""?" - ":"")+QString("%1").arg(NbrChapters)+" "+QApplication::translate("cBaseMediaFile","Chapters");
+ return Info;
+}
+
+//====================================================================================================================
+
+QString cffDProjectFile::GetTAGInfo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cffDProjectFile::GetTechInfo");
+
+ QString Info=Title;
+ if (Album!="") Info=Info+(Info!=""?" - ":"")+Album;
+ if (Info!="") Info=Info+(Info!=""?" - ":"")+QString("%1").arg(Year);
+ if (Author!="") Info=Info+(Info!=""?" - ":"")+Author;
+ return Info;
+}
+
+//====================================================================================================================
+
+bool cffDProjectFile::IsFilteredFile(int RequireObjectType) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cffDProjectFile::IsFilteredFile");
+
+ return (RequireObjectType==OBJECTTYPE_UNMANAGED)||(RequireObjectType==OBJECTTYPE_MANAGED)||(RequireObjectType==OBJECTTYPE_FFDFILE);
+}
+
+//====================================================================================================================
+
+QString cffDProjectFile::GetFileTypeStr() {
+ ToLog(LOGMSG_DEBUGTRACE,QString("IN:cffDProjectFile::GetFileTypeStr for %1").arg(FileName));
+
+ return QApplication::translate("cBaseMediaFile","ffDiaporama","File type");
+}
+
+//*********************************************************************************************************************************************
+// Image file
+//*********************************************************************************************************************************************
+
+cImageFile::cImageFile(cBaseApplicationConfig *ApplicationConfig):cBaseMediaFile(ApplicationConfig) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cImageFile::cImageFile");
+
+ ObjectType =OBJECTTYPE_IMAGEFILE; // coul be turn later to OBJECTTYPE_THUMBNAIL
+}
+
+//====================================================================================================================
+
+bool cImageFile::IsFilteredFile(int RequireObjectType) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cImageFile::IsFilteredFile");
+
+ if (ObjectType==OBJECTTYPE_IMAGEFILE) return (RequireObjectType==OBJECTTYPE_UNMANAGED)||(RequireObjectType==OBJECTTYPE_MANAGED)||(RequireObjectType==OBJECTTYPE_IMAGEFILE);
+ else return (RequireObjectType==OBJECTTYPE_UNMANAGED);
+}
+
+//====================================================================================================================
+
+QString cImageFile::GetFileTypeStr() {
+ ToLog(LOGMSG_DEBUGTRACE,QString("IN:cImageFile::GetFileTypeStr for %1").arg(FileName));
+
+ if (ObjectType==OBJECTTYPE_IMAGEFILE) return QApplication::translate("cBaseMediaFile","Image","File type");
+ else return QApplication::translate("cBaseMediaFile","Thumbnail","File type");
+}
+
+//====================================================================================================================
+
+void cImageFile::GetFullInformationFromFile() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cImageFile::GetFullInformationFromFile");
+
+ ImageOrientation =-1;
+ IsInformationValide =false;
+ bool ExifOk=false;
+
+ // ******************************************************************************************************
+ // Try to load EXIF information using library exiv2
+ // ******************************************************************************************************
+ Exiv2::Image::AutoPtr ImageFile;
+ try {
+ #ifdef Q_OS_WIN
+ ImageFile=Exiv2::ImageFactory::open(FileName.toLocal8Bit().data());
+ #else
+ ImageFile=Exiv2::ImageFactory::open(FileName.toUtf8().data());
+ #endif
+ ExifOk=true;
+ }
+ catch( Exiv2::Error& e ) {
+ ToLog(LOGMSG_INFORMATION,QApplication::translate("cBaseMediaFile","Image don't have EXIF metadata %1").arg(FileName));
+ }
+ if (ExifOk) {
+ ImageFile->readMetadata();
+ // Read data
+ Exiv2::ExifData &exifData = ImageFile->exifData();
+ if (!exifData.empty()) {
+ Exiv2::ExifData::const_iterator end = exifData.end();
+ for (Exiv2::ExifData::const_iterator CurrentData=exifData.begin();CurrentData!=end;++CurrentData) {
+
+ if ((QString().fromStdString(CurrentData->key())=="Exif.Image.Orientation")&&(CurrentData->tag()==274))
+ ImageOrientation=QString().fromStdString(CurrentData->value().toString()).toInt();
+
+ if ((CurrentData->typeId()!=Exiv2::undefined)&&
+ (!(((CurrentData->typeId()==Exiv2::unsignedByte)||(CurrentData->typeId()==Exiv2::signedByte))&&(CurrentData->size()>64)))) {
+ QString Key =QString().fromStdString(CurrentData->key());
+ #ifdef Q_OS_WIN
+ QString Value=QString().fromStdString(CurrentData->print(&exifData).c_str());
+ #else
+ QString Value=QString().fromUtf8(CurrentData->print(&exifData).c_str());
+ #endif
+ if (Key.startsWith("Exif.")) Key=Key.mid(QString("Exif.").length());
+ InformationList.append(Key+QString("##")+Value);
+ }
+ }
+ }
+
+ // Append InformationList
+ if (GetInformationValue("Image.Artist")!="") InformationList.append(QString("artist")+QString("##")+GetInformationValue("Image.Artist"));
+ if (GetInformationValue("Image.Model")!="") InformationList.append(QString("composer")+QString("##")+GetInformationValue("Image.Model"));
+
+ // Get size information
+ if (GetInformationValue("Photo.PixelXDimension")!="") ImageWidth =GetInformationValue("Photo.PixelXDimension").toInt();
+ else if (GetInformationValue("Image.ImageWidth")!="") ImageWidth =GetInformationValue("Image.ImageWidth").toInt(); // TIFF Version
+ if (GetInformationValue("Photo.PixelYDimension")!="") ImageHeight=GetInformationValue("Photo.PixelYDimension").toInt();
+ else if (GetInformationValue("Image.ImageLength")!="") ImageHeight=GetInformationValue("Image.ImageLength").toInt(); // TIFF Version
+
+ // switch ImageWidth and ImageHeight if image was rotated
+ if ((ImageOrientation==6)||(ImageOrientation==8)) {
+ int IW=ImageWidth;
+ ImageWidth=ImageHeight;
+ ImageHeight=IW;
+ }
+
+ // Read preview image
+ #ifdef EXIV2WITHPREVIEW
+ Exiv2::PreviewManager *Manager=new Exiv2::PreviewManager(*ImageFile);
+ if (Manager) {
+ Exiv2::PreviewPropertiesList Properties=Manager->getPreviewProperties();
+ if (!Properties.empty()) {
+ Exiv2::PreviewImage Image=Manager->getPreviewImage(Properties[Properties.size()-1]); // Get the latest image (biggest)
+ QImage *Icon=new QImage();
+ if (Icon->loadFromData(QByteArray((const char*)Image.pData(),Image.size()))) {
+ if (ImageOrientation==8) { // Rotating image anti-clockwise by 90 degrees...'
+ QMatrix matrix;
+ matrix.rotate(-90);
+ QImage *NewImage=new QImage(Icon->transformed(matrix,Qt::SmoothTransformation));
+ delete Icon;
+ Icon=NewImage;
+ } else if (ImageOrientation==3) { // Rotating image clockwise by 180 degrees...'
+ QMatrix matrix;
+ matrix.rotate(180);
+ QImage *NewImage=new QImage(Icon->transformed(matrix,Qt::SmoothTransformation));
+ delete Icon;
+ Icon=NewImage;
+ } else if (ImageOrientation==6) { // Rotating image clockwise by 90 degrees...'
+ QMatrix matrix;
+ matrix.rotate(90);
+ QImage *NewImage=new QImage(Icon->transformed(matrix,Qt::SmoothTransformation));
+ delete Icon;
+ Icon=NewImage;
+ }
+
+ // Sometimes, Icon have black bar : try to remove them
+ if ((double(Icon->width())/double(Icon->height()))!=(double(ImageWidth)/double(ImageHeight))) {
+ if (ImageWidth>ImageHeight) {
+ int RealHeight=int((double(Icon->width())*double(ImageHeight))/double(ImageWidth));
+ int Delta =Icon->height()-RealHeight;
+ QImage *NewImage=new QImage(Icon->copy(0,Delta/2,Icon->width(),Icon->height()-Delta));
+ delete Icon;
+ Icon=NewImage;
+ } else {
+ int RealWidth=int((double(Icon->height())*double(ImageWidth))/double(ImageHeight));
+ int Delta =Icon->width()-RealWidth;
+ QImage *NewImage=new QImage(Icon->copy(Delta/2,0,Icon->width()-Delta,Icon->height()));
+ delete Icon;
+ Icon=NewImage;
+ }
+ }
+
+ // if preview Icon have a really small size, then don't use it
+ if (Icon->height()>=ApplicationConfig->MinimumEXIFHeight) LoadIcons(Icon);
+ }
+ delete Icon;
+ }
+ delete Manager;
+ }
+ #endif
+ }
+
+ //************************************************************************************
+ // If no exif preview image (of image too small) then load/create thumbnail
+ //************************************************************************************
+ if ((IsIconNeeded)&&(Icon16.isNull())) {
+
+ if (Icon16.isNull()) {
+ cLuLoImageCacheObject *ImageObject=ApplicationConfig->ImagesCache.FindObject(FileName,ModifDateTime,ImageOrientation,NULL,ApplicationConfig->Smoothing,true);
+ if (ImageObject==NULL) {
+ ToLog(LOGMSG_CRITICAL,"Error in cImageFile::GetFullInformationFromFile : FindObject return NULL for thumbnail creation !");
+ } else {
+ QImage *LN_Image=ImageObject->ValidateCacheRenderImage(); // Get a link to render image in LuLoImageCache collection
+ if ((LN_Image==NULL)||(LN_Image->isNull())) {
+ ToLog(LOGMSG_CRITICAL,"Error in cImageFile::GetFullInformationFromFile : ValidateCacheRenderImage return NULL for thumbnail creation !");
+ } else {
+ LoadIcons(LN_Image);
+ }
+ }
+ }
+ }
+
+ //************************************************************************************
+ // if no information about size then load image
+ //************************************************************************************
+ if ((ImageWidth==0)||(ImageHeight==0)) {
+ cLuLoImageCacheObject *ImageObject=ApplicationConfig->ImagesCache.FindObject(FileName,ModifDateTime,ImageOrientation,NULL,ApplicationConfig->Smoothing,true);
+ if (ImageObject==NULL) {
+ ToLog(LOGMSG_CRITICAL,"Error in cImageFile::GetFullInformationFromFile : FindObject return NULL for size computation !");
+ } else {
+ QImage *LN_Image=ImageObject->ValidateCacheRenderImage(); // Get a link to render image in LuLoImageCache collection
+ if ((LN_Image==NULL)||(LN_Image->isNull())) {
+ ToLog(LOGMSG_CRITICAL,"Error in cImageFile::GetFullInformationFromFile : ValidateCacheRenderImage return NULL for size computation !");
+ } else {
+ ImageWidth =LN_Image->width();
+ ImageHeight=LN_Image->height();
+ InformationList.append(QString("Photo.PixelXDimension")+QString("##")+QString("%1").arg(ImageWidth));
+ InformationList.append(QString("Photo.PixelYDimension")+QString("##")+QString("%1").arg(ImageHeight));
+ IsInformationValide=true;
+ }
+ }
+ }
+
+ //************************************************************************************
+ // End process by computing some values ....
+ //************************************************************************************
+
+ // Sort InformationList
+ InformationList.sort();
+
+ // Now we have image size then compute image geometry
+ ObjectGeometry=IMAGE_GEOMETRY_UNKNOWN;
+ double RatioHW=double(ImageWidth)/double(ImageHeight);
+ if ((RatioHW>=1.45)&&(RatioHW<=1.55)) ObjectGeometry=IMAGE_GEOMETRY_3_2;
+ else if ((RatioHW>=0.65)&&(RatioHW<=0.67)) ObjectGeometry=IMAGE_GEOMETRY_2_3;
+ else if ((RatioHW>=1.32)&&(RatioHW<=1.34)) ObjectGeometry=IMAGE_GEOMETRY_4_3;
+ else if ((RatioHW>=0.74)&&(RatioHW<=0.76)) ObjectGeometry=IMAGE_GEOMETRY_3_4;
+ else if ((RatioHW>=1.77)&&(RatioHW<=1.79)) ObjectGeometry=IMAGE_GEOMETRY_16_9;
+ else if ((RatioHW>=0.56)&&(RatioHW<=0.58)) ObjectGeometry=IMAGE_GEOMETRY_9_16;
+ else if ((RatioHW>=2.34)&&(RatioHW<=2.36)) ObjectGeometry=IMAGE_GEOMETRY_40_17;
+ else if ((RatioHW>=0.42)&&(RatioHW<=0.44)) ObjectGeometry=IMAGE_GEOMETRY_17_40;
+
+ // if Icon16 stil null then load default icon
+ if (Icon16.isNull()) LoadIcons(&ApplicationConfig->DefaultIMAGEIcon);
+
+ IsInformationValide=true;
+}
+
+//====================================================================================================================
+
+QString cImageFile::GetTechInfo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cImageFile::GetTechInfo");
+
+ QString Info=GetImageSizeStr(FULLWEB);
+ if (GetInformationValue("artist")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("artist");
+ if (GetInformationValue("composer")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("composer");
+ if (GetInformationValue("Image.Orientation")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("Image.Orientation");
+ return Info;
+}
+
+//====================================================================================================================
+
+QString cImageFile::GetTAGInfo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cImageFile::GetTAGInfo");
+
+ QString Info=GetInformationValue("Photo.ExposureTime");
+ if (GetInformationValue("Photo.ApertureValue")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("Photo.ApertureValue");
+ if (GetInformationValue("Photo.ISOSpeedRatings")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("Photo.ISOSpeedRatings")+" ISO";
+ if (GetInformationValue("CanonCs.LensType")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("CanonCs.LensType"); // Canon version
+ if (GetInformationValue("NikonLd3.LensIDNumber")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("NikonLd3.LensIDNumber"); // Nikon version
+ if (GetInformationValue("Photo.Flash")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("Photo.Flash");
+ if (GetInformationValue("CanonCs.FlashMode")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("CanonCs.FlashMode"); // Canon version
+ if (GetInformationValue("Nikon3.FlashMode")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("Nikon3.FlashMode"); // Nikon version
+ return Info;
+}
+
+//====================================================================================================================
+
+QImage *cImageFile::ImageAt(bool PreviewMode,cFilterTransformObject *Filter) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cImageFile::ImageAt");
+
+ if (!IsValide) return NULL;
+ if (!IsInformationValide) GetFullInformationFromFile();
+
+ QImage *LN_Image =NULL;
+ QImage *RetImage =NULL;
+ cLuLoImageCacheObject *ImageObject=ApplicationConfig->ImagesCache.FindObject(FileName,ModifDateTime,ImageOrientation,Filter,(!PreviewMode || ApplicationConfig->Smoothing),true);
+
+ if (!ImageObject) {
+ ToLog(LOGMSG_CRITICAL,"Error in cImageFile::ImageAt : FindObject return NULL !");
+ return NULL; // There is an error !!!!!
+ }
+
+ if (PreviewMode) LN_Image=ImageObject->ValidateCachePreviewImage();
+ else LN_Image=ImageObject->ValidateCacheRenderImage();
+
+ if ((LN_Image==NULL)||(LN_Image->isNull())) {
+ ToLog(LOGMSG_CRITICAL,"Error in cImageFile::ImageAt : ValidateCacheImage return NULL !");
+ } else {
+ RetImage=new QImage(LN_Image->copy());
+ if ((RetImage==NULL)||(RetImage->isNull()))
+ ToLog(LOGMSG_CRITICAL,"Error in cImageFile::ImageAt : LN_Image->copy() return NULL !");
+ }
+
+ // return wanted image
+ return RetImage;
+}
+
+/*************************************************************************************************************************************
+ CLASS cVideoFile
+*************************************************************************************************************************************/
+
+cVideoFile::cVideoFile(int TheWantedObjectType,cBaseApplicationConfig *ApplicationConfig):cBaseMediaFile(ApplicationConfig) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::cVideoFile");
+
+ MusicOnly = (TheWantedObjectType==OBJECTTYPE_MUSICFILE);
+ ObjectType = TheWantedObjectType;
+ IsOpen = false;
+ StartPos = QTime(0,0,0,0); // Start position
+ EndPos = QTime(0,0,0,0); // End position
+
+ // Video part
+ ffmpegVideoFile = NULL;
+ VideoDecoderCodec = NULL;
+ VideoStreamNumber = 0;
+ FrameBufferYUV = NULL;
+ FrameBufferYUVReady = false;
+ FrameBufferYUVPosition = 0;
+ dEndFileCachePos = 0; // Position of the cache image of last image of the video
+ VideoCodecInfo = "";
+ VideoTrackNbr = 0;
+ VideoStreamNumber =-1;
+ NbrChapters = 0;
+
+ // Audio part
+ ffmpegAudioFile = NULL;
+ AudioDecoderCodec = NULL;
+ LastAudioReadedPosition =-1;
+ IsVorbis = false;
+ AudioCodecInfo = "";
+ AudioTrackNbr = 0;
+ AudioStreamNumber =-1;
+}
+
+//====================================================================================================================
+
+cVideoFile::~cVideoFile() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::~cVideoFile");
+
+ // Close LibAVFormat and LibAVCodec contexte for the file
+ CloseCodecAndFile();
+}
+
+//====================================================================================================================
+
+// Overloaded function use to dertermine if media file correspond to WantedObjectType
+// WantedObjectType could be OBJECTTYPE_VIDEOFILE or OBJECTTYPE_MUSICFILE
+// if AudioOnly was set to true in constructor then ignore all video track and set WantedObjectType to OBJECTTYPE_MUSICFILE else set it to OBJECTTYPE_VIDEOFILE
+// return true if WantedObjectType=OBJECTTYPE_VIDEOFILE and at least one video track is present
+// return true if WantedObjectType=OBJECTTYPE_MUSICFILE and at least one audio track is present
+
+void cVideoFile::GetFullInformationFromFile() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::GetFullInformationFromFile");
+
+ int64_t AVNOPTSVALUE=INT64_C(0x8000000000000000); // to solve type error with Qt
+
+ AVFormatContext *ffmpegFile=NULL;;
+
+ //*********************************************************************************************************
+ // Open file and get a LibAVFormat context and an associated LibAVCodec decoder
+ //*********************************************************************************************************
+ if (avformat_open_input(&ffmpegFile,FileName.toLocal8Bit(),NULL,NULL)!=0) return;
+ InformationList.append(QString("Short Format##")+QString(ffmpegFile->iformat->name));
+ InformationList.append(QString("Long Format##")+QString(ffmpegFile->iformat->long_name));
+ ffmpegFile->flags|=AVFMT_FLAG_GENPTS; // Generate missing pts even if it requires parsing future frames.
+
+ //*********************************************************************************************************
+ // Search stream in file
+ //*********************************************************************************************************
+ #ifdef LIBAV_07
+ if (av_find_stream_info(ffmpegFile)<0) {
+ av_close_input_file(ffmpegFile);// deprecated : use avformat_find_stream_info instead
+ return;
+ }
+ #else
+ if (avformat_find_stream_info(ffmpegFile,NULL)<0) {
+ avformat_close_input(&ffmpegFile);
+ return;
+ }
+ #endif
+
+ //*********************************************************************************************************
+ // Get metadata
+ //*********************************************************************************************************
+ AVDictionaryEntry *tag=NULL;
+ while ((tag=av_dict_get(ffmpegFile->metadata,"",tag,AV_DICT_IGNORE_SUFFIX))) {
+ QString Value=QString().fromUtf8(tag->value);
+ #ifdef Q_OS_WIN
+ Value.replace(char(13),"\n");
+ #endif
+ if (Value.endsWith("\n")) Value=Value.left(Value.lastIndexOf("\n"));
+ InformationList.append(QString().fromUtf8(tag->key).toLower()+QString("##")+Value);
+ }
+
+ //*********************************************************************************************************
+ // Get chapters
+ //*********************************************************************************************************
+ NbrChapters=ffmpegFile->nb_chapters;
+ for (uint i=0;i<ffmpegFile->nb_chapters;i++) {
+ AVChapter *ch=ffmpegFile->chapters[i];
+ QString ChapterNum=QString("%1").arg(i);
+ while (ChapterNum.length()<3) ChapterNum="0"+ChapterNum;
+ qlonglong Start=double(ch->start)*(double(av_q2d(ch->time_base))*1000); // Lib AV use 1/1 000 000 000 sec and we want msec !
+ qlonglong End =double(ch->end)*(double(av_q2d(ch->time_base))*1000); // Lib AV use 1/1 000 000 000 sec and we want msec !
+ InformationList.append("Chapter_"+ChapterNum+":Start" +QString("##")+QTime(0,0,0,0).addMSecs(Start).toString("hh:mm:ss.zzz"));
+ InformationList.append("Chapter_"+ChapterNum+":End" +QString("##")+QTime(0,0,0,0).addMSecs(End).toString("hh:mm:ss.zzz"));
+ InformationList.append("Chapter_"+ChapterNum+":Duration"+QString("##")+QTime(0,0,0,0).addMSecs(End-Start).toString("hh:mm:ss.zzz"));
+ // Chapter metadata
+ while ((tag=av_dict_get(ch->metadata,"",tag,AV_DICT_IGNORE_SUFFIX)))
+ InformationList.append("Chapter_"+ChapterNum+":"+QString().fromUtf8(tag->key).toLower()+QString("##")+QString().fromUtf8(tag->value));
+ }
+
+ //*********************************************************************************************************
+ // Get information about duration
+ //*********************************************************************************************************
+ int hh,mm,ss;
+ qlonglong ms;
+
+ ms=ffmpegFile->duration;
+ if (ffmpegFile->start_time!=AVNOPTSVALUE) ms-=ffmpegFile->start_time;
+ ms=ms/1000;
+
+ ss=ms/1000;
+ mm=ss/60;
+ hh=mm/60;
+ mm=mm-(hh*60);
+ ss=ss-(ss/60)*60;
+ ms=ms-(ms/1000)*1000;
+ Duration=QTime(hh,mm,ss,ms);
+
+ EndPos =Duration; // By default : EndPos is set to the end of file
+ InformationList.append(QString("Duration")+QString("##")+Duration.toString("HH:mm:ss.zzz"));
+
+ //*********************************************************************************************************
+ // Get information from track
+ //*********************************************************************************************************
+ for (int Track=0;Track<(int)ffmpegFile->nb_streams;Track++) {
+
+ // Find codec
+ AVCodec *Codec=avcodec_find_decoder(ffmpegFile->streams[Track]->codec->codec_id);
+
+ //*********************************************************************************************************
+ // Audio track
+ //*********************************************************************************************************
+ if (ffmpegFile->streams[Track]->codec->codec_type==AVMEDIA_TYPE_AUDIO) {
+ // Keep this as default track
+ if (AudioStreamNumber==-1) AudioStreamNumber=Track;
+
+ // Compute TrackNum
+ QString TrackNum=QString("%1").arg(AudioTrackNbr);
+ while (TrackNum.length()<3) TrackNum="0"+TrackNum;
+ TrackNum="Audio_"+TrackNum+":";
+
+ // General
+ InformationList.append(TrackNum+QString("Track")+QString("##")+QString("%1").arg(Track));
+ if (Codec) InformationList.append(TrackNum+QString("Codec")+QString("##")+QString(Codec->name));
+
+ // Channels
+ QString SampleFMT="";
+ switch (ffmpegFile->streams[Track]->codec->sample_fmt) {
+ case AV_SAMPLE_FMT_U8 : SampleFMT="-U8"; break;
+ case AV_SAMPLE_FMT_S16: SampleFMT="-S16"; break;
+ case AV_SAMPLE_FMT_S32: SampleFMT="-S32"; break;
+ default : SampleFMT="-?"; break;
+ }
+ if (ffmpegFile->streams[Track]->codec->channels==1) InformationList.append(TrackNum+QString("Channels")+QString("##")+QApplication::translate("cBaseMediaFile","Mono","Audio channels mode")+SampleFMT);
+ else if (ffmpegFile->streams[Track]->codec->channels==2) InformationList.append(TrackNum+QString("Channels")+QString("##")+QApplication::translate("cBaseMediaFile","Stereo","Audio channels mode")+SampleFMT);
+ else InformationList.append(TrackNum+QString("Channels")+QString("##")+QString("%1").arg(ffmpegFile->streams[Track]->codec->channels)+SampleFMT);
+
+ // Frequency
+ if (int(ffmpegFile->streams[Track]->codec->sample_rate/1000)*1000>0) {
+ if (int(ffmpegFile->streams[Track]->codec->sample_rate/1000)*1000==ffmpegFile->streams[Track]->codec->sample_rate)
+ InformationList.append(TrackNum+QString("Frequency")+QString("##")+QString("%1").arg(int(ffmpegFile->streams[Track]->codec->sample_rate/1000))+"Khz");
+ else InformationList.append(TrackNum+QString("Frequency")+QString("##")+QString("%1").arg(double(ffmpegFile->streams[Track]->codec->sample_rate)/1000,8,'f',1).trimmed()+"Khz");
+ }
+
+ // Bitrate
+ if (int(ffmpegFile->streams[Track]->codec->bit_rate/1000)>0) InformationList.append(TrackNum+QString("Bitrate")+QString("##")+QString("%1").arg(int(ffmpegFile->streams[Track]->codec->bit_rate/1000))+"Kb/s");
+
+ // Sample format
+ switch (ffmpegFile->streams[Track]->codec->sample_fmt) {
+ case AV_SAMPLE_FMT_U8: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"unsigned 8 bits"); break;
+ case AV_SAMPLE_FMT_S16: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"signed 16 bits"); break;
+ case AV_SAMPLE_FMT_S32: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"signed 32 bits"); break;
+ case AV_SAMPLE_FMT_FLT: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"float"); break;
+ case AV_SAMPLE_FMT_DBL: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"double"); break;
+ #ifdef AV_SAMPLE_FMT_U8P
+ case AV_SAMPLE_FMT_U8P: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"unsigned 8 bits, planar"); break;
+ case AV_SAMPLE_FMT_S16P: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"signed 16 bits, planar"); break;
+ case AV_SAMPLE_FMT_S32P: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"signed 32 bits, planar"); break;
+ case AV_SAMPLE_FMT_FLTP: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"float, planar"); break;
+ case AV_SAMPLE_FMT_DBLP: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"double, planar"); break;
+ #endif
+ default: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"Unknown"); break;
+ }
+
+ // Stream metadata
+ while ((tag=av_dict_get(ffmpegFile->streams[Track]->metadata,"",tag,AV_DICT_IGNORE_SUFFIX))) {
+ // OGV container affect TAG to audio stream !
+ QString Key=QString().fromUtf8(tag->key).toLower();
+ if ((FileName.toLower().endsWith(".ogv"))&&((Key=="title")||(Key=="artist")||(Key=="album")||(Key=="comment")||(Key=="date")||(Key=="composer")||(Key=="encoder")))
+ InformationList.append(Key+QString("##")+QString().fromUtf8(tag->value));
+ else InformationList.append(TrackNum+Key+QString("##")+QString().fromUtf8(tag->value));
+ }
+
+ // Ensure language exist (Note : AVI and FLV container own language at container level instead of track level)
+ if (GetInformationValue(TrackNum+"language")=="") {
+ QString Lng=GetInformationValue("language");
+ InformationList.append(TrackNum+QString("language##")+(Lng==""?"und":Lng));
+ }
+
+ // Next
+ AudioTrackNbr++;
+
+ //*********************************************************************************************************
+ // Video track
+ //*********************************************************************************************************
+ } else if (!MusicOnly && (ffmpegFile->streams[Track]->codec->codec_type==AVMEDIA_TYPE_VIDEO)) {
+
+ // Keep this as default track
+ if (VideoStreamNumber==-1) VideoStreamNumber=Track;
+
+ // Compute TrackNum
+ QString TrackNum=QString("%1").arg(VideoTrackNbr);
+ while (TrackNum.length()<3) TrackNum="0"+TrackNum;
+ TrackNum="Video_"+TrackNum+":";
+
+ // General
+ InformationList.append(TrackNum+QString("Track")+QString("##")+QString("%1").arg(Track));
+ if (Codec) InformationList.append(TrackNum+QString("Codec")+QString("##")+QString(Codec->name));
+
+ // Bitrate
+ if (ffmpegFile->streams[Track]->codec->bit_rate>0) InformationList.append(TrackNum+QString("Bitrate")+QString("##")+QString("%1").arg(int(ffmpegFile->streams[Track]->codec->bit_rate/1000))+"Kb/s");
+
+ // Frame rate
+ if (int(double(ffmpegFile->streams[Track]->avg_frame_rate.num)/double(ffmpegFile->streams[Track]->avg_frame_rate.den))>0) {
+ if (int(double(ffmpegFile->streams[Track]->avg_frame_rate.num)/double(ffmpegFile->streams[Track]->avg_frame_rate.den))==double(ffmpegFile->streams[Track]->avg_frame_rate.num)/double(ffmpegFile->streams[Track]->avg_frame_rate.den))
+ InformationList.append(TrackNum+QString("Frame rate")+QString("##")+QString("%1").arg(int(double(ffmpegFile->streams[Track]->avg_frame_rate.num)/double(ffmpegFile->streams[Track]->avg_frame_rate.den)))+" FPS");
+ else InformationList.append(TrackNum+QString("Frame rate")+QString("##")+QString("%1").arg(double(double(ffmpegFile->streams[Track]->avg_frame_rate.num)/double(ffmpegFile->streams[Track]->avg_frame_rate.den)),8,'f',3).trimmed()+" FPS");
+ }
+
+ // Stream metadata
+ while ((tag=av_dict_get(ffmpegFile->streams[Track]->metadata,"",tag,AV_DICT_IGNORE_SUFFIX)))
+ InformationList.append(TrackNum+QString(tag->key)+QString("##")+QString().fromUtf8(tag->value));
+
+ // Ensure language exist (Note : AVI ‘AttachedPictureFrame’and FLV container own language at container level instead of track level)
+ if (GetInformationValue(TrackNum+"language")=="") {
+ QString Lng=GetInformationValue("language");
+ InformationList.append(TrackNum+QString("language##")+(Lng==""?"und":Lng));
+ }
+
+ // Next
+ VideoTrackNbr++;
+ }
+ }
+
+ //*********************************************************************************************************
+ // Close file
+ //*********************************************************************************************************
+ #ifdef LIBAV_07
+ av_close_input_file(ffmpegFile);
+ #else
+ avformat_close_input(&ffmpegFile);
+ #endif
+
+ //*********************************************************************************************************
+ // Produce thumbnail
+ //*********************************************************************************************************
+
+ IsInformationValide=true;
+
+ // If it's an audio file, try to get embeded image
+ if (ObjectType==OBJECTTYPE_MUSICFILE) {
+ QImage *Img=GetEmbededImage(FileName);
+ if (Img) {
+ LoadIcons(Img);
+ delete Img;
+ }
+
+ // If it's a video then search if an image (jpg) with same name exist
+ } else if (ObjectType==OBJECTTYPE_VIDEOFILE) {
+
+ // Search if a jukebox mode thumbnail (jpg file with same name as video) exist
+ QFileInfo File(FileName);
+ QString JPegFile=File.absolutePath()+(File.absolutePath().endsWith(QDir::separator())?"":QString(QDir::separator()))+File.completeBaseName()+".jpg";
+ if (QFileInfo(JPegFile).exists()) LoadIcons(JPegFile);
+
+ if (Icon16.isNull()||(ImageWidth==0)|| (ImageHeight==0)) {
+ // Open file
+ OpenCodecAndFile();
+ CloseCodecAndFile();
+ }
+ }
+
+ // if no icon then load default for type
+ if (Icon16.isNull()) LoadIcons(ObjectType==OBJECTTYPE_VIDEOFILE?&ApplicationConfig->DefaultVIDEOIcon:&ApplicationConfig->DefaultMUSICIcon);
+
+}
+
+//====================================================================================================================
+
+bool cVideoFile::IsFilteredFile(int RequireObjectType) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::IsFilteredFile");
+
+ return (RequireObjectType==OBJECTTYPE_UNMANAGED)||(RequireObjectType==OBJECTTYPE_MANAGED)||(ObjectType==RequireObjectType);
+}
+
+//====================================================================================================================
+
+QString cVideoFile::GetFileTypeStr() {
+ ToLog(LOGMSG_DEBUGTRACE,QString("IN:cVideoFile::GetFileTypeStr for %1").arg(FileName));
+
+ if (MusicOnly || (ObjectType==OBJECTTYPE_MUSICFILE)) return QApplication::translate("cBaseMediaFile","Music","File type");
+ else return QApplication::translate("cBaseMediaFile","Video","File type");
+}
+
+//====================================================================================================================
+
+QImage *cVideoFile::GetDefaultTypeIcon(cCustomIcon::IconSize Size) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::GetDefaultTypeIcon");
+
+ if (MusicOnly || (ObjectType==OBJECTTYPE_MUSICFILE)) return ApplicationConfig->DefaultMUSICIcon.GetIcon(Size);
+ else return ApplicationConfig->DefaultVIDEOIcon.GetIcon(Size);
+}
+
+//====================================================================================================================
+
+QString cVideoFile::GetTechInfo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::GetTechInfo");
+
+ QString Info="";
+ if (ObjectType==OBJECTTYPE_MUSICFILE) {
+ Info=GetCumulInfoStr("Audio","Codec");
+ if (GetCumulInfoStr("Audio","Channels")!="") Info=Info+(Info!=""?"-":"")+GetCumulInfoStr("Audio","Channels");
+ if (GetCumulInfoStr("Audio","Bitrate")!="") Info=Info+(Info!=""?"-":"")+GetCumulInfoStr("Audio","Bitrate");
+ if (GetCumulInfoStr("Audio","Frequency")!="") Info=Info+(Info!=""?"-":"")+GetCumulInfoStr("Audio","Frequency");
+ } else {
+ Info=GetImageSizeStr();
+ if (GetCumulInfoStr("Video","Codec")!="") Info=Info+(Info!=""?"-":"")+GetCumulInfoStr("Video","Codec");
+ if (GetCumulInfoStr("Video","Frame rate")!="") Info=Info+(Info!=""?"-":"")+GetCumulInfoStr("Video","Frame rate");
+ if (GetCumulInfoStr("Video","Bitrate")!="") Info=Info+(Info!=""?"-":"")+GetCumulInfoStr("Video","Bitrate");
+
+ int Num =0;
+ QString TrackNum="";
+ QString Value ="";
+ QString SubInfo ="";
+ do {
+ TrackNum=QString("%1").arg(Num);
+ while (TrackNum.length()<3) TrackNum="0"+TrackNum;
+ TrackNum="Audio_"+TrackNum+":";
+ Value=GetInformationValue(TrackNum+"language");
+ if (Value!="") {
+ if (Num==0) Info=Info+"-"; else Info=Info+"/";
+ SubInfo=GetInformationValue(TrackNum+"Codec");
+ if (GetInformationValue(TrackNum+"Channels")!="") SubInfo=SubInfo+(Info!=""?"-":"")+GetInformationValue(TrackNum+"Channels");
+ if (GetInformationValue(TrackNum+"Bitrate")!="") SubInfo=SubInfo+(Info!=""?"-":"")+GetInformationValue(TrackNum+"Bitrate");
+ if (GetInformationValue(TrackNum+"Frequency")!="") SubInfo=SubInfo+(Info!=""?"-":"")+GetInformationValue(TrackNum+"Frequency");
+ Info=Info+Value+"("+SubInfo+")";
+ }
+ // Next
+ Num++;
+ } while (Value!="");
+ }
+ return Info;
+}
+
+//====================================================================================================================
+
+QString cVideoFile::GetTAGInfo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::GetTAGInfo");
+
+ QString Info=GetInformationValue("track");
+ if (GetInformationValue("title")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("title");
+ if (GetInformationValue("artist")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("artist");
+ if (GetInformationValue("album")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("album");
+ if (GetInformationValue("date")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("date");
+ if (GetInformationValue("genre")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("genre");
+ return Info;
+}
+
+//====================================================================================================================
+// Close LibAVFormat and LibAVCodec contexte for the file
+//====================================================================================================================
+
+void cVideoFile::CloseCodecAndFile() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::CloseCodecAndFile");
+
+ // Close the video codec
+ if (VideoDecoderCodec!=NULL) {
+ avcodec_close(ffmpegVideoFile->streams[VideoStreamNumber]->codec);
+ VideoDecoderCodec=NULL;
+ }
+
+ // Close the video file
+ if (ffmpegVideoFile!=NULL) {
+ #ifdef LIBAV_07
+ av_close_input_file(ffmpegVideoFile);
+ #else
+ avformat_close_input(&ffmpegVideoFile);
+ #endif
+ ffmpegVideoFile=NULL;
+ }
+
+ // Close the audio codec
+ if (AudioDecoderCodec!=NULL) {
+ avcodec_close(ffmpegAudioFile->streams[AudioStreamNumber]->codec);
+ AudioDecoderCodec=NULL;
+ }
+ // Close the audio file
+ if (ffmpegAudioFile!=NULL) {
+ #ifdef LIBAV_07
+ av_close_input_file(ffmpegAudioFile);
+ #else
+ avformat_close_input(&ffmpegAudioFile);
+ #endif
+ ffmpegAudioFile=NULL;
+ }
+
+ if (FrameBufferYUV!=NULL) {
+ av_free(FrameBufferYUV);
+ FrameBufferYUV=NULL;
+ }
+ FrameBufferYUVReady=false;
+ IsOpen=false;
+}
+
+//====================================================================================================================
+// Read an audio frame from current stream
+//====================================================================================================================
+void cVideoFile::ReadAudioFrame(bool PreviewMode,qlonglong Position,cSoundBlockList *SoundTrackBloc,double Volume,bool DontUseEndPos) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::ReadAudioFrame");
+
+ if (Volume==0) return;
+
+ // Ensure file was previously open and all is ok
+ if ((SoundTrackBloc==NULL)||(AudioStreamNumber==-1)||(ffmpegAudioFile->streams[AudioStreamNumber]==NULL)||(ffmpegAudioFile==NULL)||(AudioDecoderCodec==NULL)) return;
+
+ // Ensure Position is not > EndPosition
+ if (Position>QTime(0,0,0,0).msecsTo(DontUseEndPos?Duration:EndPos)) return;
+
+ int64_t AVNOPTSVALUE =INT64_C(0x8000000000000000); // to solve type error with Qt
+ AVStream *AudioStream =ffmpegAudioFile->streams[AudioStreamNumber];
+ int64_t SrcSampleSize =(AudioStream->codec->sample_fmt==AV_SAMPLE_FMT_S16?2:1)*int64_t(AudioStream->codec->channels);
+ int64_t DstSampleSize =(SoundTrackBloc->SampleBytes*SoundTrackBloc->Channels);
+ AVPacket *StreamPacket =NULL;
+ int64_t MaxAudioLenDecoded =AVCODEC_MAX_AUDIO_FRAME_SIZE*10;
+ int64_t AudioLenDecoded =0;
+ uint8_t *BufferForDecoded =(uint8_t *)av_malloc(MaxAudioLenDecoded);
+ double dPosition =double(Position)/1000; // Position in double format
+ //double AudioDataWanted =(PreviewMode?SoundTrackBloc->WantedDuration:5)*double(AudioStream->codec->sample_rate)*SrcSampleSize; // 5 sec for rendering
+ double AudioLengthWanted =(PreviewMode?1:5)*SoundTrackBloc->WantedDuration; // 5 frame for rendering
+
+ bool Continue =true;
+ double FramePosition =dPosition;
+ double FrameDuration =0;
+
+ // Adjust position if input file have a start_time value
+ if (ffmpegAudioFile->start_time!=AVNOPTSVALUE) dPosition+=double(ffmpegAudioFile->start_time)/double(AV_TIME_BASE);
+
+ // Cac difftime between asked position and previous end decoded position
+ qlonglong Diff=(qlonglong(SoundTrackBloc->SoundPacketSize*SoundTrackBloc->List.count()+SoundTrackBloc->CurrentTempSize)/DstSampleSize)*1000/SoundTrackBloc->SamplingRate;
+ qlonglong DiffTimePosition=(LastAudioReadedPosition-Diff)-(dPosition*1000);
+ if (DiffTimePosition<0) DiffTimePosition=-DiffTimePosition;
+
+ #ifdef LIBAV_07
+ // if Old ffmpeg : Prepare a buffer for sound decoding
+ uint8_t *BufferToDecode=(uint8_t *)av_malloc(48000*4*2); // 2 sec buffer
+ #endif
+
+ // Calc if we need to seek to a position
+ if ((Position==0)||(DiffTimePosition>500)) {// Allow 0,5 sec diff (rounded double !)
+ // Flush all buffers
+ for (unsigned int i=0;i<ffmpegAudioFile->nb_streams;i++) {
+ AVCodecContext *codec_context = ffmpegAudioFile->streams[i]->codec;
+ if (codec_context && codec_context->codec) avcodec_flush_buffers(codec_context);
+ }
+ SoundTrackBloc->ClearList(); // Clear soundtrack list
+
+ // Seek to nearest previous key frame
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::ReadAudioFrame => do a seek");
+ int64_t seek_target=av_rescale_q(int64_t((dPosition/1000)*AV_TIME_BASE),AV_TIME_BASE_Q,ffmpegAudioFile->streams[AudioStreamNumber]->time_base);
+ if (av_seek_frame(ffmpegAudioFile,AudioStreamNumber,seek_target,AVSEEK_FLAG_BACKWARD)<0) {
+ // Try in AVSEEK_FLAG_ANY mode
+ if (av_seek_frame(ffmpegAudioFile,AudioStreamNumber,seek_target,AVSEEK_FLAG_ANY)<0) {
+ ToLog(LOGMSG_CRITICAL,"Error in cVideoFile::ReadAudioFrame : Seek error");
+ }
+ }
+ FramePosition=-1;
+
+ }
+
+ //*************************************************************************************************************************************
+ // Decoding process : Get StreamPacket until AudioLenDecoded>=AudioDataWanted or we have reach the end of file
+ //*************************************************************************************************************************************
+
+ while (Continue) {
+ StreamPacket=new AVPacket();
+ av_init_packet(StreamPacket);
+
+ int err=av_read_frame(ffmpegAudioFile,StreamPacket);
+ if (err<0) {
+ // if error in av_read_frame(...) then may be we have reach the end of file !
+ Continue=false;
+ ToLog(LOGMSG_CRITICAL,QString("Error in cVideoFile::ReadAudioFrame : av_read_frame error %1").arg(err));
+ } else {
+ if ((StreamPacket->stream_index==AudioStreamNumber)&&(StreamPacket->size>0)) {
+
+ AVPacket PacketTemp;
+ av_init_packet(&PacketTemp);
+ PacketTemp.data=StreamPacket->data;
+ PacketTemp.size=StreamPacket->size;
+
+ if (StreamPacket->pts!=AVNOPTSVALUE) FramePosition=double(StreamPacket->pts)*double(av_q2d(AudioStream->time_base));
+
+ // NOTE: the audio packet can contain several frames
+ if (FramePosition!=-1) while (PacketTemp.size>0) {
+
+ #ifdef LIBAV_07
+ // Decode audio data
+ int SizeDecoded =(AVCODEC_MAX_AUDIO_FRAME_SIZE*3)/2;
+ int Len =avcodec_decode_audio3(AudioStream->codec,(int16_t *)BufferToDecode,&SizeDecoded,&PacketTemp);
+ #else
+ AVFrame *Frame =avcodec_alloc_frame();
+ int SizeDecoded =0;
+ int Len =avcodec_decode_audio4(AudioStream->codec,Frame,&SizeDecoded,&PacketTemp);
+ #endif
+ if (Len<0) {
+ // if decode error then data are not good : replace them with null sound
+ //SizeDecoded=int64_t(LastAudioFrameDuration*double(SoundTrackBloc->SamplingRate))*DstSampleSize;
+ //memset(BufferForDecoded+AudioLenDecoded,0,SizeDecoded);
+ //AudioLenDecoded+=SizeDecoded;
+ //qDebug()<<" =>Make NULL Audio frame"<<SizeDecoded<<"bytes added - Buffer:"<<AudioLenDecoded<<"/"<<MaxAudioLenDecoded;
+ // if error, we skip the frame and exit the while loop
+ PacketTemp.size=0;
+ } else if (SizeDecoded>0) {
+ #ifdef LIBAV_07
+ FrameDuration=double(SizeDecoded)/(double(SrcSampleSize)*double(AudioStream->codec->sample_rate));
+ #else
+ SizeDecoded =Frame->nb_samples*SrcSampleSize;
+ FrameDuration=double(Frame->nb_samples)/double(AudioStream->codec->sample_rate);
+ #endif
+
+ // If wanted position <= CurrentPosition+Packet duration then add this packet to the queue
+ if ((FramePosition+FrameDuration)>=dPosition) {
+ int64_t Delta=0;
+ // if dPosition start in the midle of the pack, then calculate delta
+ if (dPosition>FramePosition) {
+ Delta=int64_t(double(dPosition-FramePosition)*double(AudioStream->codec->sample_rate));
+ Delta*=SrcSampleSize;
+ }
+ // Append decoded data to BufferForDecoded buffer
+ #ifdef LIBAV_07
+ memcpy(BufferForDecoded+AudioLenDecoded,BufferToDecode+Delta,SizeDecoded-Delta);
+ #else
+ memcpy(BufferForDecoded+AudioLenDecoded,Frame->data[0]+Delta,SizeDecoded-Delta);
+ #endif
+ AudioLenDecoded+=(SizeDecoded-Delta);
+ }
+
+ PacketTemp.data +=Len;
+ PacketTemp.size -=Len;
+ FramePosition =FramePosition+FrameDuration;
+ LastAudioReadedPosition =int(FramePosition*1000); // Keep NextPacketPosition for determine next time if we need to seek
+ }
+ #ifndef LIBAV_07
+ av_free(Frame);
+ #endif
+ }
+ }
+
+ // Continue with a new one
+ av_free_packet(StreamPacket); // Free the StreamPacket that was allocated by previous call to av_read_frame
+ delete StreamPacket;
+ StreamPacket=NULL;
+
+ // Check if we need to continue loop
+ //Continue=(AudioLenDecoded<AudioDataWanted);
+ Continue=FramePosition<dPosition+AudioLengthWanted;
+ }
+ }
+
+ //**********************************************************************
+ // Transfert data from BufferForDecoded to Buffer using audio_resample
+ //**********************************************************************
+ if (AudioLenDecoded>0) {
+
+ // u8 mono or stereo TO Stereo-i16
+ if (AudioStream->codec->sample_fmt==AV_SAMPLE_FMT_U8) {
+ uint8_t *NewBuffer=(uint8_t *)av_malloc(MaxAudioLenDecoded);
+ uint8_t *Buf1=(uint8_t*)BufferForDecoded;
+ int16_t *Buf2=(int16_t*)NewBuffer;
+ int16_t Val;
+ for (int j=0;j<AudioLenDecoded;j++) {
+ Val=((double(*(Buf1++))-double(128))/double(128))*double(32768);
+ *(Buf2++)=Val; // to i16
+ if (AudioStream->codec->channels==1) *(Buf2++)=Val; // to stereo
+ }
+ av_free(BufferForDecoded);
+ BufferForDecoded=NewBuffer;
+ AudioLenDecoded*=2; // to i16
+ if (AudioStream->codec->channels==1) AudioLenDecoded*=2; // to stereo
+
+ // Mono-i16 to stereo-i16
+ } else if (AudioStream->codec->channels==1) {
+ int16_t *NewBuf=(short int*)av_malloc(AudioLenDecoded*DstSampleSize+DstSampleSize);
+ int16_t *Pa=NewBuf;
+ int16_t *Pb=(int16_t*)BufferForDecoded;
+
+ for (int i=0;i<AudioLenDecoded/2;i++) {
+ *(Pa++)=*Pb;
+ *(Pa++)=*(Pb++);
+ }
+ // Switch the 2 buffers
+ av_free(BufferForDecoded);
+ BufferForDecoded=(uint8_t*)NewBuf;
+ AudioLenDecoded=AudioLenDecoded*2;
+ }
+
+ // Now, we are sure we have stereo-i16 samples
+
+ // Adjust volume
+ if (Volume!=1) {
+ int16_t *Buf1=(int16_t*)BufferForDecoded;
+ int32_t mix;
+ for (int j=0;j<AudioLenDecoded/4;j++) {
+ // Left channel : Adjust if necessary (16 bits)
+ mix=int32_t(double(*(Buf1))*Volume); if (mix>32767) mix=32767; else if (mix<-32768) mix=-32768; *(Buf1++)=int16_t(mix);
+ // Right channel : Adjust if necessary (16 bits)
+ mix=int32_t(double(*(Buf1))*Volume); if (mix>32767) mix=32767; else if (mix<-32768) mix=-32768; *(Buf1++)=int16_t(mix);
+ }
+ }
+
+ // Resampling
+ if (SoundTrackBloc->SamplingRate!=AudioStream->codec->sample_rate) {
+ ToLog(LOGMSG_DEBUGTRACE,QString("IN:cVideoFile::ReadAudioFrame => do a resample of %1 bytes").arg(AudioLenDecoded));
+
+ double NewSize=((double(AudioLenDecoded)/double(DstSampleSize))/double(AudioStream->codec->sample_rate))*double(SoundTrackBloc->SamplingRate);
+ double PasSrc =1/double(AudioStream->codec->sample_rate);
+ double PasDst =1/double(SoundTrackBloc->SamplingRate);
+ double PosSrc =0;
+ double PosDst =0;
+ int16_t *NewBuf=(short int*)av_malloc(NewSize*DstSampleSize+DstSampleSize);
+ int16_t *PtrSrc=(int16_t*)BufferForDecoded;
+ int16_t *PtrDst=NewBuf;
+ int RealNewSize=0;
+
+ if (PreviewMode && ApplicationConfig->QuickResamplingPreview) {
+ // For Preview Mode use a quick resampling linear method without interpolation
+ int16_t Left,Right;
+
+ for (int i=0;i<AudioLenDecoded/DstSampleSize;i++) {
+ Left=*(PtrSrc++);
+ Right=*(PtrSrc++);
+ *(PtrDst++)=Left; // First Chanel
+ *(PtrDst++)=Right; // Second Chanel
+ PosSrc=PosSrc+PasSrc;
+ PosDst=PosDst+PasDst;
+ RealNewSize++;
+ if ((PosSrc-PosDst)>=PasDst) {
+ *(PtrDst++)=Left; // First Chanel
+ *(PtrDst++)=Right; // Second Chanel
+ PosDst=PosDst+PasDst;
+ RealNewSize++;
+ }
+ }
+
+ } else {
+ // For Rendering Mode use a resampling linear method with Hermit interpolation (http://en.wikipedia.org/wiki/Hermite_interpolation)
+ int16_t Left_x0,Left_x1,Left_x2,Left_x3;
+ int16_t Right_x0,Right_x1,Right_x2,Right_x3;
+ float t,c0,c1,c2,c3,Value;
+
+ // First value
+ Left_x0=*(PtrSrc++); *(PtrDst++)=Left_x0;
+ Right_x0=*(PtrSrc++); *(PtrDst++)=Right_x0;
+ PosSrc=PosSrc+PasSrc;
+ PosDst=PosDst+PasDst;
+ RealNewSize++;
+
+ // Second value
+ Left_x1=*(PtrSrc++); *(PtrDst++)=Left_x1;
+ Right_x1=*(PtrSrc++); *(PtrDst++)=Right_x1;
+ //PosSrc=PosSrc+PasSrc;
+ PosDst=PosDst+PasDst;
+ RealNewSize++;
+
+ // Third value
+ Left_x2=*(PtrSrc++);
+ Right_x2=*(PtrSrc++);
+
+ // Neutralize first swap
+ Left_x3 =Left_x2; Left_x2 =Left_x1; Left_x1 =Left_x0;
+ Right_x3=Right_x2; Right_x2=Right_x1; Right_x1=Right_x0;
+
+ for (int i=2;i<(NewSize-2);i++) {
+
+ if ((PosDst-PosSrc)>=PasSrc) {
+ // swap all values
+ Left_x0 =Left_x1; Left_x1 =Left_x2; Left_x2 =Left_x3;
+ Right_x0=Right_x1; Right_x1=Right_x2; Right_x2=Right_x3;
+
+ // Get fourth value
+ Left_x3=*(PtrSrc++);
+ Right_x3=*(PtrSrc++);
+ PosSrc=PosSrc+PasSrc;
+ }
+
+ // Calculate distance between PosSrc and next point
+ t=(PosDst-PosSrc)/PasSrc;
+
+ // Calculate interpolation using Hermite method
+ // Left Chanel
+ c0 =Left_x1;
+ c1 =.5F * (Left_x2 - Left_x0);
+ c2 =Left_x0 - (2.5F * Left_x1) + (2 * Left_x2) - (.5F * Left_x3);
+ c3 =(.5F * (Left_x3 - Left_x0)) + (1.5F * (Left_x1 - Left_x2));
+ Value=(((((c3 * t) + c2) * t) + c1) * t) + c0;
+ if (Value>32767) Value=32767; else if (Value<-32768) Value=-32768;
+ *(PtrDst++)=int16_t(Value);
+
+ // Right Chanel
+ c0 =Right_x1;
+ c1 =.5F * (Right_x2 - Right_x0);
+ c2 =Right_x0 - (2.5F * Right_x1) + (2 * Right_x2) - (.5F * Right_x3);
+ c3 =(.5F * (Right_x3 - Right_x0)) + (1.5F * (Right_x1 - Right_x2));
+ Value=(((((c3 * t) + c2) * t) + c1) * t) + c0;
+ if (Value>32767) Value=32767; else if (Value<-32768) Value=-32768;
+ *(PtrDst++)=int16_t(Value);
+ PosDst=PosDst+PasDst;
+ RealNewSize++;
+ }
+ // Last 2 values
+ *(PtrDst++)=Left_x2;
+ *(PtrDst++)=Right_x2;
+ RealNewSize++;
+ *(PtrDst++)=Left_x3; //Left_x3;
+ *(PtrDst++)=Right_x3; //Right_x3;
+ RealNewSize++;
+ }
+
+ // Append data to SoundTrackBloc
+ SoundTrackBloc->AppendData((int16_t*)NewBuf,RealNewSize*DstSampleSize);
+ av_free(NewBuf); // Free allocated buffers
+
+ } else {
+ // Append data to SoundTrackBloc
+ SoundTrackBloc->AppendData((int16_t*)BufferForDecoded,AudioLenDecoded);
+ }
+
+ }
+
+ // Now ensure SoundTrackBloc have correct wanted packet (if no then add nullsound)
+ //while (SoundTrackBloc->List.count()<SoundTrackBloc->NbrPacketForFPS) SoundTrackBloc->AppendNullSoundPacket();
+
+ #ifdef LIBAV_07
+ if (BufferToDecode) av_free(BufferToDecode);
+ #endif
+ if (BufferForDecoded) av_free(BufferForDecoded);
+}
+
+//====================================================================================================================
+// Read a video frame from current stream
+//====================================================================================================================
+
+#define MAXELEMENTSINOBJECTLIST 500
+
+QImage *cVideoFile::ReadVideoFrame(qlonglong Position,bool DontUseEndPos) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::ReadVideoFrame");
+
+ int64_t AVNOPTSVALUE=INT64_C(0x8000000000000000); // to solve type error with Qt
+
+ // Ensure file was previously open
+ if ((ffmpegVideoFile==NULL)||(VideoDecoderCodec==NULL)) return NULL;
+
+ double dEndFile =double(QTime(0,0,0,0).msecsTo(DontUseEndPos?Duration:EndPos))/1000; // End File Position in double format
+ double dPosition=double(Position)/1000; // Position in double format
+
+ if (dEndFile==0) {
+ ToLog(LOGMSG_CRITICAL,"Error in cVideoFile::ReadVideoFrame : dEndFile=0 ?????");
+ return NULL;
+ }
+
+ // Ensure Position is not > EndPosition, in that case, change Position to lastposition
+ if ((dPosition>0)&&(dPosition>=dEndFile)) {
+ Position=QTime(0,0,0,0).msecsTo(EndPos);
+ dPosition=double(Position)/1000;
+ }
+
+ // Adjust position if input file have a start_time value
+ if (ffmpegVideoFile->start_time!=AVNOPTSVALUE) {
+ dPosition+=double(ffmpegVideoFile->start_time)/double(AV_TIME_BASE);
+ Position =int(dPosition*1000);
+ }
+
+ // Allocate structure for YUV image
+ if (FrameBufferYUV==NULL) FrameBufferYUV=avcodec_alloc_frame();
+ if (FrameBufferYUV==NULL) return NULL;
+
+ bool DataInBuffer =false;
+ QImage *RetImage =NULL;
+ AVStream *VideoStream =ffmpegVideoFile->streams[VideoStreamNumber];
+ AVPacket *StreamPacket =NULL;
+
+ if ((FrameBufferYUVReady)&&(FrameBufferYUVPosition==Position)) {
+ return ConvertYUVToRGB();
+ }
+
+ // Cac difftime between asked position and previous end decoded position
+ qlonglong DiffTimePosition=-1;
+ if (FrameBufferYUVReady) DiffTimePosition=Position-FrameBufferYUVPosition;
+
+
+ // Calc if we need to seek to a position
+ if ((Position==0)||(DiffTimePosition<0)||(DiffTimePosition>500)) { // Allow 0,1 sec diff
+
+ // Flush all buffers
+ for (unsigned int i=0;i<ffmpegVideoFile->nb_streams;i++) {
+ AVCodecContext *codec_context = ffmpegVideoFile->streams[i]->codec;
+ if (codec_context && codec_context->codec) avcodec_flush_buffers(codec_context);
+ }
+ FrameBufferYUVReady = false;
+ FrameBufferYUVPosition = 0;
+
+ // Seek to nearest previous key frame
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::ReadVideoFrame => do a seek");
+
+ // Seek to nearest previous key frame
+ int64_t seek_target=av_rescale_q(int64_t(Position*1000),AV_TIME_BASE_Q,ffmpegVideoFile->streams[VideoStreamNumber]->time_base);
+ if (av_seek_frame(ffmpegVideoFile,VideoStreamNumber,seek_target,AVSEEK_FLAG_BACKWARD)<0) {
+ // Try in AVSEEK_FLAG_ANY mode
+ if (av_seek_frame(ffmpegVideoFile,VideoStreamNumber,seek_target,AVSEEK_FLAG_ANY)<0) {
+ ToLog(LOGMSG_CRITICAL,"Error in cVideoFile::ReadVideoFrame : Seek error");
+ }
+ }
+ } else {
+ DataInBuffer=true;
+ }
+
+ //*************************************************************************************************************************************
+ // Decoding process : Get StreamPacket until endposition is reach (if sound is wanted) or until image is ok (if image only is wanted)
+ //*************************************************************************************************************************************
+ bool Continue =true;
+ bool IsVideoFind =false;
+ double FrameTimeBase =av_q2d(VideoStream->time_base);;
+ double FramePosition =0;
+
+ while (Continue) {
+ StreamPacket=new AVPacket();
+ av_init_packet(StreamPacket);
+ StreamPacket->flags|=AV_PKT_FLAG_KEY; // HACK for CorePNG to decode as normal PNG by default
+
+ if (av_read_frame(ffmpegVideoFile,StreamPacket)==0) {
+
+ if (StreamPacket->stream_index==VideoStreamNumber) {
+ if (!CodecUsePTS) FramePosition=double((StreamPacket->pts!=AVNOPTSVALUE)?StreamPacket->pts:0)*FrameTimeBase; // pts instead of dts
+ else FramePosition=double((StreamPacket->dts!=AVNOPTSVALUE)?StreamPacket->dts:0)*FrameTimeBase; // dts instead of pts
+
+ int FrameDecoded=0;
+ int err=avcodec_decode_video2(VideoStream->codec,FrameBufferYUV,&FrameDecoded,StreamPacket);
+ if (err<0) {
+ ToLog(LOGMSG_INFORMATION,"IN:cVideoFile::ReadVideoFrame : avcodec_decode_video2 return an error");
+ }
+ if (FrameDecoded>0) DataInBuffer=true;
+
+ // Create image
+ if ((DataInBuffer)&&((FramePosition>=dPosition)||(FramePosition>=dEndFile))) {
+ FrameBufferYUVReady =true; // Keep actual value for FrameBufferYUV
+ FrameBufferYUVPosition=int(FramePosition*1000); // Keep actual value for FrameBufferYUV
+ RetImage =ConvertYUVToRGB(); // Create RetImage from YUV Buffer
+ IsVideoFind =(RetImage!=NULL);
+ }
+
+ }
+
+ // Check if we need to continue loop
+ Continue=(IsVideoFind==false)&&(FramePosition<dEndFile);
+
+ } else {
+
+ // if error in av_read_frame(...) then may be we have reach the end of file !
+ Continue=false;
+ // Create image
+ if (DataInBuffer) {
+
+ FrameBufferYUVReady =true; // Keep actual value for FrameBufferYUV
+ FrameBufferYUVPosition=int(FramePosition*1000); // Keep actual value for FrameBufferYUV
+ RetImage =ConvertYUVToRGB(); // Create RetImage from YUV Buffer
+ IsVideoFind =(RetImage!=NULL);
+
+ if (IsVideoFind) dEndFileCachePos=dEndFile; // keep position for future use
+ }
+ }
+
+ if (IsVideoFind) {
+ ObjectGeometry=IMAGE_GEOMETRY_UNKNOWN;
+ double RatioHW=double(RetImage->width())/double(RetImage->height());
+ if ((RatioHW>=1.45)&&(RatioHW<=1.55)) ObjectGeometry=IMAGE_GEOMETRY_3_2;
+ else if ((RatioHW>=0.65)&&(RatioHW<=0.67)) ObjectGeometry=IMAGE_GEOMETRY_2_3;
+ else if ((RatioHW>=1.32)&&(RatioHW<=1.34)) ObjectGeometry=IMAGE_GEOMETRY_4_3;
+ else if ((RatioHW>=0.74)&&(RatioHW<=0.76)) ObjectGeometry=IMAGE_GEOMETRY_3_4;
+ else if ((RatioHW>=1.77)&&(RatioHW<=1.79)) ObjectGeometry=IMAGE_GEOMETRY_16_9;
+ else if ((RatioHW>=0.56)&&(RatioHW<=0.58)) ObjectGeometry=IMAGE_GEOMETRY_9_16;
+ else if ((RatioHW>=2.34)&&(RatioHW<=2.36)) ObjectGeometry=IMAGE_GEOMETRY_40_17;
+ else if ((RatioHW>=0.42)&&(RatioHW<=0.44)) ObjectGeometry=IMAGE_GEOMETRY_17_40;
+ }
+
+ // Continue with a new one
+ if (StreamPacket!=NULL) {
+ av_free_packet(StreamPacket); // Free the StreamPacket that was allocated by previous call to av_read_frame
+ delete StreamPacket;
+ StreamPacket=NULL;
+ }
+ }
+
+ if ((!IsVideoFind)&&(!RetImage)) {
+ ToLog(LOGMSG_CRITICAL,QString("No video image return for position %1 => return black frame").arg(Position));
+ RetImage =new QImage(ffmpegVideoFile->streams[VideoStreamNumber]->codec->width,ffmpegVideoFile->streams[VideoStreamNumber]->codec->height,QImage::Format_ARGB32_Premultiplied);
+ RetImage->fill(0);
+ }
+
+ dEndFileCachePos=dEndFile; // keep position for future use
+
+ return RetImage;
+}
+
+//====================================================================================================================
+//#define PIXFMT PIX_FMT_BGRA
+//#define QTPIXFMT QImage::Format_ARGB32_Premultiplied
+#define PIXFMT PIX_FMT_RGB24
+#define QTPIXFMT QImage::Format_RGB888
+
+QImage *cVideoFile::ConvertYUVToRGB() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::ConvertYUVToRGB");
+
+ int W =ffmpegVideoFile->streams[VideoStreamNumber]->codec->width;
+ int H =ffmpegVideoFile->streams[VideoStreamNumber]->codec->height;
+
+ QImage RetImage(W,H,QTPIXFMT);
+ AVFrame *FrameBufferRGB =avcodec_alloc_frame(); // Allocate structure for RGB image
+
+ if (FrameBufferRGB!=NULL) {
+
+ avpicture_fill(
+ (AVPicture *)FrameBufferRGB, // Buffer to prepare
+ RetImage.bits(), // Buffer which will contain the image data
+ PIXFMT, // The format in which the picture data is stored (see http://wiki.aasimon.org/doku.php?id=ffmpeg:pixelformat)
+ W, // The width of the image in pixels
+ H // The height of the image in pixels
+ );
+
+ // Get a converter from libswscale
+ struct SwsContext *img_convert_ctx=sws_getContext(
+ W,H,ffmpegVideoFile->streams[VideoStreamNumber]->codec->pix_fmt, // Src Widht,Height,Format
+ W,H,PIXFMT, // Destination Width,Height,Format
+ SWS_FAST_BILINEAR/*SWS_BICUBIC*/, // flags
+ NULL,NULL,NULL); // src Filter,dst Filter,param
+
+ if (img_convert_ctx!=NULL) {
+ int ret = sws_scale(
+ img_convert_ctx, // libswscale converter
+ FrameBufferYUV->data, // Source buffer
+ FrameBufferYUV->linesize, // Source Stride ?
+ 0, // Source SliceY:the position in the source image of the slice to process, that is the number (counted starting from zero) in the image of the first row of the slice
+ H, // Source SliceH:the height of the source slice, that is the number of rows in the slice
+ FrameBufferRGB->data, // Destination buffer
+ FrameBufferRGB->linesize // Destination Stride
+ );
+ if (ret>0) {
+ if ((ApplicationConfig->Crop1088To1080)&&(RetImage.height()==1088)&&(RetImage.width()==1920)) RetImage=RetImage.copy(0,4,1920,1080);
+ //FinalImage=new QImage(RetImage.convertToFormat(QImage::Format_ARGB32_Premultiplied)); // Force to ARGB32
+ }
+ sws_freeContext(img_convert_ctx);
+ }
+
+ // free FrameBufferRGB because we don't need it in the future
+ av_free(FrameBufferRGB);
+ }
+
+ //return FinalImage;
+ return new QImage(RetImage);
+}
+
+//====================================================================================================================
+//DontUseEndPos default=false
+QImage *cVideoFile::ImageAt(bool PreviewMode,qlonglong Position,qlonglong StartPosToAdd,cSoundBlockList *SoundTrackBloc,double Volume,
+ bool ForceSoundOnly,cFilterTransformObject *Filter,bool DontUseEndPos) {
+
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::ImageAt");
+
+ if (!IsValide) return NULL;
+ if (!IsOpen) OpenCodecAndFile();
+
+ // Load a video frame
+ QImage *LoadedImage=NULL;
+
+ if ((SoundTrackBloc)&&(SoundTrackBloc->NbrPacketForFPS)&&(SoundTrackBloc->List.count()<SoundTrackBloc->NbrPacketForFPS))
+ ReadAudioFrame(PreviewMode,Position+StartPosToAdd,SoundTrackBloc,Volume,DontUseEndPos);
+
+
+ if ((!MusicOnly)&&(!ForceSoundOnly)) {
+ LoadedImage=ReadVideoFrame(Position+StartPosToAdd,DontUseEndPos);
+ if (LoadedImage) {
+
+ // If preview mode and image size > PreviewMaxHeight, reduce Cache Image
+ if ((PreviewMode)&&(ImageHeight>PREVIEWMAXHEIGHT)) {
+ QImage *NewImage=new QImage(LoadedImage->scaledToHeight(PREVIEWMAXHEIGHT));
+ delete LoadedImage;
+ LoadedImage =NewImage;
+ }
+
+ // Scale image if anamorphous
+ if (AspectRatio!=1) {
+ ImageWidth =int(double(LoadedImage->width())*AspectRatio);
+ ImageHeight=LoadedImage->height();
+ QImage *NewLoadedImage=new QImage(LoadedImage->scaled(ImageWidth,ImageHeight,Qt::IgnoreAspectRatio,Qt::SmoothTransformation));
+ delete LoadedImage;
+ LoadedImage=NewLoadedImage;
+ }
+
+ if (Filter && ((!PreviewMode)||(PreviewMode && ApplicationConfig->ApplyTransfoPreview))) {
+ if (LoadedImage->format()!=QImage::Format_ARGB32_Premultiplied) {
+ QImage *NewLoadedImage=new QImage(LoadedImage->convertToFormat(QImage::Format_ARGB32_Premultiplied));
+ delete LoadedImage;
+ LoadedImage=NewLoadedImage;
+ }
+ Filter->ApplyFilter(LoadedImage);
+ }
+ }
+
+ }
+
+ return LoadedImage;
+}
+
+//====================================================================================================================
+
+bool cVideoFile::OpenCodecAndFile() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::OpenCodecAndFile");
+
+ // Ensure file was previously checked
+ if (!IsValide) return false;
+ if (!IsInformationValide) GetFullInformationFromFile();
+
+ // Clean memory if a previous file was loaded
+ CloseCodecAndFile();
+
+ //**********************************
+
+ // Open audio stream
+ if (AudioStreamNumber!=-1) {
+ // if file exist then Open video file and get a LibAVFormat context and an associated LibAVCodec decoder
+ if (avformat_open_input(&ffmpegAudioFile,FileName.toLocal8Bit(),NULL,NULL)!=0) return false;
+
+ ffmpegAudioFile->flags|=AVFMT_FLAG_GENPTS; // Generate missing pts even if it requires parsing future frames.
+
+ if (avformat_find_stream_info(ffmpegAudioFile,NULL)<0) {
+ #ifdef LIBAV_07
+ av_close_input_file(ffmpegAudioFile);
+ #endif
+ #ifdef LIBAV_08
+ avformat_close_input(&ffmpegAudioFile);
+ #endif
+ return false;
+ }
+
+ // Setup STREAM options
+ ffmpegAudioFile->streams[AudioStreamNumber]->discard=AVDISCARD_DEFAULT;
+
+ // Find the decoder for the audio stream and open it
+ AudioDecoderCodec=avcodec_find_decoder(ffmpegAudioFile->streams[AudioStreamNumber]->codec->codec_id);
+ IsVorbis=(strcmp(AudioDecoderCodec->name,"vorbis")==0);
+
+ // Setup decoder options
+ ffmpegAudioFile->streams[AudioStreamNumber]->codec->debug_mv =0; // Debug level (0=nothing)
+ ffmpegAudioFile->streams[AudioStreamNumber]->codec->debug =0; // Debug level (0=nothing)
+ ffmpegAudioFile->streams[AudioStreamNumber]->codec->workaround_bugs =1; // Work around bugs in encoders which sometimes cannot be detected automatically : 1=autodetection
+ ffmpegAudioFile->streams[AudioStreamNumber]->codec->idct_algo =FF_IDCT_AUTO; // IDCT algorithm, 0=auto
+ ffmpegAudioFile->streams[AudioStreamNumber]->codec->skip_frame =AVDISCARD_DEFAULT; // ???????
+ ffmpegAudioFile->streams[AudioStreamNumber]->codec->skip_idct =AVDISCARD_DEFAULT; // ???????
+ ffmpegAudioFile->streams[AudioStreamNumber]->codec->skip_loop_filter =AVDISCARD_DEFAULT; // ???????
+ ffmpegAudioFile->streams[AudioStreamNumber]->codec->error_concealment=3;
+
+ if ((AudioDecoderCodec==NULL)||(avcodec_open2(ffmpegAudioFile->streams[AudioStreamNumber]->codec,AudioDecoderCodec,NULL)<0)) return false;
+ IsOpen=true;
+ }
+
+ // Open video stream
+ if ((VideoStreamNumber!=-1)&&(!MusicOnly)) {
+
+ // if file exist then Open video file and get a LibAVFormat context and an associated LibAVCodec decoder
+ if (avformat_open_input(&ffmpegVideoFile,FileName.toLocal8Bit(),NULL,NULL)!=0) return false;
+
+ ffmpegVideoFile->flags|=AVFMT_FLAG_GENPTS; // Generate missing pts even if it requires parsing future frames.
+
+ if (avformat_find_stream_info(ffmpegVideoFile,NULL)<0) {
+ #ifdef LIBAV_07
+ av_close_input_file(ffmpegVideoFile);
+ #endif
+ #ifdef LIBAV_08
+ avformat_close_input(&ffmpegVideoFile);
+ #endif
+ return false;
+ }
+
+ // Setup STREAM options
+ ffmpegVideoFile->streams[VideoStreamNumber]->discard=AVDISCARD_DEFAULT;
+
+ // Find the decoder for the video stream and open it
+ VideoDecoderCodec=avcodec_find_decoder(ffmpegVideoFile->streams[VideoStreamNumber]->codec->codec_id);
+
+#ifdef LIBAV_AVCHD
+
+ // Special case for AVCHD file : add CODEC_FLAG2_SHOW_ALL
+ if (InformationList.contains("Short Format##mpegts",Qt::CaseInsensitive)) {
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->flags2 |=CODEC_FLAG2_SHOW_ALL;
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->slice_flags &= ~(SLICE_FLAG_CODED_ORDER|SLICE_FLAG_ALLOW_FIELD);
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->flags |=CODEC_FLAG_EMU_EDGE;
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->err_recognition |= AV_EF_EXPLODE | AV_EF_COMPLIANT | AV_EF_CAREFUL;
+
+ // Setup decoder options
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->debug_mv =0; // Debug level (0=nothing)
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->debug =0; // Debug level (0=nothing)
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->workaround_bugs =1; // Work around bugs in encoders which sometimes cannot be detected automatically : 1=autodetection
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->idct_algo =FF_IDCT_AUTO; // IDCT algorithm, 0=auto
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->skip_frame =AVDISCARD_NONE;
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->skip_idct =AVDISCARD_NONE;
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->skip_loop_filter =AVDISCARD_NONE;
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->skip_top =AVDISCARD_NONE;
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->skip_bottom =AVDISCARD_NONE;
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->error_concealment=3;
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->thread_count =getCpuCount();
+
+ // Hack to correct wrong frame rates that seem to be generated by some codecs
+ if (ffmpegVideoFile->streams[VideoStreamNumber]->codec->time_base.num>1000 && ffmpegVideoFile->streams[VideoStreamNumber]->codec->time_base.den==1) ffmpegVideoFile->streams[VideoStreamNumber]->codec->time_base.den=1000;
+
+ CodecUsePTS=false;
+ } else {
+#endif
+ // Setup decoder options
+
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->debug_mv =0; // Debug level (0=nothing)
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->debug =0; // Debug level (0=nothing)
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->workaround_bugs =1; // Work around bugs in encoders which sometimes cannot be detected automatically : 1=autodetection
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->idct_algo =FF_IDCT_AUTO; // IDCT algorithm, 0=auto
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->skip_frame =AVDISCARD_DEFAULT; // ???????
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->skip_idct =AVDISCARD_DEFAULT; // ???????
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->skip_loop_filter =AVDISCARD_DEFAULT; // ???????
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->error_concealment=3;
+
+ // h264 specific
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->thread_count =getCpuCount();
+ ffmpegVideoFile->streams[VideoStreamNumber]->codec->skip_loop_filter =AVDISCARD_BIDIR;
+
+ // Hack to correct wrong frame rates that seem to be generated by some codecs
+ if (ffmpegVideoFile->streams[VideoStreamNumber]->codec->time_base.num>1000 && ffmpegVideoFile->streams[VideoStreamNumber]->codec->time_base.den==1) ffmpegVideoFile->streams[VideoStreamNumber]->codec->time_base.den=1000;
+
+#ifdef LIBAV_AVCHD
+ }
+#endif
+
+ CodecUsePTS=ffmpegVideoFile->streams[VideoStreamNumber]->codec->codec_id==CODEC_ID_H264;
+
+ if ((VideoDecoderCodec==NULL)||(avcodec_open2(ffmpegVideoFile->streams[VideoStreamNumber]->codec,VideoDecoderCodec,NULL)<0)) {
+ CloseCodecAndFile();
+ return false;
+ }
+
+ // Get Aspect Ratio
+ AspectRatio=double(ffmpegVideoFile->streams[VideoStreamNumber]->codec->sample_aspect_ratio.num)/double(ffmpegVideoFile->streams[VideoStreamNumber]->codec->sample_aspect_ratio.den);
+
+ if (ffmpegVideoFile->streams[VideoStreamNumber]->sample_aspect_ratio.num!=0)
+ AspectRatio=double(ffmpegVideoFile->streams[VideoStreamNumber]->sample_aspect_ratio.num)/double(ffmpegVideoFile->streams[VideoStreamNumber]->sample_aspect_ratio.den);
+
+ if (AspectRatio==0) AspectRatio=1;
+
+ // Special case for DVD mode video without PAR
+ if ((AspectRatio==1)&&(ffmpegVideoFile->streams[VideoStreamNumber]->codec->coded_width==720)&&(ffmpegVideoFile->streams[VideoStreamNumber]->codec->coded_height==576))
+ AspectRatio=double((576/3)*4)/720;
+
+ // Try to load one image to be sure we can make something with this file
+ IsOpen=true;
+ qlonglong Position=0;
+ if (QTime(0,0,0,0).msecsTo(Duration)>1000) Position=1000; // If video is > 1 sec then get image at 1 sec
+ QImage *Img =ImageAt(true,Position,0,NULL,1,false,NULL,false);
+ if (Img) {
+ // Get information about size image
+ ImageWidth=Img->width();
+ ImageHeight=Img->height();
+ // Compute image geometry
+ ObjectGeometry=IMAGE_GEOMETRY_UNKNOWN;
+ double RatioHW=double(ImageWidth)/double(ImageHeight);
+ if ((RatioHW>=1.45)&&(RatioHW<=1.55)) ObjectGeometry=IMAGE_GEOMETRY_3_2;
+ else if ((RatioHW>=0.65)&&(RatioHW<=0.67)) ObjectGeometry=IMAGE_GEOMETRY_2_3;
+ else if ((RatioHW>=1.32)&&(RatioHW<=1.34)) ObjectGeometry=IMAGE_GEOMETRY_4_3;
+ else if ((RatioHW>=0.74)&&(RatioHW<=0.76)) ObjectGeometry=IMAGE_GEOMETRY_3_4;
+ else if ((RatioHW>=1.77)&&(RatioHW<=1.79)) ObjectGeometry=IMAGE_GEOMETRY_16_9;
+ else if ((RatioHW>=0.56)&&(RatioHW<=0.58)) ObjectGeometry=IMAGE_GEOMETRY_9_16;
+ else if ((RatioHW>=2.34)&&(RatioHW<=2.36)) ObjectGeometry=IMAGE_GEOMETRY_40_17;
+ else if ((RatioHW>=0.42)&&(RatioHW<=0.44)) ObjectGeometry=IMAGE_GEOMETRY_17_40;
+ // Icon
+ if (Icon16.isNull()) {
+ QImage Final=(ApplicationConfig->Video_ThumbWidth==162?ApplicationConfig->VideoMask_162:ApplicationConfig->Video_ThumbWidth==150?ApplicationConfig->VideoMask_150:ApplicationConfig->VideoMask_120).copy();
+ QImage ImgF;
+ if (Img->width()>Img->height()) ImgF=Img->scaledToWidth(ApplicationConfig->Video_ThumbWidth-2,Qt::SmoothTransformation);
+ else ImgF=Img->scaledToHeight(ApplicationConfig->Video_ThumbHeight*0.7,Qt::SmoothTransformation);
+ QPainter Painter;
+ Painter.begin(&Final);
+ Painter.drawImage(QRect((Final.width()-ImgF.width())/2,(Final.height()-ImgF.height())/2,ImgF.width(),ImgF.height()),ImgF);
+ Painter.end();
+ LoadIcons(&Final);
+ }
+ delete Img;
+ } else {
+ CloseCodecAndFile();
+ return false;
+ }
+ }
+
+ return IsOpen;
+}
+
+//*********************************************************************************************************************************************
+// Base object for music definition
+//*********************************************************************************************************************************************
+
+cMusicObject::cMusicObject(cBaseApplicationConfig *ApplicationConfig):cVideoFile(OBJECTTYPE_MUSICFILE,ApplicationConfig) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cMusicObject::cMusicObject");
+
+ Volume=1.0; // Volume as % from 1% to 150%
+}
+
+//====================================================================================================================
+
+void cMusicObject::SaveToXML(QDomElement &domDocument,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cMusicObject::SaveToXML");
+
+ QDomDocument DomDocument;
+ QDomElement Element=DomDocument.createElement(ElementName);
+ QString TheFileName;
+
+ if (PathForRelativPath!="") {
+ if (ForceAbsolutPath) TheFileName=QDir(QFileInfo(PathForRelativPath).absolutePath()).absoluteFilePath(FileName);
+ else TheFileName=QDir(QFileInfo(PathForRelativPath).absolutePath()).relativeFilePath(FileName);
+ } else TheFileName=FileName;
+
+ Element.setAttribute("FilePath",TheFileName);
+ Element.setAttribute("StartPos",StartPos.toString());
+ Element.setAttribute("EndPos", EndPos.toString());
+ Element.setAttribute("Volume", QString("%1").arg(Volume,0,'f'));
+
+ domDocument.appendChild(Element);
+}
+
+//====================================================================================================================
+
+bool cMusicObject::LoadFromXML(QDomElement domDocument,QString ElementName,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cMusicObject::LoadFromXML");
+
+ if ((domDocument.elementsByTagName(ElementName).length()>0)&&(domDocument.elementsByTagName(ElementName).item(0).isElement()==true)) {
+ QDomElement Element=domDocument.elementsByTagName(ElementName).item(0).toElement();
+
+ FileName=Element.attribute("FilePath","");
+ if (PathForRelativPath!="") FileName=QDir::cleanPath(QDir(PathForRelativPath).absoluteFilePath(FileName));
+ if (LoadMedia(FileName,AliasList,ModifyFlag)) {
+ StartPos=QTime().fromString(Element.attribute("StartPos"));
+ EndPos =QTime().fromString(Element.attribute("EndPos"));
+ Volume =Element.attribute("Volume").toDouble();
+ return true;
+ } else return false;
+ } else return false;
+}
+
+//====================================================================================================================
+
+bool cMusicObject::LoadMedia(QString &TheFilename,QStringList *AliasList,bool *ModifyFlag) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cMusicObject::LoadMedia");
+
+ IsValide=(GetInformationFromFile(TheFilename,AliasList,ModifyFlag))&&(OpenCodecAndFile());
+ return IsValide;
+}
diff --git a/src/engine/cBaseMediaFile.h b/src/engine/cBaseMediaFile.h
new file mode 100755
index 0000000..e978762
--- /dev/null
+++ b/src/engine/cBaseMediaFile.h
@@ -0,0 +1,305 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef CBASEMEDIAFILE_H
+#define CBASEMEDIAFILE_H
+
+// Basic inclusions (common to all files)
+#include "_GlobalDefines.h"
+
+// Include some common various class
+#include "cBaseApplicationConfig.h"
+
+// Include some additional standard class
+#include <QString>
+#include <QTime>
+#include <QDateTime>
+#include <QImage>
+
+// Include some common various class
+#include "cDeviceModelDef.h" // Contains ffmpeg include
+#include "cFilterTransformObject.h"
+#include "cSoundBlockList.h"
+#include "cCustomIcon.h"
+
+// Other third party library inclusions
+
+//****************************************************************************************************************************************************************
+// EXIV2 PART [Linux only - Windows use binary version]
+//****************************************************************************************************************************************************************
+//#ifdef Q_OS_LINUX
+ #include <exiv2/exif.hpp>
+ #if (EXIV2_MAJOR_VERSION==0) && (EXIV2_MINOR_VERSION>20)
+ #include <exiv2/exiv2.hpp>
+ #define EXIV2WITHPREVIEW
+ #else
+ #include <exiv2/image.hpp>
+ #endif
+//#endif
+
+//****************************************************************************************************************************************************************
+// TAGLIB PART
+//****************************************************************************************************************************************************************
+
+#include <taglib/fileref.h>
+#include <taglib/tbytevector.h>
+#include <taglib/id3v2tag.h>
+#include <taglib/id3v2frame.h>
+#include <taglib/id3v2header.h>
+#include <taglib/id3v2framefactory.h>
+#include <taglib/attachedpictureframe.h>
+#include <taglib/mpegfile.h>
+#include <taglib/flacfile.h>
+#include <taglib/mp4file.h>
+#include <taglib/vorbisfile.h>
+#include <taglib/oggflacfile.h>
+#include <taglib/asffile.h>
+#include <taglib/mp4tag.h>
+#include <taglib/mp4item.h>
+#include <taglib/mp4coverart.h>
+
+#if (TAGLIB_MAJOR_VERSION>=1) && (TAGLIB_MINOR_VERSION>=7)
+ #define TAGLIBWITHFLAC
+#endif
+#ifdef TAGLIB_WITH_ASF
+ #if (TAGLIB_WITH_ASF>=1)
+ #define TAGLIBWITHASF
+ #if (TAGLIB_MAJOR_VERSION>=1) && (TAGLIB_MINOR_VERSION>=7)
+ #define TAGLIBWITHASFPICTURE
+ #endif
+ #endif
+#endif
+#ifdef TAGLIB_WITH_MP4
+ #if (TAGLIB_WITH_MP4>=1)
+ #define TAGLIBWITHMP4
+ #endif
+#endif
+
+//****************************************************************************************************************************************************************
+
+// Define possible values for images geometry
+#define IMAGE_GEOMETRY_UNKNOWN 0 // undefined image geometry
+#define IMAGE_GEOMETRY_3_2 1 // Standard 3:2 landscape image
+#define IMAGE_GEOMETRY_2_3 2 // Standard 3:2 portrait image
+#define IMAGE_GEOMETRY_4_3 3 // Standard 4:3 landscape image
+#define IMAGE_GEOMETRY_3_4 4 // Standard 4:3 portrait image
+#define IMAGE_GEOMETRY_16_9 5 // Standard 16:9 landscape image
+#define IMAGE_GEOMETRY_9_16 6 // Standard 16:9 portrait image
+#define IMAGE_GEOMETRY_40_17 7 // Standard cinema landscape image
+#define IMAGE_GEOMETRY_17_40 8 // Standard cinema portrait image
+
+//****************************************************************************************************************************************************************
+
+class cBaseMediaFile : public cCustomIcon {
+public:
+ int ObjectType;
+ bool IsValide; // if true then object if initialise
+ bool IsInformationValide; // if true then information list if fuly initialise
+ int ObjectGeometry; // Image geometry of the embeded image or video
+ QString FileName; // filename
+ QString ShortName; // filename without path
+ QString FileExtension; // file extension
+ qlonglong FileSize; // filesize
+ QString FileSizeText; // filesize in text mode
+ QDateTime CreatDateTime; // Original date/time
+ QDateTime ModifDateTime; // Last modified date/time
+ int ImageWidth; // Widht of normal image
+ int ImageHeight; // Height of normal image
+ int ImageOrientation; // EXIF ImageOrientation (or -1)
+ double AspectRatio; // Aspect ratio
+ cFilterTransformObject BrushFileTransform; // Image transformation if image from disk
+ cBaseApplicationConfig *ApplicationConfig;
+ QStringList InformationList;
+
+ cBaseMediaFile(cBaseApplicationConfig *ApplicationConfig);
+ ~cBaseMediaFile();
+
+ virtual bool GetInformationFromFile(QString GivenFileName,QStringList *AliasList,bool *ModifyFlag);
+ virtual bool IsFilteredFile(int RequireObjectType)=0;
+ virtual void GetFullInformationFromFile()=0;
+ virtual QString GetInformationValue(QString ValueToSearch);
+ virtual QString GetCumulInfoStr(QString Key1,QString Key2);
+
+ enum ImageSizeFmt {FULLWEB,SIZEONLY,FMTONLY,GEOONLY};
+ virtual QString GetImageSizeStr(ImageSizeFmt Fmt=FULLWEB); // Return image size as formated string
+ virtual QString GetImageGeometryStr(); // Return image geometry as formated string
+ virtual QString GetFileTypeStr()=0;
+ virtual QString GetFileDateTimeStr(bool Created=false); // Return file date/time as formated string
+ virtual QString GetFileSizeStr(); // Return file size as formated string
+
+ virtual QString GetTechInfo()=0; // Return technical information as formated string
+ virtual QString GetTAGInfo()=0; // Return TAG information as formated string
+
+ virtual QImage *GetDefaultTypeIcon(cCustomIcon::IconSize Size)=0;
+};
+
+//*********************************************************************************************************************************************
+// Image file
+//*********************************************************************************************************************************************
+class cUnmanagedFile : public cBaseMediaFile {
+public:
+ explicit cUnmanagedFile(cBaseApplicationConfig *ApplicationConfig);
+
+ virtual bool GetInformationFromFile(QString GivenFileName,QStringList *AliasList,bool *ModifyFlag);
+ virtual QString GetFileTypeStr();
+ virtual bool IsFilteredFile(int RequireObjectType);
+ virtual void GetFullInformationFromFile() {/*Nothing to do*/}
+ virtual QImage *GetDefaultTypeIcon(cCustomIcon::IconSize Size) { return ApplicationConfig->DefaultFILEIcon.GetIcon(Size); }
+ virtual QString GetTechInfo() { return ""; }
+ virtual QString GetTAGInfo() { return ""; }
+};
+
+//*********************************************************************************************************************************************
+// Image file
+//*********************************************************************************************************************************************
+class cFolder : public cBaseMediaFile {
+public:
+ explicit cFolder(cBaseApplicationConfig *ApplicationConfig);
+
+ virtual bool GetInformationFromFile(QString GivenFileName,QStringList *AliasList,bool *ModifyFlag);
+ virtual QString GetFileTypeStr();
+ virtual bool IsFilteredFile(int RequireObjectType);
+ virtual void GetFullInformationFromFile();
+ virtual QImage *GetDefaultTypeIcon(cCustomIcon::IconSize Size) { return ApplicationConfig->DefaultFOLDERIcon.GetIcon(Size); }
+ virtual QString GetTechInfo() { return ""; }
+ virtual QString GetTAGInfo() { return ""; }
+};
+
+//*********************************************************************************************************************************************
+// ffDiaporama project file
+//*********************************************************************************************************************************************
+class cffDProjectFile : public cBaseMediaFile {
+public:
+ // TAG values
+ QString Title; // 30 char
+ QString Author; // 30 char
+ QString Album; // 30 char
+ int Year; // Year - 4 digits
+ QString Comment; // Free text - free size
+ QString Composer; // ffDiaporama version
+ qlonglong Duration; // (Duration in msec)
+ int NbrSlide; // (Number of slide in project)
+ QString ffDRevision; // ffD Application version (in reverse date format)
+ QString DefaultLanguage; // Default Language (ISO 639 language code)
+ int NbrChapters; // Number of chapters in the file
+
+ explicit cffDProjectFile(cBaseApplicationConfig *ApplicationConfig);
+
+ virtual bool GetInformationFromFile(QString GivenFileName,QStringList *AliasList,bool *ModifyFlag);
+ virtual QString GetFileTypeStr();
+ virtual bool IsFilteredFile(int RequireObjectType);
+ virtual void GetFullInformationFromFile();
+ virtual QImage *GetDefaultTypeIcon(cCustomIcon::IconSize Size) { return ApplicationConfig->DefaultFFDIcon.GetIcon(Size); }
+
+ virtual QString GetTechInfo();
+ virtual QString GetTAGInfo();
+
+ void SaveToXML(QDomElement &domDocument);
+ bool LoadFromXML(QDomElement domDocument);
+};
+
+//*********************************************************************************************************************************************
+// Image file
+//*********************************************************************************************************************************************
+class cImageFile : public cBaseMediaFile {
+public:
+ explicit cImageFile(cBaseApplicationConfig *ApplicationConfig);
+
+ virtual QImage *ImageAt(bool PreviewMode,cFilterTransformObject *Filter);
+ virtual QString GetFileTypeStr();
+ virtual bool IsFilteredFile(int RequireObjectType);
+ virtual void GetFullInformationFromFile();
+ virtual QImage *GetDefaultTypeIcon(cCustomIcon::IconSize Size) { return (ObjectType==OBJECTTYPE_THUMBNAIL?ApplicationConfig->DefaultThumbIcon:ApplicationConfig->DefaultIMAGEIcon).GetIcon(Size); }
+ virtual QString GetTechInfo();
+ virtual QString GetTAGInfo();
+};
+
+//*********************************************************************************************************************************************
+// Video file
+//*********************************************************************************************************************************************
+
+class cVideoFile : public cBaseMediaFile {
+public:
+ bool IsOpen; // True if ffmpeg open on this file
+ bool MusicOnly; // True if object is a music only file
+ bool IsVorbis; // True if vorbis version must be use instead of MP3/WAV version
+ QTime StartPos; // Start position
+ QTime EndPos; // End position
+ QString Container; // Container type (get from file extension)
+ QTime Duration; // Duration of the video
+ double dEndFileCachePos; // Position of the cache image of last image of the video
+ bool CodecUsePTS; // true if codec use PTS (h264) if if we use only DTS
+ QString VideoCodecInfo;
+ QString AudioCodecInfo;
+
+ // Video part
+ AVFormatContext *ffmpegVideoFile; // LibAVFormat context
+ AVCodec *VideoDecoderCodec; // Associated LibAVCodec for video stream
+ int VideoStreamNumber; // Number of the video stream
+ int VideoTrackNbr; // Number of video stream in file
+ AVFrame *FrameBufferYUV;
+ bool FrameBufferYUVReady; // true if FrameBufferYUV is ready to convert
+ int64_t FrameBufferYUVPosition; // If FrameBufferYUV is ready to convert then keep FrameBufferYUV position
+
+ // Audio part
+ AVFormatContext *ffmpegAudioFile; // LibAVFormat context
+ AVCodec *AudioDecoderCodec; // Associated LibAVCodec for audio stream
+ int AudioStreamNumber; // Number of the audio stream
+ int AudioTrackNbr; // Number of audio stream in file
+ int64_t LastAudioReadedPosition; // Use to keep the last readed position to determine if a seek is needed
+
+ int NbrChapters; // Number of chapters in the file
+
+ explicit cVideoFile(int WantedObjectType,cBaseApplicationConfig *ApplicationConfig);
+ ~cVideoFile();
+
+ virtual QString GetFileTypeStr();
+ virtual bool IsFilteredFile(int RequireObjectType);
+ virtual void GetFullInformationFromFile();
+ virtual QImage *GetDefaultTypeIcon(cCustomIcon::IconSize Size);
+
+ virtual QString GetTechInfo();
+ virtual QString GetTAGInfo();
+
+ virtual bool OpenCodecAndFile();
+ virtual void CloseCodecAndFile();
+
+ virtual QImage *ImageAt(bool PreviewMode,qlonglong Position,qlonglong StartPosToAdd,cSoundBlockList *SoundTrackMontage,double Volume,bool ForceSoundOnly,cFilterTransformObject *Filter,bool DontUseEndPos);
+ virtual QImage *ReadVideoFrame(qlonglong Position,bool DontUseEndPos);
+ virtual void ReadAudioFrame(bool PreviewMode,qlonglong Position,cSoundBlockList *SoundTrackBloc,double Volume,bool DontUseEndPos); // MP3 and WAV
+ virtual QImage *ConvertYUVToRGB();
+};
+
+//*********************************************************************************************************************************************
+// Music file
+//*********************************************************************************************************************************************
+
+class cMusicObject : public cVideoFile {
+public:
+ double Volume; // Volume as % from 10% to 150%
+
+ cMusicObject(cBaseApplicationConfig *ApplicationConfig);
+
+ void SaveToXML(QDomElement &domDocument,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath);
+ bool LoadFromXML(QDomElement domDocument,QString ElementName,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag);
+ bool LoadMedia(QString &filename,QStringList *AliasList,bool *ModifyFlag);
+};
+
+#endif // CBASEMEDIAFILE_H
diff --git a/src/engine/cBrushDefinition.cpp b/src/engine/cBrushDefinition.cpp
new file mode 100755
index 0000000..b625f15
--- /dev/null
+++ b/src/engine/cBrushDefinition.cpp
@@ -0,0 +1,769 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "cBrushDefinition.h"
+
+// Include some common various class
+#include "../fmt_filters/fmt_filters.h"
+
+//*********************************************************************************************************************************************
+// Utility function to create a gradient brush
+//*********************************************************************************************************************************************
+
+QBrush *GetGradientBrush(QRectF Rect,int BrushType,int GradientOrientation,QString ColorD,QString ColorF,QString ColorIntermed,double Intermediate) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:GetGradientBrush");
+
+ QGradient Gradient;
+ switch (GradientOrientation) {
+ case GRADIENTORIENTATION_UPLEFT: Gradient=QLinearGradient(QPointF(Rect.x(),Rect.y()),QPointF(Rect.x()+Rect.width(),Rect.y()+Rect.height())); break; // Up-Left
+ case GRADIENTORIENTATION_UP: Gradient=QLinearGradient(QPointF(Rect.x()+Rect.width()/2,Rect.y()),QPointF(Rect.x()+Rect.width()/2,Rect.y()+Rect.height())); break; // Up
+ case GRADIENTORIENTATION_UPRIGHT: Gradient=QLinearGradient(QPointF(Rect.x()+Rect.width(),Rect.y()),QPointF(Rect.x(),Rect.y()+Rect.height())); break; // Up-right
+ case GRADIENTORIENTATION_LEFT: Gradient=QLinearGradient(QPointF(Rect.x(),Rect.y()+Rect.height()/2),QPointF(Rect.x()+Rect.width(),Rect.y()+Rect.height()/2)); break; // Left
+ case GRADIENTORIENTATION_RADIAL: Gradient=QRadialGradient(QPointF(Rect.x()+Rect.width()/2,Rect.y()+Rect.height()/2),Rect.width()>Rect.height()?Rect.width():Rect.height(),QPointF(Rect.x()+Rect.width()/2,Rect.y()+Rect.height()/2)); break; // Radial
+ case GRADIENTORIENTATION_RIGHT: Gradient=QLinearGradient(QPointF(Rect.x()+Rect.width(),Rect.y()+Rect.height()/2),QPointF(Rect.x(),Rect.y()+Rect.height()/2)); break; // Right
+ case GRADIENTORIENTATION_BOTTOMLEFT: Gradient=QLinearGradient(QPointF(Rect.x(),Rect.y()+Rect.height()),QPointF(Rect.x()+Rect.width(),Rect.y())); break; // bt-Left
+ case GRADIENTORIENTATION_BOTTOM: Gradient=QLinearGradient(QPointF(Rect.x()+Rect.width()/2,Rect.y()+Rect.height()),QPointF(Rect.x()+Rect.width()/2,Rect.y())); break; // bottom
+ case GRADIENTORIENTATION_BOTTOMRIGHT: Gradient=QLinearGradient(QPointF(Rect.x()+Rect.width(),Rect.y()+Rect.height()),QPointF(Rect.x(),Rect.y())); break; // bt-right
+ }
+ Gradient.setColorAt(0,QColor(ColorD));
+ Gradient.setColorAt(1,QColor(ColorF));
+ if (BrushType==BRUSHTYPE_GRADIENT3) Gradient.setColorAt(Intermediate,QColor(ColorIntermed));
+ return new QBrush(Gradient);
+}
+
+//====================================================================================================================
+// Utility function to draw a shape
+//====================================================================================================================
+
+void DrawShape(QPainter &Painter,int BackgroundForm,double left,double top,double width,double height,double CenterX,double CenterY) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DrawShape");
+
+ double RayX=0,RayY=0;
+
+ switch (BackgroundForm) {
+ //0 = no shape
+ case 1 : Painter.drawRect(QRectF(left,top,width/*-1*/,height/*-1*/)); break; // Rectangle
+ case 2 : // Round rect
+ RayX=width/10; if (RayX>16) RayX=16; else if (RayX<2) RayX=2;
+ RayY=height/10; if (RayY>16) RayY=16; else if (RayY<2) RayY=2;
+ Painter.drawRoundedRect(QRectF(left,top,width/*-1*/,height/*-1*/),RayX,RayY,Qt::AbsoluteSize);
+ break;
+ case 3 : // Buble
+ RayX=2*width/10; if (RayX<4) RayX=4;
+ RayY=2*height/10; if (RayY<4) RayY=4;
+ Painter.drawRoundedRect(QRectF(left,top,width/*-1*/,height/*-1*/),RayX,RayY,Qt::AbsoluteSize);
+ break;
+ case 4 : Painter.drawEllipse(QRectF(left,top,width/*-1*/,height/*-1*/)); break; // Ellipse
+ case 5 : DrawPolygonR(Painter,width,height,CenterX,CenterY,3,90); break; // Triangle UP
+ case 6 : DrawPolygonR(Painter,width,height,CenterX,CenterY,3,0); break; // Triangle Right
+ case 7 : DrawPolygonR(Painter,width,height,CenterX,CenterY,3,-90); break; // Triangle Down
+ case 8 : DrawPolygonR(Painter,width,height,CenterX,CenterY,3,-180); break; // Triangle left
+ case 9 : DrawPolygonR(Painter,width,height,CenterX,CenterY,4,0); break; // Losange
+ case 10: DrawPolygonR(Painter,width,height,CenterX,CenterY,5,90-(double(360)/5)); break; // pentagone
+ case 11: DrawPolygonR(Painter,width,height,CenterX,CenterY,6,-(double(360)/6)); break; // hexagone
+ case 12: DrawPolygonR(Painter,width,height,CenterX,CenterY,8,-(double(360)/8)); break; // Octogone
+ }
+}
+
+//====================================================================================================================
+// Utility function to draw a regular polygon shape
+//====================================================================================================================
+
+void DrawPolygonR(QPainter &Painter,double width,double height,double CenterX,double CenterY,int MaxPoint,double StartAngle) {
+ QPointF Table[10];
+ double vcos,vsin,Angle;
+ int i;
+
+ Angle=StartAngle;
+ for (i=0;i<MaxPoint;i++) {
+ vcos=cos(Angle*3.14159265/180)*(width/2);
+ vsin=sin(Angle*3.14159265/180)*(height/2);
+ Table[i]=QPointF(CenterX+vcos,CenterY-vsin);
+ Angle=Angle+(double(360)/MaxPoint);
+ if (Angle>=360) Angle=-Angle+360;
+ }
+ Painter.drawPolygon(Table,MaxPoint);
+}
+
+//*********************************************************************************************************************************************
+// Base object for composition definition
+//*********************************************************************************************************************************************
+
+cBackgroundObject::cBackgroundObject(QString FileName,int TheGeometry) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBackgroundObject::cBackgroundObject");
+
+ IsValide = false;
+ FilePath = FileName;
+ Name = QFileInfo(FileName).baseName();
+
+ // Load file
+ BackgroundImage.load(FilePath);
+
+ // Make Icon
+ QImage *BrushImage=new QImage(BackgroundImage.copy());
+ if (!BrushImage->isNull()) {
+ Geometry = TheGeometry;
+ int H,W;
+ QImage *NewImg;
+ switch (Geometry) {
+ case GEOMETRY_4_3 :
+ H=BrushImage->height();
+ W=int(double(4)*(double(H)/double(3)));
+ NewImg=new QImage(BrushImage->copy((BrushImage->width()-W)/2,(BrushImage->height()-H)/2,W,H));
+ delete BrushImage;
+ BrushImage=NewImg;
+ break;
+ case GEOMETRY_40_17 :
+ W=BrushImage->width();
+ H=int(double(17)*(double(W)/double(40)));
+ NewImg=new QImage(BrushImage->copy((BrushImage->width()-W)/2,(BrushImage->height()-H)/2,W,H));
+ delete BrushImage;
+ BrushImage=NewImg;
+ break;
+ }
+
+ Icon=QPixmap(QPixmap::fromImage(BrushImage->scaledToHeight(64)));
+ delete BrushImage;
+ }
+ IsValide=!Icon.isNull();
+}
+
+//*********************************************************************************************************************************************
+// Global class containing background library
+//*********************************************************************************************************************************************
+cBackgroundList::cBackgroundList() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBackgroundList::cBackgroundList");
+
+ Geometry=-1;
+}
+
+//====================================================================================================================
+
+void cBackgroundList::ScanDisk(QString Path,int TheGeometry) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBackgroundList::ScanDisk");
+
+ if (Geometry==TheGeometry) return;
+ Geometry=TheGeometry;
+
+ QDir Folder(Path);
+ QFileInfoList Files=Folder.entryInfoList();;
+
+ List.clear();
+ for (int i=0;i<Files.count();i++) if (Files[i].isFile() && ((QString(Files[i].suffix()).toLower()=="jpg")||(QString(Files[i].suffix()).toLower()=="png"))) {
+ QString FileName=QFileInfo(Files[i]).absoluteFilePath();
+ if (QFileInfo(QString(FileName)).isFile()) List.append(cBackgroundObject(Files[i].absoluteFilePath(),Geometry));
+ }
+}
+
+//====================================================================================================================
+
+int cBackgroundList::SearchImage(QString NameToFind) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBackgroundList::SearchImage");
+
+ int Ret=-1;
+ int j=0;
+ while ((j<List.count())&&(Ret==-1)) if (List[j].Name==NameToFind) Ret=j; else j++;
+ if (Ret==-1) Ret=0; // If not found : switch to first background
+ return Ret;
+}
+
+//*********************************************************************************************************************************************
+// Object for Brush definition
+//*********************************************************************************************************************************************
+
+cBrushDefinition::cBrushDefinition(cBaseApplicationConfig *TheApplicationConfig,cBackgroundList *TheBackgroundList) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::cBrushDefinition");
+
+ TypeComposition =COMPOSITIONTYPE_BACKGROUND;
+ BrushType =BRUSHTYPE_SOLID; // 0=No brush !, 1=Solid one color, 2=Pattern, 3=Gradient 2 colors, 4=Gradient 3 colors, 5=brush library, 6=image disk
+ PatternType =Qt::Dense4Pattern; // Type of pattern when BrushType is Pattern (Qt::BrushStyle standard)
+ ColorD ="#C0C0C0"; // First Color
+ ColorIntermed ="#777777"; // Intermediate Color
+ ColorF ="#000000"; // Last Color
+ Intermediate =0.1; // Intermediate position of 2nd color (in %)
+ GradientOrientation =6; // 1=Up-Left, 2=Up, 3=Up-right, ...
+ BrushImage =""; // Image name if image from library
+ Image =NULL;
+ Video =NULL;
+ SoundVolume =1; // Volume of soundtrack
+ ApplicationConfig =TheApplicationConfig;
+ BackgroundList =TheBackgroundList;
+
+ // Image correction part
+ ImageRotation =0; // Image rotation
+ X =0; // X position (in %) relative to up/left corner
+ Y =0; // Y position (in %) relative to up/left corner
+ ZoomFactor =1; // Zoom factor (in %)
+ Brightness =0;
+ Contrast =0;
+ Gamma =1;
+ Red =0;
+ Green =0;
+ Blue =0;
+ LockGeometry =false;
+ AspectRatio =1;
+ FullFilling =false;
+}
+
+//====================================================================================================================
+cBrushDefinition::~cBrushDefinition() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::~cBrushDefinition");
+
+ if (Image) {
+ if (TypeComposition!=COMPOSITIONTYPE_SHOT) delete Image;
+ Image=NULL;
+ }
+ if (Video) {
+ if (TypeComposition!=COMPOSITIONTYPE_SHOT) delete Video;
+ Video=NULL;
+ }
+}
+
+//====================================================================================================================
+
+QBrush *cBrushDefinition::GetBrush(QRectF Rect,bool PreviewMode,int Position,int StartPosToAdd,cSoundBlockList *SoundTrackMontage,double PctDone,cBrushDefinition *PreviousBrush,bool UseBrushCache) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::GetBrush");
+
+ switch (BrushType) {
+ case BRUSHTYPE_NOBRUSH : return new QBrush(Qt::NoBrush);
+ case BRUSHTYPE_SOLID : return new QBrush(QColor(ColorD),Qt::SolidPattern);
+ case BRUSHTYPE_PATTERN : return new QBrush(QColor(ColorD),(Qt::BrushStyle)(PatternType+3));
+ case BRUSHTYPE_GRADIENT2 : return GetGradientBrush(Rect,BrushType,GradientOrientation,ColorD,ColorF,ColorIntermed,Intermediate);
+ case BRUSHTYPE_GRADIENT3 : return GetGradientBrush(Rect,BrushType,GradientOrientation,ColorD,ColorF,ColorIntermed,Intermediate);
+ case BRUSHTYPE_IMAGELIBRARY : return GetLibraryBrush(Rect);
+ case BRUSHTYPE_IMAGEDISK : return GetImageDiskBrush(Rect,PreviewMode,Position,StartPosToAdd,SoundTrackMontage,PctDone,PreviousBrush,UseBrushCache);
+ }
+ return new QBrush(Qt::NoBrush);
+}
+
+//====================================================================================================================
+
+void cBrushDefinition::GetDefaultFraming(FramingType TheFramingType,bool LockGeometry,double &X,double &Y,double &ZoomFactor,double &AspectRatio) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::GetDefaultFraming");
+
+ if ((Image==NULL)&&(Video==NULL)) return;
+
+ // Calc coordinates of the part in the source image
+ double RealImageW =double(Image!=NULL?Image->ImageWidth:Video->ImageWidth);
+ double RealImageH =double(Image!=NULL?Image->ImageHeight:Video->ImageHeight);
+ double Hyp =sqrt(RealImageW*RealImageW+RealImageH*RealImageH); // Calc hypothenuse of the image to define full canvas
+ double DstX =((Hyp-RealImageW)/2);
+ double DstY =((Hyp-RealImageH)/2);
+ double DstW =RealImageW;
+ double DstH =RealImageH;
+ double W;
+ double H;
+
+ switch (TheFramingType) {
+ case ADJUST_WITH : // Adjust to With
+ W=DstX+DstW-DstX;
+ H=W*AspectRatio;
+ X=((Hyp-W)/2)/Hyp;
+ Y=((Hyp-H)/2)/Hyp;
+ ZoomFactor=W/Hyp;
+ break;
+ case ADJUST_HEIGHT : // Adjust to Height
+ H=DstY+DstH-DstY;
+ W=H/AspectRatio;
+ X=((Hyp-W)/2)/Hyp;
+ Y=((Hyp-H)/2)/Hyp;
+ ZoomFactor=W/Hyp;
+ break;
+ case ADJUST_FULL : // Adjust to FullImage
+ if (!LockGeometry) {
+ W=DstX+DstW-DstX;
+ H=DstY+DstH-DstY;
+ AspectRatio=H/W;
+ X=((Hyp-W)/2)/Hyp;
+ Y=((Hyp-H)/2)/Hyp;
+ ZoomFactor=W/Hyp;
+ } else {
+ W=DstX+DstW-DstX;
+ H=W*AspectRatio;
+ if (H<DstY+DstH-DstY) {
+ H=DstY+DstH-DstY;
+ W=H/AspectRatio;
+ X=((Hyp-W)/2)/Hyp;
+ Y=((Hyp-H)/2)/Hyp;
+ ZoomFactor=W/Hyp;
+ } else {
+ W=DstX+DstW-DstX;
+ H=W*AspectRatio;
+ X=((Hyp-W)/2)/Hyp;
+ Y=((Hyp-H)/2)/Hyp;
+ ZoomFactor=W/Hyp;
+ }
+ }
+ break;
+ }
+}
+
+//====================================================================================================================
+
+QString cBrushDefinition::GetFramingStyle(double X,double Y,double ZoomFactor,double AspectRatio,double ImageRotation) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::GetFramingStyle");
+
+ return QString("###X:%1").arg(X,0,'e',4)+
+ QString("###Y:%1").arg(Y,0,'e',4)+
+ QString("###ZoomFactor:%1").arg(ZoomFactor,0,'e')+
+ QString("###ImageRotation:%1").arg(ImageRotation,0,'e')+
+ QString("###AspectRatio:%1").arg(AspectRatio,0,'e');
+}
+
+//====================================================================================================================
+
+void cBrushDefinition::InitDefaultFramingStyle(bool LockGeometry,double AspectRatio) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::InitDefaultFramingStyle");
+
+ double X,Y,ZoomFactor;
+
+ GetDefaultFraming(ADJUST_WITH,LockGeometry,X,Y,ZoomFactor,AspectRatio); DefaultFramingW=GetFramingStyle(X,Y,ZoomFactor,AspectRatio,0);
+ GetDefaultFraming(ADJUST_HEIGHT,LockGeometry,X,Y,ZoomFactor,AspectRatio); DefaultFramingH=GetFramingStyle(X,Y,ZoomFactor,AspectRatio,0);
+ GetDefaultFraming(ADJUST_FULL,LockGeometry,X,Y,ZoomFactor,AspectRatio); DefaultFramingF=GetFramingStyle(X,Y,ZoomFactor,AspectRatio,0);
+}
+
+//====================================================================================================================
+
+void cBrushDefinition::ApplyStyle(bool LockGeometry,QString Style) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::ApplyStyle");
+
+ QStringList List;
+
+ // String to StringList
+ while (Style.contains("###")) {
+ List.append(Style.left(Style.indexOf("###")));
+ Style=Style.mid(Style.indexOf("###")+QString("###").length());
+ }
+ if (!Style.isEmpty()) List.append(Style);
+
+ // Apply
+ LockGeometry=LockGeometry;
+ for (int i=0;i<List.count();i++) {
+ if (List[i].startsWith("X:")) X =List[i].mid(QString("X:").length()).toDouble();
+ else if (List[i].startsWith("Y:")) Y =List[i].mid(QString("Y:").length()).toDouble();
+ else if (List[i].startsWith("ZoomFactor:")) ZoomFactor =List[i].mid(QString("ZoomFactor:").length()).toDouble();
+ else if (List[i].startsWith("ImageRotation:")) ImageRotation =List[i].mid(QString("ImageRotation:").length()).toDouble();
+ else if (List[i].startsWith("AspectRatio:")) AspectRatio =List[i].mid(QString("AspectRatio:").length()).toDouble();
+
+ }
+}
+
+//====================================================================================================================
+
+QBrush *cBrushDefinition::GetImageDiskBrush(QRectF Rect,bool PreviewMode,int Position,int StartPosToAdd,cSoundBlockList *SoundTrackMontage,double PctDone,cBrushDefinition *PreviousBrush,bool UseBrushCache) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::GetImageDiskBrush");
+
+ // If not an image or a video or filename is empty then return
+ if ((Image?Image->FileName:Video?Video->FileName:"")=="") return new QBrush(Qt::NoBrush);
+
+ // W and H = 0 when producing sound track in render process
+ bool SoundOnly=((Rect.width()==0)&&(Rect.height()==0));
+
+ if (!SoundOnly) {
+ QImage *RenderImage=NULL;
+ if (Video) {
+ // Only slide dialog set UseBrushCache to true => use LuloImageCache to Cache rendered image
+ if (UseBrushCache) {
+ QImage *LN_Image=NULL;
+ cLuLoImageCacheObject *ImageObject=ApplicationConfig->ImagesCache.FindObject(Video,Position+StartPosToAdd,(!PreviewMode || ApplicationConfig->Smoothing),true);
+ if (PreviewMode) LN_Image=ImageObject->CachePreviewImage;
+ else LN_Image=ImageObject->CacheRenderImage;
+ if (LN_Image) RenderImage=new QImage(LN_Image->copy());
+ else RenderImage=Video->ImageAt(PreviewMode,Position,StartPosToAdd,SoundTrackMontage,SoundVolume,SoundOnly,&Video->BrushFileTransform,false);
+ if (!LN_Image) {
+ if (PreviewMode) ImageObject->CachePreviewImage=new QImage(RenderImage->copy());
+ else ImageObject->CacheRenderImage=new QImage(RenderImage->copy());
+ }
+ } else RenderImage=Video->ImageAt(PreviewMode,Position,StartPosToAdd,SoundTrackMontage,SoundVolume,SoundOnly,&Video->BrushFileTransform,false);
+ } else if (Image) RenderImage=Image->ImageAt(PreviewMode,&Image->BrushFileTransform);
+
+ QBrush *Ret=NULL;
+
+ if (RenderImage) {
+ if (FullFilling) {
+ // Create brush image with distortion
+ Ret=new QBrush(RenderImage->scaled(Rect.width(),Rect.height(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation));
+ delete RenderImage;
+ RenderImage=NULL;
+ } else {
+ // Create brush image with ken burns effect !
+ double TheXFactor =X;
+ double TheYFactor =Y;
+ double TheZoomFactor =ZoomFactor;
+ double TheRotateFactor =ImageRotation;
+ double TheBrightness =Brightness;
+ double TheContrast =Contrast;
+ double TheGamma =Gamma;
+ double TheRed =Red;
+ double TheGreen =Green;
+ double TheBlue =Blue;
+ double TheAspectRatio =AspectRatio;
+
+ // Adjust values depending on PctDone and previous Filter (if exist)
+ if (PreviousBrush) {
+ if (PreviousBrush->X!=TheXFactor) TheXFactor =PreviousBrush->X+(TheXFactor-PreviousBrush->X)*PctDone;
+ if (PreviousBrush->Y!=TheYFactor) TheYFactor =PreviousBrush->Y+(TheYFactor-PreviousBrush->Y)*PctDone;
+ if (PreviousBrush->ZoomFactor!=TheZoomFactor) TheZoomFactor =PreviousBrush->ZoomFactor+(TheZoomFactor-PreviousBrush->ZoomFactor)*PctDone;
+ if (PreviousBrush->ImageRotation!=TheRotateFactor) TheRotateFactor =PreviousBrush->ImageRotation+(TheRotateFactor-PreviousBrush->ImageRotation)*PctDone;
+ if (PreviousBrush->Brightness!=TheBrightness) TheBrightness =PreviousBrush->Brightness+(TheBrightness-PreviousBrush->Brightness)*PctDone;
+ if (PreviousBrush->Contrast!=TheContrast) TheContrast =PreviousBrush->Contrast+(TheContrast-PreviousBrush->Contrast)*PctDone;
+ if (PreviousBrush->Gamma!=TheGamma) TheGamma =PreviousBrush->Gamma+(TheGamma-PreviousBrush->Gamma)*PctDone;
+ if (PreviousBrush->Red!=TheRed) TheRed =PreviousBrush->Red+(TheRed-PreviousBrush->Red)*PctDone;
+ if (PreviousBrush->Green!=TheGreen) TheGreen =PreviousBrush->Green+(TheGreen-PreviousBrush->Green)*PctDone;
+ if (PreviousBrush->Blue!=TheBlue) TheBlue =PreviousBrush->Blue+(TheBlue-PreviousBrush->Blue)*PctDone;
+ if (PreviousBrush->AspectRatio!=TheAspectRatio) TheAspectRatio =PreviousBrush->AspectRatio+(TheAspectRatio-PreviousBrush->AspectRatio)*PctDone;
+ }
+
+ // Prepare values from sourceimage size
+ double RealImageW=double(RenderImage->width()); // Get real image widht
+ double RealImageH=double(RenderImage->height()); // Get real image height
+ double Hyp=sqrt(RealImageW*RealImageW+RealImageH*RealImageH); // Calc hypothenuse of the image to define full canvas
+ int iHyp=int(Hyp); if (Hyp-iHyp>double(0.5)) iHyp++; if (int(iHyp/2)*2<iHyp) iHyp--; Hyp=iHyp;
+ int HypPixel=int(Hyp*TheZoomFactor); if (Hyp-HypPixel>double(0.5)) HypPixel++;
+
+ // Expand canvas
+ QImage NewRenderImage(Hyp,Hyp,QImage::Format_ARGB32_Premultiplied);
+ QPainter Painter;
+ Painter.begin(&NewRenderImage);
+ Painter.setCompositionMode(QPainter::CompositionMode_Source);
+ Painter.fillRect(QRect(0,0,Hyp+1,Hyp+1),Qt::transparent);
+ Painter.setCompositionMode(QPainter::CompositionMode_SourceOver);
+ Painter.drawImage(QPoint((Hyp-RealImageW)/2,(Hyp-RealImageH)/2),*RenderImage);
+ Painter.end();
+ delete RenderImage;
+
+ // Rotate image (if needed)
+ if (TheRotateFactor!=0) {
+ QTransform matrix;
+ matrix.rotate(TheRotateFactor,Qt::ZAxis);
+ int W=NewRenderImage.width();
+ int H=NewRenderImage.height();
+ NewRenderImage=NewRenderImage.transformed(matrix,ApplicationConfig->Smoothing?Qt::SmoothTransformation:Qt::FastTransformation);
+ int ax=NewRenderImage.width()-W;
+ int ay=NewRenderImage.height()-H;
+ NewRenderImage=NewRenderImage.copy(ax/2,ay/2,NewRenderImage.width()-ax+1,NewRenderImage.height()-ay+1);
+ }
+
+ // Get part we need and scaled it to destination size
+ NewRenderImage=NewRenderImage.copy(Hyp*TheXFactor,Hyp*TheYFactor,HypPixel,HypPixel*TheAspectRatio)
+ .scaled(Rect.width()+1,double(Rect.width()+1)*TheAspectRatio,Qt::IgnoreAspectRatio,
+ ApplicationConfig->Smoothing?Qt::SmoothTransformation:Qt::FastTransformation);
+
+ // Apply correction filters to DestImage
+ fmt_filters::image img(NewRenderImage.bits(),NewRenderImage.width(),NewRenderImage.height());
+ if (TheBrightness!=0) fmt_filters::brightness(img,TheBrightness);
+ if (TheContrast!=0) fmt_filters::contrast(img,TheContrast);
+ if (TheGamma!=1) fmt_filters::gamma(img,TheGamma);
+ if ((TheRed!=0)||(TheGreen!=0)||(TheBlue!=0)) fmt_filters::colorize(img,TheRed,TheGreen,TheBlue);
+
+ if (!NewRenderImage.isNull()) Ret=new QBrush(NewRenderImage);
+ }
+ }
+ return Ret;
+ } else {
+ // Force loading of sound of video
+ if (Video) {
+ QImage *RenderImage=Video->ImageAt(PreviewMode,Position,StartPosToAdd,SoundTrackMontage,SoundVolume,SoundOnly,&Video->BrushFileTransform,false);
+ if (RenderImage) delete RenderImage;
+ }
+ return new QBrush(Qt::NoBrush);
+ }
+}
+
+//====================================================================================================================
+// Note:This function is use only by DlgImageCorrection !
+void cBrushDefinition::ApplyFilter(QImage *Image) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::ApplyFilter");
+
+ if (Image==NULL) return;
+ fmt_filters::image img(Image->bits(),Image->width(),Image->height());
+ if (Brightness!=0) fmt_filters::brightness(img,Brightness);
+ if (Contrast!=0) fmt_filters::contrast(img,Contrast);
+ if (Gamma!=1) fmt_filters::gamma(img,Gamma);
+ if ((Red!=0)||(Green!=0)||(Blue!=0)) fmt_filters::colorize(img,Red,Green,Blue);
+}
+
+//====================================================================================================================
+
+QBrush *cBrushDefinition::GetLibraryBrush(QRectF Rect) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::GetLibraryBrush");
+
+ if (!BackgroundList) return NULL;
+ int BackgroundImageNumber=BackgroundList->SearchImage(BrushImage);
+ if ((BackgroundImageNumber>=0)&&(BackgroundImageNumber<BackgroundList->List.count())) {
+ double Ratio=double(BackgroundList->List[BackgroundImageNumber].BackgroundImage.height())/double(BackgroundList->List[BackgroundImageNumber].BackgroundImage.width());
+ double H =Rect.height()+1;
+ double W =H/Ratio;
+ QImage NewImg1;
+ if (W<(Rect.width()+1)) {
+ NewImg1=QImage(BackgroundList->List[BackgroundImageNumber].BackgroundImage.scaledToWidth(Rect.width()+1,Qt::SmoothTransformation));
+ } else {
+ NewImg1=QImage(BackgroundList->List[BackgroundImageNumber].BackgroundImage.scaledToHeight(Rect.height()+1,Qt::SmoothTransformation));
+ }
+ W=NewImg1.width();
+ H=GetHeightForWidth(W,Rect);
+ if (H<NewImg1.height()) {
+ H=NewImg1.height();
+ W=GetWidthForHeight(H,Rect);
+ }
+ if ((W!=NewImg1.width())||(H!=NewImg1.height())) return new QBrush(QImage(NewImg1.copy(0,0,W,H))); else return new QBrush(NewImg1);
+ } else return new QBrush(Qt::NoBrush);
+}
+
+//====================================================================================================================
+// Return height for width depending on Rect geometry
+int cBrushDefinition::GetHeightForWidth(int WantedWith,QRectF Rect) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::GetHeightForWidth");
+
+ double Ratio=Rect.width()/Rect.height();
+ return int(double(double(WantedWith)/Ratio));
+}
+
+//====================================================================================================================
+// Return width for height depending on Rect geometry
+int cBrushDefinition::GetWidthForHeight(int WantedHeight,QRectF Rect) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::GetWidthForHeight");
+
+ double Ratio=Rect.height()/Rect.width();
+ return int(double(double(WantedHeight)/Ratio));
+}
+
+//====================================================================================================================
+
+QString cBrushDefinition::GetFramingStyle() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::GetFramingStyle");
+
+ return QString("###X:%1").arg(X,0,'e')+
+ QString("###Y:%1").arg(Y,0,'e')+
+ QString("###ZoomFactor:%1").arg(ZoomFactor,0,'e')+
+ QString("###LockGeometry:%1").arg(LockGeometry?1:0)+
+ QString("###AspectRatio:%1").arg(AspectRatio,0,'e');
+}
+
+//====================================================================================================================
+// create a COMPOSITIONTYPE_SHOT brush as a copy of a given brush
+
+void cBrushDefinition::CopyFromBrushDefinition(cBrushDefinition *BrushToCopy) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::CopyFromBrushDefinition");
+
+ TypeComposition =COMPOSITIONTYPE_SHOT;
+ BrushType =BrushToCopy->BrushType;
+ PatternType =BrushToCopy->PatternType;
+ GradientOrientation =BrushToCopy->GradientOrientation;
+ ColorD =BrushToCopy->ColorD;
+ ColorF =BrushToCopy->ColorF;
+ ColorIntermed =BrushToCopy->ColorIntermed;
+ Intermediate =BrushToCopy->Intermediate;
+ BrushImage =BrushToCopy->BrushImage;
+ Image =BrushToCopy->Image;
+ Video =BrushToCopy->Video;
+ SoundVolume =BrushToCopy->SoundVolume;
+ DefaultFramingW =BrushToCopy->DefaultFramingW;
+ DefaultFramingH =BrushToCopy->DefaultFramingH;
+ DefaultFramingF =BrushToCopy->DefaultFramingF;
+
+ // Image correction part
+ ImageRotation =BrushToCopy->ImageRotation;
+ X =BrushToCopy->X;
+ Y =BrushToCopy->Y;
+ ZoomFactor =BrushToCopy->ZoomFactor;
+ Brightness =BrushToCopy->Brightness;
+ Contrast =BrushToCopy->Contrast;
+ Gamma =BrushToCopy->Gamma;
+ Red =BrushToCopy->Red;
+ Green =BrushToCopy->Green;
+ Blue =BrushToCopy->Blue;
+ LockGeometry =BrushToCopy->LockGeometry;
+ FullFilling =BrushToCopy->FullFilling;
+ AspectRatio =BrushToCopy->AspectRatio;
+}
+
+//====================================================================================================================
+
+void cBrushDefinition::SaveToXML(QDomElement &domDocument,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::SaveToXML");
+
+ QDomDocument DomDocument;
+ QDomElement Element=DomDocument.createElement(ElementName);
+ QString BrushFileName=(Image?Image->FileName:Video?Video->FileName:"");
+
+ if ((PathForRelativPath!="")&&((Image?Image->FileName:Video?Video->FileName:"")!="")) {
+ if (ForceAbsolutPath)
+ BrushFileName=QDir::cleanPath(QDir(QFileInfo(PathForRelativPath).absolutePath()).absoluteFilePath(BrushFileName));
+ else
+ BrushFileName=QDir::cleanPath(QDir(QFileInfo(PathForRelativPath).absolutePath()).relativeFilePath(BrushFileName));
+ }
+ // Attribut of the object
+ Element.setAttribute("TypeComposition",TypeComposition);
+ Element.setAttribute("BrushType",BrushType); // 0=No brush !, 1=Solid one color, 2=Pattern, 3=Gradient 2 colors, 4=Gradient 3 colors
+ switch (BrushType) {
+ case BRUSHTYPE_PATTERN :
+ Element.setAttribute("PatternType",PatternType); // Type of pattern when BrushType is Pattern (Qt::BrushStyle standard)
+ Element.setAttribute("ColorD",ColorD); // First Color
+ break;
+ case BRUSHTYPE_GRADIENT3 :
+ Element.setAttribute("ColorIntermed",ColorIntermed); // Intermediate Color
+ Element.setAttribute("Intermediate",Intermediate); // Intermediate position of 2nd color (in %)
+ case BRUSHTYPE_GRADIENT2 :
+ Element.setAttribute("ColorF",ColorF); // Last Color
+ Element.setAttribute("GradientOrientation",GradientOrientation); // 0=Radial, 1=Up-Left, 2=Up, 3=Up-right, 4=Right, 5=bt-right, 6=bottom, 7=bt-Left, 8=Left
+ case BRUSHTYPE_SOLID :
+ Element.setAttribute("ColorD",ColorD); // First Color
+ break;
+ case BRUSHTYPE_IMAGELIBRARY :
+ Element.setAttribute("BrushImage",BrushImage); // Image name if image from library
+ break;
+ case BRUSHTYPE_IMAGEDISK :
+ if (Video!=NULL) {
+ if (TypeComposition!=COMPOSITIONTYPE_SHOT) { // Global definition only !
+ Element.setAttribute("BrushFileName",BrushFileName); // File name if image from disk
+ Element.setAttribute("StartPos",Video->StartPos.toString("HH:mm:ss.zzz")); // Start position (video only)
+ Element.setAttribute("EndPos",Video->EndPos.toString("HH:mm:ss.zzz")); // End position (video only)
+ Video->BrushFileTransform.SaveToXML(Element,"ImageTransformation"); // Image transformation
+ } else Element.setAttribute("SoundVolume",QString("%1").arg(SoundVolume,0,'f')); // Volume of soundtrack (for video only)
+ } else if (Image!=NULL) {
+ if (TypeComposition!=COMPOSITIONTYPE_SHOT) { // Global definition only !
+ Element.setAttribute("BrushFileName",BrushFileName); // File name if image from disk
+ Image->BrushFileTransform.SaveToXML(Element,"ImageTransformation"); // Image transformation
+ Element.setAttribute("ImageOrientation",Image->ImageOrientation);
+ }
+ }
+ break;
+ }
+
+ // Image correction part
+ QDomElement CorrectElement=DomDocument.createElement("ImageCorrection");
+ CorrectElement.setAttribute("X", X); // X position (in %) relative to up/left corner
+ CorrectElement.setAttribute("Y", Y); // Y position (in %) relative to up/left corner
+ CorrectElement.setAttribute("ZoomFactor", ZoomFactor); // Zoom factor (in %)
+ CorrectElement.setAttribute("ImageRotation", ImageRotation); // Image rotation (in °)
+ CorrectElement.setAttribute("Brightness", Brightness);
+ CorrectElement.setAttribute("Contrast", Contrast);
+ CorrectElement.setAttribute("Gamma", Gamma);
+ CorrectElement.setAttribute("Red", Red);
+ CorrectElement.setAttribute("Green", Green);
+ CorrectElement.setAttribute("Blue", Blue);
+ CorrectElement.setAttribute("LockGeometry", LockGeometry?1:0);
+ CorrectElement.setAttribute("AspectRatio", AspectRatio);
+ CorrectElement.setAttribute("FullFilling", FullFilling?1:0);
+ Element.appendChild(CorrectElement);
+
+ domDocument.appendChild(Element);
+}
+
+//====================================================================================================================
+
+bool cBrushDefinition::LoadFromXML(QDomElement domDocument,QString ElementName,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::LoadFromXML");
+
+ if (ModifyFlag) *ModifyFlag=false;
+ if ((domDocument.elementsByTagName(ElementName).length()>0)&&(domDocument.elementsByTagName(ElementName).item(0).isElement()==true)) {
+ QDomElement Element=domDocument.elementsByTagName(ElementName).item(0).toElement();
+
+ // Attribut of the object
+ TypeComposition =Element.attribute("TypeComposition").toInt();
+ BrushType =Element.attribute("BrushType").toInt(); // 0=No brush !, 1=Solid one color, 2=Pattern, 3=Gradient 2 colors, 4=Gradient 3 colors
+ switch (BrushType) {
+ case BRUSHTYPE_PATTERN :
+ PatternType =Element.attribute("PatternType").toInt(); // Type of pattern when BrushType is Pattern (Qt::BrushStyle standard)
+ ColorD =Element.attribute("ColorD"); // First Color
+ break;
+ case BRUSHTYPE_GRADIENT3 :
+ ColorIntermed =Element.attribute("ColorIntermed"); // Intermediate Color
+ Intermediate =Element.attribute("Intermediate").toDouble(); // Intermediate position of 2nd color (in %)
+ case BRUSHTYPE_GRADIENT2 :
+ ColorF =Element.attribute("ColorF"); // Last Color
+ GradientOrientation =Element.attribute("GradientOrientation").toInt(); // 0=Radial, 1=Up-Left, 2=Up, 3=Up-right, 4=Right, 5=bt-right, 6=bottom, 7=bt-Left, 8=Left
+ case BRUSHTYPE_SOLID :
+ ColorD=Element.attribute("ColorD"); // First Color
+ break;
+ case BRUSHTYPE_IMAGELIBRARY :
+ BrushImage=Element.attribute("BrushImage"); // Image name if image from library
+ break;
+ case BRUSHTYPE_IMAGEDISK :
+ if (TypeComposition!=COMPOSITIONTYPE_SHOT) {
+ QString BrushFileName=Element.attribute("BrushFileName"); // File name if image from disk
+ if ((PathForRelativPath!="")&&(BrushFileName!=""))
+ BrushFileName=QDir::cleanPath(QDir(PathForRelativPath).absoluteFilePath(BrushFileName));
+
+ bool IsValide=false;
+ QString Extension=QFileInfo(BrushFileName).suffix().toLower();
+ for (int i=0;i<ApplicationConfig->AllowImageExtension.count();i++) if (ApplicationConfig->AllowImageExtension[i]==Extension) {
+ Image=new cImageFile(ApplicationConfig);
+ Image->ImageOrientation=Element.attribute("ImageOrientation").toInt();
+ IsValide=Image->GetInformationFromFile(BrushFileName,AliasList,ModifyFlag);
+ if (!IsValide) {
+ delete Image;
+ Image=NULL;
+ }
+ break;
+ }
+ if (Image==NULL) for (int i=0;i<ApplicationConfig->AllowVideoExtension.count();i++) if (ApplicationConfig->AllowVideoExtension[i]==Extension) {
+ Video=new cVideoFile(OBJECTTYPE_VIDEOFILE,ApplicationConfig);
+ IsValide=Video->GetInformationFromFile(BrushFileName,AliasList,ModifyFlag);
+ if (!IsValide) {
+ delete Video;
+ Video=NULL;
+ }
+ if (Video!=NULL) Video->OpenCodecAndFile();
+ break;
+ }
+ }
+ if (Video!=NULL) {
+ if (TypeComposition!=COMPOSITIONTYPE_SHOT) { // Global definition only !
+ Video->StartPos =QTime().fromString(Element.attribute("StartPos")); // Start position (video only)
+ Video->EndPos =QTime().fromString(Element.attribute("EndPos")); // End position (video only)
+ Video->BrushFileTransform.LoadFromXML(Element,"ImageTransformation"); // Image transformation
+ } else SoundVolume=Element.attribute("SoundVolume").toDouble(); // Volume of soundtrack (for video only)
+ } else if (Image!=NULL) {
+ if (TypeComposition!=COMPOSITIONTYPE_SHOT) { // Global definition only !
+ Image->BrushFileTransform.LoadFromXML(Element,"ImageTransformation"); // Image transformation
+ }
+ }
+ break;
+ }
+
+ // Image correction part
+ if ((Element.elementsByTagName("ImageCorrection").length()>0)&&(Element.elementsByTagName("ImageCorrection").item(0).isElement()==true)) {
+ QDomElement CorrectElement=Element.elementsByTagName("ImageCorrection").item(0).toElement();
+
+ if (CorrectElement.hasAttribute("X")) X =CorrectElement.attribute("X").toDouble(); // X position (in %) relative to up/left corner
+ if (CorrectElement.hasAttribute("Y")) Y =CorrectElement.attribute("Y").toDouble(); // Y position (in %) relative to up/left corner
+ if (CorrectElement.hasAttribute("ZoomFactor")) ZoomFactor =CorrectElement.attribute("ZoomFactor").toDouble(); // Zoom factor (in %)
+ if (CorrectElement.hasAttribute("ImageRotation")) ImageRotation =CorrectElement.attribute("ImageRotation").toDouble(); // Image rotation (in °)
+ if (CorrectElement.hasAttribute("Brightness")) Brightness =CorrectElement.attribute("Brightness").toInt();
+ if (CorrectElement.hasAttribute("Contrast")) Contrast =CorrectElement.attribute("Contrast").toInt();
+ if (CorrectElement.hasAttribute("Gamma")) Gamma =CorrectElement.attribute("Gamma").toDouble();
+ if (CorrectElement.hasAttribute("Red")) Red =CorrectElement.attribute("Red").toInt();
+ if (CorrectElement.hasAttribute("Green")) Green =CorrectElement.attribute("Green").toInt();
+ if (CorrectElement.hasAttribute("Blue")) Blue =CorrectElement.attribute("Blue").toInt();
+ if (CorrectElement.hasAttribute("AspectRatio")) AspectRatio =CorrectElement.attribute("AspectRatio").toDouble();
+ if (CorrectElement.hasAttribute("FullFilling")) FullFilling =CorrectElement.attribute("FullFilling").toInt()==1;
+
+ // If old ImageGeometry value in project file then compute LockGeometry
+ if (CorrectElement.hasAttribute("ImageGeometry")) LockGeometry=(CorrectElement.attribute("ImageGeometry").toInt()!=2);
+ else if (CorrectElement.hasAttribute("LockGeometry")) LockGeometry=(CorrectElement.attribute("LockGeometry").toInt()==1); // Else load saved value
+
+ }
+
+ return (BrushType==BRUSHTYPE_IMAGEDISK)?(Image!=NULL)||(Video!=NULL):true;
+ }
+ return false;
+}
diff --git a/src/sharedfiles/cBrushDefinition.h b/src/engine/cBrushDefinition.h
similarity index 100%
rename from src/sharedfiles/cBrushDefinition.h
rename to src/engine/cBrushDefinition.h
diff --git a/src/engine/cCustomIcon.cpp b/src/engine/cCustomIcon.cpp
new file mode 100755
index 0000000..f31bd81
--- /dev/null
+++ b/src/engine/cCustomIcon.cpp
@@ -0,0 +1,341 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "cCustomIcon.h"
+
+//*****************************************************************************************************************************************
+
+#ifdef Q_OS_WIN
+ #include <QPixmapCache>
+ #include <windows.h>
+ #include <QSettings>
+ #ifndef SHGFI_ADDOVERLAYS
+ #define SHGFI_ADDOVERLAYS 0x000000020
+ #endif
+
+ // qt_fromWinHBITMAP From Qmmander Filemanager / Copyright (C) Alex Skoruppa 2009 (See:http://qmmander.googlecode.com/svn-history/r93/trunk/winfileinfo.cpp)
+ QImage qt_fromWinHBITMAP(HDC hdc, HBITMAP bitmap, int w, int h) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:qt_fromWinHBITMAP");
+
+ BITMAPINFO bmi;
+ memset(&bmi, 0, sizeof(bmi));
+ bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
+ bmi.bmiHeader.biWidth = w;
+ bmi.bmiHeader.biHeight = -h;
+ bmi.bmiHeader.biPlanes = 1;
+ bmi.bmiHeader.biBitCount = 32;
+ bmi.bmiHeader.biCompression = BI_RGB;
+ bmi.bmiHeader.biSizeImage = w * h * 4;
+
+ QImage image(w, h, QImage::Format_ARGB32_Premultiplied);
+ if (image.isNull())
+ return image;
+
+ // Get bitmap bits
+ uchar *data = (uchar *) qMalloc(bmi.bmiHeader.biSizeImage);
+
+ if (GetDIBits(hdc, bitmap, 0, h, data, &bmi, DIB_RGB_COLORS)) {
+ // Create image and copy data into image.
+ for (int y=0; y<h; ++y) {
+ void *dest = (void *) image.scanLine(y);
+ void *src = data + y * image.bytesPerLine();
+ memcpy(dest, src, image.bytesPerLine());
+ }
+ } else {
+ ToLog(LOGMSG_CRITICAL,"qt_fromWinHBITMAP(), failed to get bitmap bits");
+ }
+ qFree(data);
+
+ return image;
+ }
+
+ //====================================================================================================================
+ // convertHIconToPixmap From Qmmander Filemanager / Copyright (C) Alex Skoruppa 2009 (See:http://qmmander.googlecode.com/svn-history/r93/trunk/winfileinfo.cpp)
+ QPixmap convertHIconToPixmap( const HICON icon) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:convertHIconToPixmap");
+
+ bool foundAlpha = false;
+ HDC screenDevice = GetDC(0);
+ HDC hdc = CreateCompatibleDC(screenDevice);
+ ReleaseDC(0, screenDevice);
+
+ ICONINFO iconinfo;
+ bool result = GetIconInfo(icon, &iconinfo); //x and y Hotspot describes the icon center
+ if (!result)
+ ToLog(LOGMSG_CRITICAL,"convertHIconToPixmap(), failed to GetIconInfo()");
+
+ int w = iconinfo.xHotspot * 2;
+ int h = iconinfo.yHotspot * 2;
+
+ BITMAPINFOHEADER bitmapInfo;
+ bitmapInfo.biSize = sizeof(BITMAPINFOHEADER);
+ bitmapInfo.biWidth = w;
+ bitmapInfo.biHeight = h;
+ bitmapInfo.biPlanes = 1;
+ bitmapInfo.biBitCount = 32;
+ bitmapInfo.biCompression = BI_RGB;
+ bitmapInfo.biSizeImage = 0;
+ bitmapInfo.biXPelsPerMeter = 0;
+ bitmapInfo.biYPelsPerMeter = 0;
+ bitmapInfo.biClrUsed = 0;
+ bitmapInfo.biClrImportant = 0;
+ DWORD* bits;
+
+ HBITMAP winBitmap = CreateDIBSection(hdc, (BITMAPINFO*)&bitmapInfo, DIB_RGB_COLORS, (VOID**)&bits, NULL, 0);
+ HGDIOBJ oldhdc = (HBITMAP)SelectObject(hdc, winBitmap);
+ DrawIconEx( hdc, 0, 0, icon, iconinfo.xHotspot * 2, iconinfo.yHotspot * 2, 0, 0, DI_NORMAL);
+ QImage image = qt_fromWinHBITMAP(hdc, winBitmap, w, h);
+
+ for (int y = 0 ; y < h && !foundAlpha ; y++) {
+ QRgb *scanLine= reinterpret_cast<QRgb *>(image.scanLine(y));
+ for (int x = 0; x < w ; x++) {
+ if (qAlpha(scanLine[x]) != 0) {
+ foundAlpha = true;
+ break;
+ }
+ }
+ }
+ if (!foundAlpha) {
+ //If no alpha was found, we use the mask to set alpha values
+ DrawIconEx( hdc, 0, 0, icon, w, h, 0, 0, DI_MASK);
+ QImage mask = qt_fromWinHBITMAP(hdc, winBitmap, w, h);
+
+ for (int y = 0 ; y < h ; y++){
+ QRgb *scanlineImage = reinterpret_cast<QRgb *>(image.scanLine(y));
+ QRgb *scanlineMask = mask.isNull() ? 0 : reinterpret_cast<QRgb *>(mask.scanLine(y));
+ for (int x = 0; x < w ; x++){
+ if (scanlineMask && qRed(scanlineMask[x]) != 0)
+ scanlineImage[x] = 0; //mask out this pixel
+ else
+ scanlineImage[x] |= 0xff000000; // set the alpha channel to 255
+ }
+ }
+ }
+ //dispose resources created by iconinfo call
+ DeleteObject(iconinfo.hbmMask);
+ DeleteObject(iconinfo.hbmColor);
+
+ SelectObject(hdc, oldhdc); //restore state
+ DeleteObject(winBitmap);
+ DeleteDC(hdc);
+ return QPixmap::fromImage(image);
+ }
+
+ //====================================================================================================================
+ // GetIconForFileOrDir adapted by domledom From Qmmander Filemanager / Copyright (C) Alex Skoruppa 2009 (See:http://qmmander.googlecode.com/svn-history/r93/trunk/winfileinfo.cpp)
+ QIcon GetIconForFileOrDir(QString FileName,int IconIndex) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:GetIconForFileOrDir");
+
+ QIcon RetIcon;
+ WCHAR WinFileName[256+1];
+
+ MultiByteToWideChar(CP_ACP,0,FileName.toLocal8Bit(),-1,WinFileName,256+1);
+
+ if (IconIndex!=0) {
+ HICON Icon;
+ if (ExtractIconEx(WinFileName,IconIndex,&Icon,NULL,1)>0) {
+ RetIcon=convertHIconToPixmap(Icon);
+ DeleteObject(Icon);
+ return RetIcon;
+ } else if (ExtractIconEx(WinFileName,IconIndex,NULL,&Icon,1)>0) {
+ RetIcon=convertHIconToPixmap(Icon);
+ DeleteObject(Icon);
+ return RetIcon;
+ }
+ }
+
+ SHFILEINFO info;
+ QString key;
+ QPixmap pixmap;
+ QString fileExtension=QFileInfo(FileName).suffix().toUpper();
+ fileExtension.prepend(QLatin1String("."));
+
+ if (QFileInfo(FileName).isFile() && !QFileInfo(FileName).isExecutable() && !QFileInfo(FileName).isSymLink()) key=QLatin1String("qt_")+fileExtension;
+ if (!key.isEmpty()) QPixmapCache::find(key, pixmap);
+
+ if (!pixmap.isNull()) {
+ RetIcon.addPixmap(pixmap);
+ if (QPixmapCache::find(key+QLatin1Char('l'),pixmap)) RetIcon.addPixmap(pixmap);
+ return RetIcon;
+ }
+
+ //Get the small icon
+ if (SHGetFileInfo(WinFileName,0,&info,sizeof(SHFILEINFO),SHGFI_ICON|SHGFI_SMALLICON|SHGFI_SYSICONINDEX|SHGFI_ADDOVERLAYS)) {
+ if (QFileInfo(FileName).isDir() && !QDir(FileName).isRoot()) {
+ //using the unique icon index provided by windows save us from duplicate keys
+ key = QString::fromLatin1("qt_dir_%1").arg(info.iIcon);
+ QPixmapCache::find(key,pixmap);
+ if (!pixmap.isNull()) {
+ RetIcon.addPixmap(pixmap);
+ if (QPixmapCache::find(key + QLatin1Char('l'), pixmap)) RetIcon.addPixmap(pixmap);
+ DestroyIcon(info.hIcon);
+ return RetIcon;
+ }
+ }
+ if (pixmap.isNull()) {
+ pixmap = convertHIconToPixmap(info.hIcon);
+ if (!pixmap.isNull()) {
+ RetIcon.addPixmap(pixmap);
+ if (!key.isEmpty()) QPixmapCache::insert(key,pixmap);
+ } else {
+ ToLog(LOGMSG_WARNING,"QCustomFolderTree::getWinIcon() no small icon found");
+ }
+ }
+ DestroyIcon(info.hIcon);
+ }
+ //Get the big icon
+ if (SHGetFileInfo(WinFileName,0,&info,sizeof(SHFILEINFO),SHGFI_ICON|SHGFI_LARGEICON|SHGFI_SYSICONINDEX|SHGFI_ADDOVERLAYS)) {
+ if (QFileInfo(FileName).isDir() && !QFileInfo(FileName).isRoot()) {
+ //using the unique icon index provided by windows save us from duplicate keys
+ key=QString::fromLatin1("qt_dir_%1").arg(info.iIcon);
+ }
+ pixmap=convertHIconToPixmap(info.hIcon);
+ if (!pixmap.isNull()) {
+ RetIcon.addPixmap(pixmap);
+ if (!key.isEmpty()) QPixmapCache::insert(key+QLatin1Char('l'),pixmap);
+ } else {
+ ToLog(LOGMSG_WARNING,"QCustomFolderTree::getWinIcon() no large icon found");
+ }
+ DestroyIcon(info.hIcon);
+ }
+ if (RetIcon.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading icon nbr %1 From %2 Error").arg(IconIndex).arg(FileName));
+ return RetIcon;
+ }
+
+#endif
+
+//*****************************************************************************************************************************************
+
+cCustomIcon::cCustomIcon() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomIcon::cCustomIcon");
+ IsIconNeeded=false;
+}
+
+void cCustomIcon::LoadIcons(QString FileName) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomIcon::LoadIcons as filename");
+
+ QImage Icon(FileName);
+ if (Icon.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading %1 Error").arg(FileName)); else {
+ if (Icon.width()>Icon.height()) {
+ Icon16 =Icon.scaledToWidth(16,Qt::SmoothTransformation);
+ Icon32 =Icon.scaledToWidth(32,Qt::SmoothTransformation);
+ Icon48 =Icon.scaledToWidth(48,Qt::SmoothTransformation);
+ Icon100=Icon.scaledToWidth(100,Qt::SmoothTransformation);
+ } else {
+ Icon16 =Icon.scaledToHeight(16,Qt::SmoothTransformation);
+ Icon32 =Icon.scaledToHeight(32,Qt::SmoothTransformation);
+ Icon48 =Icon.scaledToHeight(48,Qt::SmoothTransformation);
+ Icon100=Icon.scaledToHeight(100,Qt::SmoothTransformation);
+ }
+ }
+}
+
+//====================================================================================================================
+
+void cCustomIcon::LoadIcons(cCustomIcon *CustomIcon) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomIcon::LoadIcons as CustomIcon");
+
+ Icon16 =CustomIcon->Icon16.copy();
+ Icon32 =CustomIcon->Icon32.copy();
+ Icon48 =CustomIcon->Icon48.copy();
+ Icon100=CustomIcon->Icon100.copy();
+}
+
+//====================================================================================================================
+
+void cCustomIcon::LoadIconsFromIMG(QString FileName) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomIcon::LoadIconsFromIMG");
+
+ Icon16.load (":/img/MediaIcons/16x16/"+FileName); if (Icon16.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading img/MediaIcons/16x16/%1 Error").arg(FileName));
+ Icon32.load (":/img/MediaIcons/32x32/"+FileName); if (Icon32.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading img/MediaIcons/32x32/%1 Error").arg(FileName));
+ Icon48.load (":/img/MediaIcons/48x48/"+FileName); if (Icon48.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading img/MediaIcons/48x48/%1 Error").arg(FileName));
+ Icon100.load(":/img/MediaIcons/100x100/"+FileName); if (Icon100.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading img/MediaIcons/100x100/%1 Error").arg(FileName));
+}
+
+//====================================================================================================================
+
+void cCustomIcon::LoadIconsFromLinux(QString LinuxPath,QString FileName) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomIcon::LoadIconsFromLinux");
+
+ Icon16.load(LinuxPath+"16x16/"+FileName); if (Icon16.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading %116x16/%2 Error").arg(LinuxPath).arg(FileName));
+ Icon32.load(LinuxPath+"32x32/"+FileName); if (Icon32.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading %132x32/%2 Error").arg(LinuxPath).arg(FileName));
+ Icon48.load(LinuxPath+"48x48/"+FileName); if (Icon48.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading %148x48/%2 Error").arg(LinuxPath).arg(FileName));
+ Icon100=QImage(LinuxPath+"128x128/"+FileName); if (Icon100.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading %1128x128/%2 Error").arg(LinuxPath).arg(FileName));
+ if (!Icon100.isNull()) Icon100=Icon100.scaledToHeight(100,Qt::SmoothTransformation);
+}
+
+//====================================================================================================================
+
+void cCustomIcon::LoadIcons(QImage *Image) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomIcon::LoadIcons as QImage");
+
+ if (Image->width()>Image->height()) {
+ Icon16 =Image->scaledToWidth(16,Qt::SmoothTransformation);
+ Icon32 =Image->scaledToWidth(32,Qt::SmoothTransformation);
+ Icon48 =Image->scaledToWidth(48,Qt::SmoothTransformation);
+ Icon100=Image->scaledToWidth(100,Qt::SmoothTransformation);
+ } else {
+ Icon16 =Image->scaledToHeight(16,Qt::SmoothTransformation);
+ Icon32 =Image->scaledToHeight(32,Qt::SmoothTransformation);
+ Icon48 =Image->scaledToHeight(48,Qt::SmoothTransformation);
+ Icon100=Image->scaledToHeight(100,Qt::SmoothTransformation);
+ }
+}
+
+//====================================================================================================================
+
+void cCustomIcon::LoadIcons(QIcon Icon) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomIcon::LoadIcons as QIcon");
+
+ Icon16 =Icon.pixmap(16,16).toImage();
+ Icon32 =Icon.pixmap(32,32).toImage();
+ Icon48 =Icon.pixmap(48,48).toImage();
+ Icon100=Icon.pixmap(100,100).toImage();
+ if ((Icon100.height()<100)&&(Icon100.width()<100)) {
+ if (Icon100.height()>Icon100.width()) Icon100=Icon100.scaledToHeight(100,Qt::SmoothTransformation);
+ else Icon100=Icon100.scaledToWidth(100,Qt::SmoothTransformation);
+ }
+}
+
+//====================================================================================================================
+
+QIcon cCustomIcon::GetIcon() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomIcon::GetIcon");
+
+ QIcon Ret=QIcon(QPixmap().fromImage(Icon16));
+ Ret.addPixmap(QPixmap().fromImage(Icon32));
+ Ret.addPixmap(QPixmap().fromImage(Icon48));
+ Ret.addPixmap(QPixmap().fromImage(Icon100));
+ return Ret;
+}
+
+//====================================================================================================================
+
+QImage *cCustomIcon::GetIcon(IconSize Size) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomIcon::GetIcon");
+
+ switch (Size) {
+ case ICON16: return &Icon16;
+ case ICON32: return &Icon32;
+ case ICON48: return &Icon48;
+ case ICON100: return &Icon100;
+ default: return &Icon16;
+ }
+}
diff --git a/src/engine/cCustomIcon.h b/src/engine/cCustomIcon.h
new file mode 100755
index 0000000..f99e361
--- /dev/null
+++ b/src/engine/cCustomIcon.h
@@ -0,0 +1,54 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef CCUSTOMICON_H
+#define CCUSTOMICON_H
+
+// Basic inclusions (common to all files)
+#include "_GlobalDefines.h"
+#include <QString>
+#include <QImage>
+#include <QIcon>
+
+class cCustomIcon {
+public:
+ bool IsIconNeeded; // If true, create thumbnails on open
+ QImage Icon16,Icon32,Icon48,Icon100; // Icons
+ enum IconSize {ICON16,ICON32,ICON48,ICON100};
+
+ cCustomIcon();
+
+ virtual void LoadIcons(cCustomIcon *CustomIcon);
+ virtual void LoadIcons(QString FileName);
+ virtual void LoadIcons(QImage *Image);
+ virtual void LoadIcons(QIcon Icon);
+ virtual void LoadIconsFromIMG(QString FileName);
+ virtual void LoadIconsFromLinux(QString LinuxPath,QString FileName);
+ virtual QImage *GetIcon(IconSize Size);
+ virtual QIcon GetIcon();
+};
+
+#ifdef Q_OS_WIN
+ QImage qt_fromWinHBITMAP(HDC hdc, HBITMAP bitmap, int w, int h);
+ QPixmap convertHIconToPixmap( const HICON icon);
+ QIcon GetIconForFileOrDir(QString FileName,int IconIndex);
+#endif
+
+#endif // CCUSTOMICON_H
diff --git a/src/engine/cDeviceModelDef.cpp b/src/engine/cDeviceModelDef.cpp
new file mode 100755
index 0000000..83d4069
--- /dev/null
+++ b/src/engine/cDeviceModelDef.cpp
@@ -0,0 +1,681 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+// Include some common various class
+#include "cDeviceModelDef.h"
+
+/****************************************************************************
+ Definition of image format supported by the application
+****************************************************************************/
+
+sIMAGEDEF DefImageFormat [2][3][NBR_SIZEDEF] = {
+ { // STANDARD_PAL
+ { // GEOMETRY_4_3
+ {320,240,4,3, 25, "25", "QVGA - 320x240 - 25 FPS", 0},
+ {426,320,4,3, 25, "25", "HVGA - 426x320 - 25 FPS", 0},
+ {640,480,4,3, 25, "25", "VGA - 640x480 - 25 FPS", 0},
+ {720,576,4,3, 25, "25", "SD/DVD - 720x576 - 25 FPS", 0}, // SIZE_DVD - No extend ! special case
+ {640,480,4,3, 25, "25", "WVGA - 640x480 - 25 FPS", 0},
+ {1024,768,4,3, 25, "25", "XGA - 1024x768 - 25 FPS", 0},
+ {960,720,4,3, 25, "25", "720p - 960x720 - 25 FPS", 0},
+ {1440,1080,4,3, 25, "25", "1080p - 1440x1080 - 25 FPS", 0},
+ {240,180,4,3, 24, "24", "RIM 240 - 240x180 - 24 FPS", 0}
+ },{ // GEOMETRY_16_9
+ {320,180,4,3, 25, "25", "QVGA - 320x180+PAD - 25 FPS", 30},
+ {480,270,16,9, 25, "25", "HVGA - 480x270 - 25 FPS", 0},
+ {640,360,16,9, 25, "25", "VGA - 640x360 - 25 FPS", 0},
+ {720,576,16,9, 25, "25", "SD/DVD - 720x576 WIDE - 25 FPS", 0}, // SIZE_DVD - No extend ! special case
+ {800,450,16,9, 25, "25", "WVGA - 800x450 - 25 FPS", 0},
+ {1024,576,16,9, 25, "25", "XGA - 1024x576 - 25 FPS", 0},
+ {1280,720,16,9, 25, "25", "720p - 1280x720 - 25 FPS", 0},
+ {1920,1080,16,9,25, "25", "1080p - 1920x1080 - 25 FPS", 0},
+ {240,136,4,3, 24, "24", "RIM 240 - 240x136 - 24 FPS", 22}
+ },{ // GEOMETRY_40_17
+ {320,136,4,3, 25, "25", "QVGA - 320x136+PAD - 25 FPS", 52},
+ {480,204,40,17, 25, "25", "HVGA - 480x204 - 25 FPS", 0},
+ {640,272,40,17, 25, "25", "VGA - 640x272 - 25 FPS", 0},
+ {720,436,40,17, 25, "25", "SD/DVD - 720x436 WIDE - 25 FPS", 0}, // SIZE_DVD - No extend ! special case
+ {800,340,40,17, 25, "25", "WVGA - 800x340 - 25 FPS", 0},
+ {1024,436,40,17,25, "25", "XGA - 1024x436 - 25 FPS", 0},
+ {1280,544,40,17,25, "25", "720p - 1280x544 - 25 FPS", 0},
+ {1920,816,40,17,25, "25", "1080p - 1920x816 - 25 FPS", 0},
+ {240,102,4,3, 24, "24", "RIM 240 - 240x135+PAD - 24 FPS", 39}
+ }},{// STANDARD_NTSC
+ { // GEOMETRY_4_3
+ {320,240,4,3, 30000L/1001L, "30000/1001","QVGA - 320x240 - 29.97 FPS", 0},
+ {426,320,4,3, 30000L/1001L, "30000/1001","HVGA - 426x320 - 29.97 FPS", 0},
+ {640,480,4,3, 30000L/1001L, "30000/1001","VGA - 640x480 - 29.97 FPS", 0},
+ {720,480,4,3, 30000L/1001L, "30000/1001","SD/DVD - 720x480 - 29.97 FPS", 0}, // SIZE_DVD - No extend ! special case
+ {640,480,4,3, 30000L/1001L, "30000/1001","WVGA - 640x480 - 29.97 FPS", 0},
+ {1024,768,4,3, 30000L/1001L, "30000/1001","XGA - 1024x768 - 29.97 FPS", 0},
+ {960,720,4,3, 24000L/1001L, "24000/1001","720p - 960x720 - 23.976 FPS", 0},
+ {1440,1080,4,3, 24000L/1001L, "24000/1001","1080p - 1440x1080 - 23.976 FPS", 0},
+ {240,180,4,3, 24, "24", "RIM 240 - 240x180 - 24 FPS", 0}
+ },{ // GEOMETRY_16_9
+ {320,180,4,3, 30000L/1001L, "30000/1001","QVGA - 320x180+PAD - 29.97 FPS", 30},
+ {480,270,16,9, 30000L/1001L, "30000/1001","HVGA - 480x270 - 29.97 FPS", 0},
+ {640,360,16,9, 30000L/1001L, "30000/1001","VGA - 640x272 - 29.97 FPS", 0},
+ {720,480,16,9, 30000L/1001L, "30000/1001","SD/DVD - 720x480 WIDE - 29.97 FPS", 0}, // SIZE_DVD - No extend ! special case
+ {800,450,16,9, 30000L/1001L, "30000/1001","WVGA - 800x450 - 29.97 FPS", 0},
+ {1024,576,16,9, 30000L/1001L, "30000/1001","XGA - 1024x576 - 29.97 FPS", 0},
+ {1280,720,16,9, 24000L/1001L, "24000/1001","720p - 1280x720 - 23.976 FPS", 0},
+ {1920,1080,16,9,24000L/1001L, "24000/1001","1080p - 1920x1080 - 23.976 FPS", 0},
+ {240,136,4,3, 24, "24", "RIM 240 - 240x135 - 24 FPS", 22}
+ },{ // GEOMETRY_40_17
+ {320,136,4,3, 30000L/1001L, "30000/1001","QVGA - 320x136+PAD - 29.97 FPS", 52},
+ {480,204,40,17, 30000L/1001L, "30000/1001","HVGA - 480x204 - 29.97 FPS", 0},
+ {640,272,40,17, 30000L/1001L, "30000/1001","VGA - 640x272 - 29.97 FPS", 0},
+ {720,362,40,17, 30000L/1001L, "30000/1001","SD/DVD - 720x362 WIDE - 29.97 FPS", 0}, // SIZE_DVD - No extend ! special case
+ {800,340,40,17, 30000L/1001L, "30000/1001","WVGA - 800x340 - 29.97 FPS", 0},
+ {1024,436,40,17,30000L/1001L, "30000/1001","XGA - 1024x436 - 29.97 FPS", 0},
+ {1280,544,40,17,24000L/1001L, "24000/1001","720p - 1280x544 - 23.976 FPS", 0},
+ {1920,816,40,17,24000L/1001L, "24000/1001","1080p - 1920x816 - 23.976 FPS", 0},
+ {240,102,4,3, 24, "24", "RIM 240 - 240x135+PAD - 24 FPS", 39}
+ }}
+};
+
+QString IMAGEDEFGENNAME[2][NBR_SIZEDEF]={
+ { // PAL
+ "QVGA (25 FPS-4:3=320x240-16:9=320x180-40:17=320x136)", // SIZE_QVGA
+ "HVGA (25 FPS-4:3=426x320-16:9=480x270-40:17=480x204)", // SIZE_HVGA
+ "VGA (25 FPS-4:3=640x480-16:9=460x360-40:17=640x272)", // SIZE_VGA
+ "SD/DVD (25 FPS-4:3=720x576-16:9=720x576W-40:17=720x576WP)", // SIZE_DVD
+ "WVGA (25 FPS-4:3=640x480-16:9=800x450-40:17=800x340)", // SIZE_WVGA
+ "XGA (25 FPS-4:3=1024x768-16:9=1024x576-40:17=1024x436)", // SIZE_XGA
+ "720p (25 FPS-4:3=960x720-16:9=1280x720-40:17=1280x544)", // SIZE_720P
+ "1080p (25 FPS-4:3=1440x1080-16:9=1920x1080-40:17=1920x816)", // SIZE_1080p
+ "RIM 240 (24 FPS-4:3=240x180-16:9=240x135-40:17=240x135P)" // SIZE_RIM240
+ },{ // NTSC
+ "QVGA (29.97 FPS-4:3=320x240-16:9=320x180-40:17=320x136)", // SIZE_QVGA
+ "HVGA (29.97 FPS-4:3=426x320-16:9=480x270-40:17=480x204)", // SIZE_HVGA
+ "VGA (29.97 FPS-4:3=640x480-16:9=460x360-40:17=640x272)", // SIZE_VGA
+ "SD/DVD (29.97 FPS-4:3=720x480-16:9=720x480W-40:17=720x480WP)", // SIZE_DVD
+ "WVGA (29.97 FPS-4:3=640x480-16:9=800x450-40:17=800x340)", // SIZE_WVGA
+ "XGA (29.97 FPS-4:3=1024x768-16:9=1024x576-40:17=1024x436)", // SIZE_XGA
+ "720p (23.976 FPS-4:3=960x720-16:9=1280x720-40:17=1280x544)", // SIZE_720P
+ "1080p (23.976 FPS-4:3=1440x1080-16:9=1920x1080-40:17=1920x816)", // SIZE_1080p
+ "RIM 240 (24 FPS-4:3=240x180-16:9=240x135-40:17=240x135P)" // SIZE_RIM240
+ }
+};
+
+int ORDERIMAGENAME[NBR_SIZEDEF]={2,3,4,6,5,7,8,9,1};
+
+/****************************************************************************
+ Definition of audio/video codec and file format supported by the application
+****************************************************************************/
+
+struct sVideoCodecDef VIDEOCODECDEF[NBR_VIDEOCODECDEF]={
+ {
+ false,CODEC_ID_MJPEG,VCODEC_MJPEG,VCODECST_MJPEG, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST
+ "mjpeg","Motion JPEG", // ShortName[50], LongName[200]
+ "", // PossibleBitrate
+ {""} // DefaultBitrate[NBR_SIZEDEF]
+ },{
+ false,CODEC_ID_MPEG2VIDEO,VCODEC_MPEG,VCODECST_MPEG, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST
+ "mpeg2video","MPEG-2 video", // ShortName[50], LongName[200]
+ "2000k#3000k#4000k#6000k#8000k#10000k#12000k#15000k#20000k#400k", // PossibleBitrate
+ { // DefaultBitrate[NBR_SIZEDEF]
+ "1000k", // QVGA-320x240
+ "2000k", // HVGA-480x320
+ "3000k", // VGA-640x480
+ "6000k", // DVD-720x576
+ "6000k", // WVGA-800x480
+ "10000k", // XGA-1024x768
+ "12000k", // 720p
+ "20000k", // 1080p
+ "400k" // RIM 240
+ }
+ },{
+ false,CODEC_ID_MPEG4,VCODEC_MPEG4,VCODECST_MPEG4, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST
+ "mpeg4","DivX/XVid/MPEG-4", // ShortName[50], LongName[200]
+ "500k#1000k#1200k#1500k#2000k#2500k#3000k#4000k#5000k#6000k#8000k#400k#4500k", // PossibleBitrate
+ { // DefaultBitrate[NBR_SIZEDEF]
+ "500k", // QVGA-320x240
+ "1000k", // HVGA-480x320
+ "2000k", // VGA-640x480
+ "3000k", // DVD-720x576
+ "4000k", // WVGA-800x480
+ "5000k", // XGA-1024x768
+ "6000k", // 720p
+ "8000k", // 1080p
+ "400k" // RIM 240
+ }
+ },{
+ false,CODEC_ID_H264,VCODEC_H264HQ,VCODECST_H264HQ, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST
+ "libx264","High Quality H.264 AVC/MPEG-4 AVC", // ShortName[50], LongName[200]
+ "500k#1000k#1200k#1500k#2000k#2500k#3000k#4000k#5000k#6000k#8000k#10000k#12000k#400k#3500k", // PossibleBitrate
+ { // DefaultBitrate[NBR_SIZEDEF]
+ "500k", // QVGA-320x240
+ "1000k", // HVGA-480x320
+ "1500k", // VGA-640x480
+ "2500k", // DVD-720x576
+ "3000k", // WVGA-800x480
+ "4000k", // XGA-1024x768
+ "5000k", // 720p
+ "8000k", // 1080p
+ "400k" // RIM 240
+ }
+ },{
+ false,CODEC_ID_H264,VCODEC_H264PQ,VCODECST_H264PQ, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST
+ "libx264","Phone Quality H.264 AVC/MPEG-4 AVC", // ShortName[50], LongName[200]
+ "500k#1000k#1200k#1500k#2000k#2500k#3000k#4000k#5000k#6000k#8000k#10000k#400k#3500k", // PossibleBitrate
+ { // DefaultBitrate[NBR_SIZEDEF]
+ "500k", // QVGA-320x240
+ "1200k", // HVGA-480x320
+ "1500k", // VGA-640x480
+ "2500k", // DVD-720x576
+ "3000k", // WVGA-800x480
+ "4000k", // XGA-1024x768
+ "5000k", // 720p
+ "8000k", // 1080p
+ "400k" // RIM 240
+ }
+ },{
+ false,CODEC_ID_VP8,VCODEC_VP8,VCODECST_VP8, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST
+ "libvpx","WebM-VP8", // ShortName[50], LongName[200]
+ "500k#1000k#1200k#1500k#2000k#2500k#3000k#4000k#5000k#6000k#8000k#400k#3500k", // PossibleBitrate
+ { // DefaultBitrate[NBR_SIZEDEF]
+ "500k", // QVGA-320x240
+ "1000k", // HVGA-480x320
+ "1500k", // VGA-640x480
+ "2500k", // DVD-720x576
+ "3000k", // WVGA-800x480
+ "4000k", // XGA-1024x768
+ "5000k", // 720p
+ "8000k", // 1080p
+ "400k" // RIM 240
+ }
+ },{
+ false, 22,VCODEC_H263,VCODECST_H263, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST
+ "flv","Flash Video / Sorenson H.263", // ShortName[50], LongName[200]
+ "500k#1000k#1200k#1500k#2000k#2500k#3000k#4000k#5000k#6000k#8000k#400k#3500k", // PossibleBitrate
+ { // DefaultBitrate[NBR_SIZEDEF]
+ "500k", // QVGA-320x240
+ "1000k", // HVGA-480x320
+ "1500k", // VGA-640x480
+ "2500k", // DVD-720x576
+ "3000k", // WVGA-800x480
+ "4000k", // XGA-1024x768
+ "5000k", // 720p
+ "8000k", // 1080p
+ "400k" // RIM 240
+ }
+ },{
+ false, CODEC_ID_THEORA,VCODEC_THEORA,VCODECST_THEORA, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST
+ "libtheora","Theora VP3", // ShortName[50], LongName[200]
+ "500k#1000k#1200k#1500k#2000k#2500k#3000k#4000k#5000k#6000k#8000k#400k#3500k", // PossibleBitrate
+ // QVGA-320x240/HVGA-480x320/VGA-640x480/DVD-720x576/WVGA-800x480/XGA-1024x768/720p/1080p
+ { // DefaultBitrate[NBR_SIZEDEF]
+ "500k", // QVGA-320x240
+ "1000k", // HVGA-480x320
+ "1500k", // VGA-640x480
+ "2500k", // DVD-720x576
+ "3000k", // WVGA-800x480
+ "4000k", // XGA-1024x768
+ "5000k", // 720p
+ "8000k", // 1080p
+ "400k" // RIM 240
+ }
+ },{
+ false,CODEC_ID_H264,VCODEC_X264LL,VCODECST_X264LL, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST
+ "libx264","x264 lossless", // ShortName[50], LongName[200]
+ "", // PossibleBitrate
+ {""} // DefaultBitrate[NBR_SIZEDEF]
+ }
+};
+
+struct sAudioCodecDef AUDIOCODECDEF[NBR_AUDIOCODECDEF]={
+ {false, CODEC_ID_PCM_S16LE,"pcm_s16le", "WAV (PCM signed 16-bit little-endian)","", false,"",""},
+ {false, CODEC_ID_MP3, "libmp3lame", "MP3 (MPEG-1/2 Audio Layer III)", "8k#16k#24k#32k#40k#48k#56k#64k#80k#96k#112k#128k#144k#160k#192k#224k#256k#320k", false,"","160k"},
+ {false, CODEC_ID_AAC, "aac", "AAC-LC (Advanced Audio Codec)", "64k#80k#96k#112k#128k#144k#160k#192k#224k#256k#320k#384k", true,"224k#256k#320k#384k#448k#500k#512k#576k#640k","160k"},
+ {false, CODEC_ID_AC3, "ac3_fixed", "AC3 (Doly Digital)", "64k#80k#96k#112k#128k#144k#160k#192k#224k#256k#320k#384k", true,"224k#256k#320k#384k#448k#500k#512k#576k#640k","160k"},
+ {false, CODEC_ID_VORBIS, "vorbis", "OGG (Vorbis)", "64k#96k#128k#192k#256k#500k", false,"","128k"},
+ {false, CODEC_ID_MP2, "mp2", "MP2 (MPEG-1 Audio Layer II)", "64k#96k#128k#192k#256k#500k", false,"","128k"},
+ {false, CODEC_ID_AMR_WB, "libvo_amrwbenc", "Adaptive Multi-Rate (AMR) Wide-Band", "6.6k#8.85k#12.65k#14.25k#15.85k#18.25k#19.85k#23.05k#23.85k", false,"","6.6k"},
+ {false, CODEC_ID_FLAC, "flac", "FLAC (Free Lossless Audio Codec)", "", false,"",""},
+ {false, CODEC_ID_AMR_NB, "libopencore_amrnb", "Adaptive Multi-Rate (AMR) NB", "4750#5150#5900#6700#7400#7950#10200#12200", false,"","6700"}
+};
+
+struct sFormatDef FORMATDEF[NBR_FORMATDEF]={
+ {false, "3gp", "3gp", "3GP file format", "MPEG4#H264HQ#H264PQ", "libvo_amrwbenc#libopencore_amrnb"},
+ {false, "avi", "avi", "AVI file format", "MJPEG#MPEG#MPEG4#H264HQ#H264PQ", "pcm_s16le#mp2#libmp3lame#ac3_fixed"},
+ {false, "matroska", "mkv", "MKV Matroska file format", "MPEG4#H264HQ#H264PQ#THEORA#X264LL","pcm_s16le#libmp3lame#libfaac#aac#libvo_aacenc#ac3_fixed#libvorbis#vorbis#flac"},
+ {false, "mjpeg", "avi", "MJPEG video", "MJPEG", "pcm_s16le"},
+ {false, "mp4", "mp4", "MP4 file format", "MPEG4#H264HQ#H264PQ", "libmp3lame#libfaac#aac#libvo_aacenc"},
+ {false, "mpeg", "mpg", "MPEG file format", "MPEG", "mp2#ac3_fixed"},
+ {false, "webm", "webm", "WEBM file format", "VP8", "libvorbis#vorbis"},
+ {false, "flv", "flv", "FLV Flash file format 2005", "H263", "libmp3lame"},
+ {false, "flv", "flv", "FLV Flash file format 2008", "H264HQ#H264PQ", "libfaac#aac#libvo_aacenc"},
+ {false, "ogg", "ogv", "OGV Ogg/Theroa file format", "THEORA", "libvorbis#vorbis"}
+};
+// Note : depending on ffmpeg version :
+// => aac codec is libfaac or aac
+
+struct sFormatDef AUDIOFORMATDEF[NBR_AUDIOFORMATDEF]={
+ {false, "flac", "flac", "FLAC (Free Lossless Audio Codec)", "", "flac"},
+ {false, "mp4", "m4a", "M4A file format", "", "libfaac#aac#libvo_aacenc"},
+ {false, "mp3", "mp3", "MP3 (MPEG-1/2 Audio Layer III)", "", "libmp3lame"},
+ {false, "ogg", "ogg", "OGG (Vorbis)", "", "libvorbis#vorbis"},
+ {false, "wav", "wav", "WAV (PCM signed 16-bit little-endian)", "", "pcm_s16le"}
+};
+
+//====================================================================================================================
+// Device model class definition
+//====================================================================================================================
+
+cDeviceModelDef::cDeviceModelDef(bool IsGlobalConf,int IndexKey) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelDef::cDeviceModelDef");
+
+ FromGlobalConf =IsGlobalConf; // true if device model is defined in global config file
+ FromUserConf =!IsGlobalConf; // true if device model is defined in user config file
+ IsFind =false; // true if device model format is supported by installed version of libav
+ DeviceIndex =IndexKey; // Device number index key
+ DeviceName =""; // long name for the device model
+ DeviceType =0; // device type
+ DeviceSubtype =0;
+ FileFormat =0; // sFormatDef number
+ VideoCodec =0; // sVideoCodecDef number
+ AudioCodec =0; // sAudioCodecDef number
+ AudioBitrate =0; // Bitrate number in sAudioCodecDef
+ ImageSize =0; // DefImageFormat number
+ VideoBitrate =0; // Bitrate number in sVideoCodecDef
+ Standard =0;
+}
+
+cDeviceModelDef::~cDeviceModelDef() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelDef::~cDeviceModelDef");
+}
+
+//====================================================================================================================
+
+void cDeviceModelDef::SaveToXML(QDomElement &domDocument,QString ElementName) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelDef::SaveToXML");
+
+ QDomDocument DomDocument;
+ QDomElement Element=DomDocument.createElement(ElementName);
+ Element.setAttribute("DeviceIndex",DeviceIndex);
+ Element.setAttribute("DeviceName",DeviceName);
+ Element.setAttribute("DeviceType",DeviceType);
+ Element.setAttribute("DeviceSubtype",DeviceSubtype);
+ Element.setAttribute("FileFormat",FileFormat);
+ Element.setAttribute("VideoCodec",VideoCodec);
+ Element.setAttribute("AudioCodec",AudioCodec);
+ Element.setAttribute("AudioBitrate",AudioBitrate);
+ Element.setAttribute("Standard",Standard);
+ Element.setAttribute("ImageSize",ImageSize);
+ Element.setAttribute("VideoBitrate",VideoBitrate);
+ domDocument.appendChild(Element);
+}
+
+//====================================================================================================================
+
+bool cDeviceModelDef::LoadFromXML(QDomElement domDocument,QString ElementName,bool IsUserConfigFile) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelDef::LoadFromXML");
+
+ if ((domDocument.elementsByTagName(ElementName).length()>0)&&(domDocument.elementsByTagName(ElementName).item(0).isElement()==true)) {
+ QDomElement Element=domDocument.elementsByTagName(ElementName).item(0).toElement();
+ if (IsUserConfigFile) FromUserConf=true;
+ DeviceName =Element.attribute("DeviceName");
+ DeviceType =Element.attribute("DeviceType").toInt();
+ DeviceSubtype =Element.attribute("DeviceSubtype").toInt();
+ FileFormat =Element.attribute("FileFormat").toInt();
+ VideoCodec =Element.attribute("VideoCodec").toInt();
+ AudioCodec =Element.attribute("AudioCodec").toInt();
+ AudioBitrate =Element.attribute("AudioBitrate").toInt();
+ Standard =Element.attribute("Standard").toInt();
+ ImageSize =Element.attribute("ImageSize").toInt();
+ VideoBitrate =Element.attribute("VideoBitrate").toInt();
+
+ if (FromUserConf==false) {
+ BckDeviceName =DeviceName; // long name for the device model
+ BckDeviceType =DeviceType; // device type
+ BckDeviceSubtype=DeviceSubtype; // device Subtype
+ BckStandard =Standard; // standard : PAL/NTSC
+ BckFileFormat =FileFormat; // sFormatDef number
+ BckImageSize =ImageSize; // DefImageFormat number
+ BckVideoCodec =VideoCodec; // sVideoCodecDef number
+ BckVideoBitrate =VideoBitrate; // Bitrate number in sVideoCodecDef
+ BckAudioCodec =AudioCodec; // sAudioCodecDef number
+ BckAudioBitrate =AudioBitrate; // Bitrate number in sAudioCodecDef
+ }
+ return true;
+ } else return false;
+}
+
+//====================================================================================================================
+// Device model list definition
+//====================================================================================================================
+
+cDeviceModelList::cDeviceModelList() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelList::cDeviceModelList");
+}
+
+//====================================================================================================================
+
+cDeviceModelList::~cDeviceModelList() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelList::~cDeviceModelList");
+
+ while (!RenderDeviceModel.isEmpty()) delete RenderDeviceModel.takeLast();
+}
+
+//====================================================================================================================
+
+bool cDeviceModelList::LoadConfigurationFile(QString ConfigFileName,cBaseApplicationConfig::LoadConfigFileType TypeConfigFile) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelList::LoadConfigurationFile");
+
+ // Compute FileName
+ QString FileName=QFileInfo(ConfigFileName).absolutePath();
+ if (!FileName.endsWith(QDir::separator())) FileName=FileName+QDir::separator();
+ FileName=FileName+CONFIGFILENAME+"."+QFileInfo(ConfigFileName).suffix();
+
+ ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Read configuration file")+" "+FileName);
+
+ QFile file(FileName);
+ QDomDocument domDocument;
+ QDomElement root;
+ QString errorStr;
+ int errorLine,errorColumn;
+ bool IsOk=true;
+
+ if (!file.open(QFile::ReadOnly | QFile::Text)) {
+ ToLog(LOGMSG_WARNING,QApplication::translate("MainWindow","Error reading configuration file","Error message")+" "+FileName);
+ IsOk=false;
+ }
+
+ if (IsOk && (!domDocument.setContent(&file,true,&errorStr,&errorLine,&errorColumn))) {
+ ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","Error reading content of configuration file","Error message")+" "+FileName);
+ IsOk=false;
+ }
+
+ if (IsOk) {
+ root = domDocument.documentElement();
+ if (root.tagName()!=CONFIGROOTNAME) {
+ ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","The file is not a valid configuration file","Error message")+" "+FileName);
+ IsOk=false;
+ }
+ }
+
+ if (LoadFromXML(root,TypeConfigFile)) {
+ if (TypeConfigFile==cBaseApplicationConfig::USERCONFIGFILE) TranslatRenderType();
+ return true;
+ }
+ return false;
+}
+
+//====================================================================================================================
+
+bool cDeviceModelList::SaveConfigurationFile(QString ConfigFileName) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelList::LoadConfigurationFile");
+
+ // Compute FileName
+ QString FileName=QFileInfo(ConfigFileName).absolutePath();
+ if (!FileName.endsWith(QDir::separator())) FileName=FileName+QDir::separator();
+ FileName=FileName+CONFIGFILENAME+"."+QFileInfo(ConfigFileName).suffix();
+
+ // Save all option to the configuration file
+ QFile file(FileName);
+ QDomDocument domDocument(CONFIGDOCNAME);
+ QDomElement root;
+
+ // Ensure destination exist
+ QFileInfo ConfPath(FileName);
+ QDir ConfDir;
+ ConfDir.mkdir(ConfPath.path());
+
+ // Create xml document and root
+ root=domDocument.createElement(CONFIGROOTNAME);
+ domDocument.appendChild(root);
+
+ // Save RenderDeviceModel collection
+ int j=0;
+ QDomElement Element=domDocument.createElement("RenderingDeviceModel");
+ for (int i=0;i<RenderDeviceModel.count();i++) if (RenderDeviceModel[i]->FromUserConf) {
+ RenderDeviceModel[i]->SaveToXML(Element,QString("Device_"+QString("%1").arg(j)));
+ j++;
+ }
+ if (j>0) root.appendChild(Element);
+
+ // Write file to disk
+ if (!file.open(QFile::WriteOnly | QFile::Text)) {
+ ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Error creating configuration file","Error message")+" "+FileName);
+ return false;
+ }
+ QTextStream out(&file);
+ domDocument.save(out,4);
+ file.close();
+ return true;
+}
+
+//====================================================================================================================
+
+bool cDeviceModelList::LoadFromXML(QDomElement domDocument,cBaseApplicationConfig::LoadConfigFileType TypeConfigFile) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelList::LoadFromXML");
+
+ if ((domDocument.elementsByTagName("RenderingDeviceModel").length()>0)&&(domDocument.elementsByTagName("RenderingDeviceModel").item(0).isElement()==true)) {
+ QDomElement Element=domDocument.elementsByTagName("RenderingDeviceModel").item(0).toElement();
+ int i=0;
+ while ((Element.elementsByTagName("Device_"+QString("%1").arg(i)).length()>0)&&(domDocument.elementsByTagName("Device_"+QString("%1").arg(i)).item(0).isElement()==true)) {
+ if (TypeConfigFile==cBaseApplicationConfig::GLOBALCONFIGFILE) {
+ // Reading from global config file : append device
+ RenderDeviceModel.append(new cDeviceModelDef(TypeConfigFile==cBaseApplicationConfig::GLOBALCONFIGFILE,i));
+ RenderDeviceModel[i]->LoadFromXML(Element,QString("Device_"+QString("%1").arg(i)),false);
+ } else {
+ // Reading from user config file : search if device already exist, then load it else append a new one
+ QString ElementName=QString("Device_"+QString("%1").arg(i));
+ if ((domDocument.elementsByTagName(ElementName).length()>0)&&(domDocument.elementsByTagName(ElementName).item(0).isElement()==true)) {
+ QDomElement TheElement=domDocument.elementsByTagName(ElementName).item(0).toElement();
+ int IndexKey=TheElement.attribute("DeviceIndex").toInt();
+ int j=0;
+ while ((j<RenderDeviceModel.count())&&(RenderDeviceModel[j]->DeviceIndex!=IndexKey)) j++;
+ if (j<RenderDeviceModel.count()) RenderDeviceModel[IndexKey]->LoadFromXML(Element,QString("Device_"+QString("%1").arg(i)),true); else {
+ j=RenderDeviceModel.count();
+ RenderDeviceModel.append(new cDeviceModelDef(false,IndexKey));
+ RenderDeviceModel[j]->LoadFromXML(Element,QString("Device_"+QString("%1").arg(i)),true);
+ }
+ }
+ }
+ i++;
+ }
+ }
+ return true;
+}
+
+//====================================================================================================================
+
+void cDeviceModelList::TranslatRenderType() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelList::TranslatRenderType");
+
+ TranslatedRenderType.append(QApplication::translate("cDeviceModelList","Advanced","Device database type")); // EXPORTMODE_ADVANCED
+ TranslatedRenderType.append(QApplication::translate("cDeviceModelList","Smartphone","Device database type")); // MODE_SMARTPHONE
+ TranslatedRenderType.append(QApplication::translate("cDeviceModelList","Multimedia system","Device database type")); // MODE_MULTIMEDIASYS
+ TranslatedRenderType.append(QApplication::translate("cDeviceModelList","For the WEB","Device database type")); // MODE_FORTHEWEB
+ TranslatedRenderType.append(QApplication::translate("cDeviceModelList","Lossless","Device database type")); // MODE_LOSSLESS
+ TranslatedRenderSubtype[MODE_SMARTPHONE].append(QApplication::translate("cDeviceModelList","Smartphone","Device database type"));
+ TranslatedRenderSubtype[MODE_SMARTPHONE].append(QApplication::translate("cDeviceModelList","Portable Player","Device database type"));
+ TranslatedRenderSubtype[MODE_SMARTPHONE].append(QApplication::translate("cDeviceModelList","Netbook/NetPC","Device database type"));
+ TranslatedRenderSubtype[MODE_SMARTPHONE].append(QApplication::translate("cDeviceModelList","Handheld game console","Device database type"));
+ TranslatedRenderSubtype[MODE_SMARTPHONE].append(QApplication::translate("cDeviceModelList","Tablet computer","Device database type"));
+ TranslatedRenderSubtype[MODE_MULTIMEDIASYS].append(QApplication::translate("cDeviceModelList","Multimedia hard drive and gateway","Device database type"));
+ TranslatedRenderSubtype[MODE_MULTIMEDIASYS].append(QApplication::translate("cDeviceModelList","Player","Device database type"));
+ TranslatedRenderSubtype[MODE_MULTIMEDIASYS].append(QApplication::translate("cDeviceModelList","ADSL Box","Device database type"));
+ TranslatedRenderSubtype[MODE_MULTIMEDIASYS].append(QApplication::translate("cDeviceModelList","Game console","Device database type"));
+ TranslatedRenderSubtype[MODE_FORTHEWEB].append(QApplication::translate("cDeviceModelList","SWF Flash Player","Device database type"));
+ TranslatedRenderSubtype[MODE_FORTHEWEB].append(QApplication::translate("cDeviceModelList","Video-sharing and social WebSite","Device database type"));
+ TranslatedRenderSubtype[MODE_FORTHEWEB].append(QApplication::translate("cDeviceModelList","HTML 5","Device database type"));
+}
+
+//====================================================================================================================
+
+bool cDeviceModelList::Initffmpeg(QString &BinaryEncoderPath) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelList::Initffmpeg");
+
+ // First step : check libav version
+ #if (!(defined(LIBAV_07)||defined(LIBAV_08)))
+ CustomMessageBox(NULL,QMessageBox::Critical,QApplication::translate("MainWindow","ffDiaporama initialisation"),"Incorrect libav version\nApplication will stop!");
+ return false;
+ #else
+ // Second step : search binary encoder
+ bool Continue=false;
+ QProcess Process;
+
+ #ifdef LIBAV_AVCONV
+ // Search avconv
+ BinaryEncoderPath="avconv";
+ Process.start(BinaryEncoderPath,QString("-version").split(";"));
+ if (Process.waitForStarted(-1)) {
+ if (!Process.waitForFinished()) Process.kill();
+ else Continue=true;
+ }
+ ToLog(LOGMSG_INFORMATION,QString("Try to found %1 ... %2").arg(BinaryEncoderPath).arg(Continue?"found":"not found"));
+ #endif
+
+ #ifdef LIBAV_FFMPEG
+ if (!Continue) {
+ // Search ffmpeg
+ BinaryEncoderPath="ffmpeg";
+ Process.start(BinaryEncoderPath,QString("-version").split(";"));
+ if (Process.waitForStarted(-1)) {
+ if (!Process.waitForFinished()) Process.kill();
+ else Continue=true;
+ }
+ ToLog(LOGMSG_INFORMATION,QString("Try to found %1 ... %2").arg(BinaryEncoderPath).arg(Continue?"found":"not found"));
+ }
+ #endif
+
+ if (!Continue) CustomMessageBox(NULL,QMessageBox::Critical,QApplication::translate("MainWindow","ffDiaporama initialisation"),"Unable to find binary encoder (nor ffmpeg or avconv)\nApplication will stop!");
+ else {
+
+ // Next step : start libav
+ ToLog(LOGMSG_INFORMATION,"Starting libav lib ...");
+ #ifdef LIBAV_08
+ avcodec_register_all();
+ av_register_all();
+ avformat_network_init();
+ #endif
+ #ifdef LIBAV_07
+ avcodec_init();
+ av_register_all();
+ #endif
+
+ // Check codec to know if they was finded
+ AVCodec *p=NULL;
+ while ((p=av_codec_next(p))) {
+ if ((p->encode!=NULL)
+ #ifdef LIBAV_08
+ ||(p->encode2!=NULL)
+ #endif
+ ) {
+ if (p->type==AVMEDIA_TYPE_AUDIO) {
+ for (int i=0;i<NBR_AUDIOCODECDEF;i++) if ((p->id==AUDIOCODECDEF[i].Codec_id)&&(!AUDIOCODECDEF[i].IsFind)) {
+ AUDIOCODECDEF[i].IsFind=true;
+ //strcpy(AUDIOCODECDEF[i].ShortName,p->name);
+ }
+ // special case for vorbis codec : if libvorbis is found, prefer it to default internal vorbis encoder
+ if (QString(p->name)==QString("libvorbis")) strcpy(AUDIOCODECDEF[4].ShortName,p->name);
+ // special case for aac codec : if libfaac is found, prefer it to default internal aac encoder
+ if (QString(p->name)==QString("libfaac")) strcpy(AUDIOCODECDEF[2].ShortName,p->name);
+ // special case for aac codec : if libvo_aacenc is found, prefer it to default internal aac encoder (ffmpeg 0.7)
+ if (QString(p->name)==QString("libvo_aacenc")) strcpy(AUDIOCODECDEF[2].ShortName,p->name);
+ }
+ if (p->type==AVMEDIA_TYPE_VIDEO) {
+ for (int i=0;i<NBR_VIDEOCODECDEF;i++) if ((p->id==VIDEOCODECDEF[i].Codec_id)&&(!VIDEOCODECDEF[i].IsFind)) {
+ VIDEOCODECDEF[i].IsFind=true;
+ strcpy(VIDEOCODECDEF[i].ShortName,p->name);
+ }
+ // special case for mpeg4 codec : if libxvid is found, prefer it to default mpeg4 internal encoder
+ if (QString(p->name)==QString("libxvid")) strcpy(VIDEOCODECDEF[2].ShortName,p->name);
+ }
+ }
+ }
+
+ // Check format to know if they was finded
+ AVOutputFormat *ofmt=NULL;
+ while ((ofmt=av_oformat_next(ofmt))) {
+ for (int i=0;i<NBR_FORMATDEF;i++) if (strcmp(ofmt->name,FORMATDEF[i].ShortName)==0) {
+ QString AllowedCodec=FORMATDEF[i].PossibleVideoCodec;
+ QString Codec="";
+ int Index=0;
+ bool IsFindVideoCodec=false;
+ bool IsFindAudioCodec=false;
+
+ while (AllowedCodec.length()>0) {
+ Index=AllowedCodec.indexOf("#");
+ if (Index>0) {
+ Codec=AllowedCodec.left(Index);
+ AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1);
+ } else {
+ Codec=AllowedCodec;
+ AllowedCodec="";
+ }
+ // Now find index of this codec in the VIDEOCODECDEF
+ Index=0;
+ while ((Index<NBR_VIDEOCODECDEF)&&(Codec!=QString(VIDEOCODECDEF[Index].FFD_VCODECST))) Index++;
+ if ((Index<NBR_VIDEOCODECDEF)&&(VIDEOCODECDEF[Index].IsFind)) IsFindVideoCodec=true;
+ }
+ AllowedCodec=FORMATDEF[i].PossibleAudioCodec;
+ Codec="";
+ Index=0;
+ while (AllowedCodec.length()>0) {
+ Index=AllowedCodec.indexOf("#");
+ if (Index>0) {
+ Codec=AllowedCodec.left(Index);
+ AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1);
+ } else {
+ Codec=AllowedCodec;
+ AllowedCodec="";
+ }
+ // Now find index of this codec in the AUDIOCODECDEF
+ Index=0;
+ while ((Index<NBR_AUDIOCODECDEF)&&(Codec!=QString(AUDIOCODECDEF[Index].ShortName))) Index++;
+ if ((Index<NBR_AUDIOCODECDEF)&&(AUDIOCODECDEF[Index].IsFind)) IsFindAudioCodec=true;
+ }
+ FORMATDEF[i].IsFind=IsFindAudioCodec && IsFindVideoCodec;
+ }
+ }
+
+ // Check audio format to know if they was finded
+ ofmt=NULL;
+ while ((ofmt=av_oformat_next(ofmt))) {
+ for (int i=0;i<NBR_AUDIOFORMATDEF;i++) if (strcmp(ofmt->name,AUDIOFORMATDEF[i].ShortName)==0) {
+ QString AllowedCodec=AUDIOFORMATDEF[i].PossibleAudioCodec;
+ QString Codec="";
+ int Index=0;
+ bool IsFindAudioCodec=false;
+ while (AllowedCodec.length()>0) {
+ Index=AllowedCodec.indexOf("#");
+ if (Index>0) {
+ Codec=AllowedCodec.left(Index);
+ AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1);
+ } else {
+ Codec=AllowedCodec;
+ AllowedCodec="";
+ }
+ // Now find index of this codec in the AUDIOCODECDEF
+ Index=0;
+ while ((Index<NBR_AUDIOCODECDEF)&&(Codec!=QString(AUDIOCODECDEF[Index].ShortName))) Index++;
+ if ((Index<NBR_AUDIOCODECDEF)&&(AUDIOCODECDEF[Index].IsFind)) IsFindAudioCodec=true;
+ }
+ AUDIOFORMATDEF[i].IsFind=IsFindAudioCodec;
+ }
+ }
+ }
+ return Continue;
+ #endif
+}
diff --git a/src/engine/cDeviceModelDef.h b/src/engine/cDeviceModelDef.h
new file mode 100755
index 0000000..f004f1e
--- /dev/null
+++ b/src/engine/cDeviceModelDef.h
@@ -0,0 +1,294 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef CDEVICEMODELDEF_H
+#define CDEVICEMODELDEF_H
+
+// Basic inclusions (common to all files)
+#include "_GlobalDefines.h"
+#include "_QCustomDialog.h"
+
+// Include some additional standard class
+#include <QString>
+#include <QStringList>
+#include <QtXml/QDomDocument>
+#include <QtXml/QDomElement>
+
+// Include some common various class
+#include "cBaseApplicationConfig.h"
+
+//****************************************************************************************************************************************************************
+// LIBAV inclusion
+//****************************************************************************************************************************************************************
+
+extern "C" {
+ #ifndef INT64_C
+ #define INT64_C(c) (c ## LL)
+ #define UINT64_C(c) (c ## ULL)
+ #endif
+
+ #include <libavcodec/version.h>
+ #include <libavdevice/avdevice.h>
+ #include <libavfilter/avfilter.h>
+ #include <libavformat/version.h>
+ #include <libavutil/avutil.h>
+ #include <libswscale/swscale.h>
+
+ #include <libavutil/mathematics.h>
+ #include <libavutil/pixdesc.h>
+ #include <libavutil/audioconvert.h>
+
+ #include <libavcodec/avcodec.h>
+
+ #include <libavformat/avformat.h>
+ #include <libavformat/avio.h>
+}
+
+/* ********************************************************************************
+ Create define depending on libav version to control code creation
+ ********************************************************************************
+ VERSIONS:
+ ---------
+ OPERATING SYSTEM DATE BINARY BIN.VERSION LIBAVUTIL LIBAVCODEC LIBAVFORMAT LIBAVDEVICE LIBAVFILTER LIBSWSCALE
+ ---------------- ---------- ------ ----------- ---------- ---------- ----------- ----------- ----------- ----------
+ WINDOWS LIBAV_08 avconv 0.8-1036 51.25.0 54.8.0 54.2.0 53.2.0 2.15.0 2.1.0
+
+ UBUNTU 12.04 LIBAV_08 avconv 0.8.1-4 51.22.1 53.35.0 53.21.0 53.2.0 2.15.0 2.1.0
+ UBUNTU 11.10 LIBAV_08 ffmpeg 0.7.3-4 51.7.0 53.6.0 53.3.0 53.0.0 2.4.0 2.0.0
+
+ OPENSUSE 12.1 LIBAV_08 ffmpeg 0.10.2 51.35.100 53.61.100 53.32.100 53.4.100 2.61.100 2.1.100
+ OPENSUSE 11.4 LIBAV_08 ffmpeg 0.10.2 51.35.100 53.61.100 53.32.100 53.4.100 2.61.100 2.1.100
+
+ FEDORA 16 LIBAV_07 ffmpeg 0.8.10 51.9.1 53.8.0 53.5.0 53.1.1 2.23.0 2.0.0
+
+ MAGEIA 2 LIBAV_08 ffmpeg 0.10.2 51.35.100 53.61.100 53.32.100 53.4.100 2.61.100 2.1.100
+
+*************************************************************************************************************************** */
+
+// LIBAV 0.7 = LIBAVUTIL from 51.7 to 51.21 + LIBAVCODEC from 53.6 to 53.34 + LIBAVFORMAT from 53.3 to 53.20
+#if ( ( (LIBAVUTIL_VERSION_MAJOR ==51)&&(LIBAVUTIL_VERSION_MINOR >=7)&&(LIBAVUTIL_VERSION_MINOR <=21) ) && \
+ ( (LIBAVCODEC_VERSION_MAJOR ==53)&&(LIBAVCODEC_VERSION_MINOR >=6)&&(LIBAVCODEC_VERSION_MINOR <=34) ) && \
+ ( (LIBAVFORMAT_VERSION_MAJOR ==53)&&(LIBAVFORMAT_VERSION_MINOR>=3)&&(LIBAVFORMAT_VERSION_MINOR<=20) ) )
+
+ #define LIBAV_07 // LIBAV 0.7
+
+ #define LIBAV_FFMPEG // FFMPEG binary encoder support
+ #define LIBAV_TAGCHAPTERS // Support for TAG & CHAPTERS
+
+// LIBAV 0.8 = LIBAVUTIL from 51.22 + LIBAVCODEC from 53.35 to 54.20 + LIBAVFORMAT from 53.21 to 54.20
+#elif ( ( (LIBAVUTIL_VERSION_MAJOR==51)&&(LIBAVUTIL_VERSION_MINOR>=22) ) && \
+ ( ((LIBAVCODEC_VERSION_MAJOR==53)&&(LIBAVCODEC_VERSION_MINOR>=35)) || ((LIBAVCODEC_VERSION_MAJOR==54)&&(LIBAVCODEC_VERSION_MINOR<20)) ) && \
+ ( ((LIBAVFORMAT_VERSION_MAJOR==53)&&(LIBAVFORMAT_VERSION_MINOR>=21)) || ((LIBAVFORMAT_VERSION_MAJOR==54)&&(LIBAVFORMAT_VERSION_MINOR<20)) ) )
+
+ #define LIBAV_08 // LIBAV 0.8
+
+ #define LIBAV_FFMPEG // FFMPEG binary encoder support
+ #define LIBAV_AVCONV // AVCONV binary encoder support
+ #define LIBAV_TAGCHAPTERS // Support for TAG & CHAPTERS
+
+ #ifdef CODEC_FLAG2_SHOW_ALL
+// #define LIBAV_AVCHD // Support for AVCHD format (.mts)
+ #endif
+
+#endif
+
+//****************************************************************************************************************************************************************
+
+#define CONFIGFILENAME "Devices"
+#define CONFIGDOCNAME "DEVICES"
+#define CONFIGROOTNAME "Configuration"
+
+// Export mode definition
+#define EXPORTMODE_ADVANCED 0
+#define ICON_ADVANCED ":/img/render.png"
+#define MODE_SMARTPHONE 1
+#define ICON_SMARTPHONE ":/img/Smartphone.png"
+#define MODE_MULTIMEDIASYS 2
+#define ICON_MULTIMEDIASYS ":/img/tv.png"
+#define MODE_FORTHEWEB 3
+#define ICON_FORTHEWEB ":/img/Internet.png"
+#define MODE_LOSSLESS 4
+#define ICON_LOSSLESS ":/img/Lossless.png"
+
+//============================================
+
+// Standard definition
+#define STANDARD_PAL 0
+#define STANDARD_NTSC 1
+
+// Image size definition
+#define NBR_SIZEDEF 9
+#define SIZE_QVGA 0
+#define SIZE_HVGA 1
+#define SIZE_VGA 2
+#define SIZE_DVD 3
+#define SIZE_WVGA 4
+#define SIZE_XGA 5
+#define SIZE_720P 6
+#define SIZE_1080p 7
+#define SIZE_RIM240 8
+
+//============================================
+// Image format definition
+//============================================
+struct sIMAGEDEF {
+ int Width; // Width
+ int Height; // Height
+ int PARNUM; // Pixel aspect ratio (num)
+ int PARDEN; // Pixel aspect ratio (den)
+ double dFPS; // Frame per second
+ char FPS[20]; // Frame per second
+ char Name[100]; // Display name
+ int Extend; // Padding for cinema mode with DVD
+};
+extern sIMAGEDEF DefImageFormat [2][3][NBR_SIZEDEF]; // Image format definition
+extern QString IMAGEDEFGENNAME[2][NBR_SIZEDEF]; // Image format generic name
+extern int ORDERIMAGENAME[NBR_SIZEDEF]; // Display order of image size
+
+//============================================
+// Video codec definitions
+//============================================
+#define VCODEC_MJPEG 0 // Motion JPEG
+#define VCODECST_MJPEG "MJPEG" // String Motion JPEG
+#define VCODEC_MPEG 1 // MPEG-2 video
+#define VCODECST_MPEG "MPEG" // String MPEG-2 video
+#define VCODEC_MPEG4 2 // DivX/XVid/MPEG-4
+#define VCODECST_MPEG4 "MPEG4" // String DivX/XVid/MPEG-4
+#define VCODEC_H264HQ 3 // H.264 AVC/MPEG-4 AVC + VPRE libx264-hq.ffpreset
+#define VCODECST_H264HQ "H264HQ" // String H.264 AVC/MPEG-4 AVC + VPRE libx264-hq.ffpreset
+#define VCODEC_H264PQ 4 // H.264 AVC/MPEG-4 AVC + VPRE libx264-hq.ffpreset ********
+#define VCODECST_H264PQ "H264PQ" // String H.264 AVC/MPEG-4 AVC + VPRE libx264-hq.ffpreset ********
+#define VCODEC_VP8 5 // WebM-VP8
+#define VCODECST_VP8 "VP8" // String WebM-VP8
+#define VCODEC_H263 6 // Flash Video / Sorenson H.263
+#define VCODECST_H263 "H263" // String Flash Video / Sorenson H.263
+#define VCODEC_THEORA 7 // Theora
+#define VCODECST_THEORA "THEORA" // String Theora
+#define VCODEC_X264LL 8 // x264 lossless + VPRE libx264-lossless.ffpreset ********
+#define VCODECST_X264LL "X264LL" // String x264 lossless ********
+
+struct sVideoCodecDef {
+ bool IsFind; // true if codec is supported by installed version of libav
+ int Codec_id; // libav codec id
+ int FFD_VCODEC; // ffDiaporama video codec id
+ char FFD_VCODECST[10]; // ffDiaporama video codec id string
+ char ShortName[50]; // short name of the codec (copy of the libav value)
+ char LongName[200]; // long name of the codec (define by this application)
+ char PossibleBitrate[200]; // list of possible compression bit rate (define by this application)
+ char DefaultBitrate[NBR_SIZEDEF][10]; // prefered compression bit rate for each possible size
+};
+#define NBR_VIDEOCODECDEF 9
+extern struct sVideoCodecDef VIDEOCODECDEF[NBR_VIDEOCODECDEF];
+
+//============================================
+// Audio codec definitions
+//============================================
+struct sAudioCodecDef {
+ bool IsFind; // true if codec is supported by installed version of libav
+ int Codec_id; // libav codec id
+ char ShortName[50]; // short name of the codec (copy of the libav value)
+ char LongName[200]; // long name of the codec (define by this application)
+ char PossibleBitrate2CH[200]; // list of possible compression bit rate in stereo mode (define by this application)
+ bool Possibly6CH; // true if this codec support 5.1/6 chanels mode
+ char PossibleBitrate6CH[200]; // list of possible compression bit rate in 5.1/6 chanels mode (define by this application)
+ char Default[10]; // prefered compression bit rate
+};
+#define NBR_AUDIOCODECDEF 9
+extern struct sAudioCodecDef AUDIOCODECDEF[NBR_AUDIOCODECDEF];
+
+//============================================
+// Format container definitions
+//============================================
+struct sFormatDef {
+ bool IsFind; // true if format container is supported by installed version of libav
+ char ShortName[50]; // short name of the format container (copy of the libav value)
+ char FileExtension[10]; // prefered file extension for the format container (define by this application)
+ char LongName[200]; // long name of the codec (define by this application)
+ char PossibleVideoCodec[200]; // list of possible video codec for this format container (using VCODECST String define)
+ char PossibleAudioCodec[200]; // list of possible audio codec for this format container (define by this application)
+};
+#define NBR_FORMATDEF 10
+extern struct sFormatDef FORMATDEF[NBR_FORMATDEF];
+
+#define NBR_AUDIOFORMATDEF 5
+extern struct sFormatDef AUDIOFORMATDEF[NBR_AUDIOFORMATDEF];
+
+//============================================
+// Device model class definition
+//============================================
+
+class cDeviceModelDef {
+public:
+ bool FromGlobalConf; // true if device model is defined in global config file
+ bool FromUserConf; // true if device model is defined in user config file
+ bool IsFind; // true if device model format is supported by installed version of ffmpeg
+ int DeviceIndex; // Device number index key
+ QString DeviceName; // long name for the device model
+ int DeviceType; // device type
+ int DeviceSubtype; // device Subtype
+ int Standard; // standard : PAL/NTSC
+ int FileFormat; // sFormatDef number
+ int ImageSize; // DefImageFormat number
+ int VideoCodec; // sVideoCodecDef number
+ int VideoBitrate; // Bitrate number in sVideoCodecDef
+ int AudioCodec; // sAudioCodecDef number
+ int AudioBitrate; // Bitrate number in sAudioCodecDef
+
+ // Save value to be able to reset to default
+ QString BckDeviceName; // long name for the device model
+ int BckDeviceType; // device type
+ int BckDeviceSubtype; // device Subtype
+ int BckStandard; // standard : PAL/NTSC
+ int BckFileFormat; // sFormatDef number
+ int BckImageSize; // DefImageFormat number
+ int BckVideoCodec; // sVideoCodecDef number
+ int BckVideoBitrate; // Bitrate number in sVideoCodecDef
+ int BckAudioCodec; // sAudioCodecDef number
+ int BckAudioBitrate; // Bitrate number in sAudioCodecDef
+
+ cDeviceModelDef(bool IsGlobalConf,int IndexKey);
+ ~cDeviceModelDef();
+
+ virtual void SaveToXML(QDomElement &domDocument,QString ElementName);
+ virtual bool LoadFromXML(QDomElement domDocument,QString ElementName,bool IsUserConfigFile);
+};
+
+//============================================
+// Device model list definition
+//============================================
+
+class cDeviceModelList {
+public:
+ QList<cDeviceModelDef *> RenderDeviceModel; // List of known rendering device model
+ QStringList TranslatedRenderType; // Translated render device type
+ QStringList TranslatedRenderSubtype[4]; // Translated render device subtype
+
+ cDeviceModelList();
+ ~cDeviceModelList();
+
+ virtual bool LoadConfigurationFile(QString ConfigFileName,cBaseApplicationConfig::LoadConfigFileType TypeConfigFile);
+ virtual bool SaveConfigurationFile(QString ConfigFileName);
+ virtual bool LoadFromXML(QDomElement domDocument,cBaseApplicationConfig::LoadConfigFileType TypeConfigFile);
+
+ virtual void TranslatRenderType();
+ virtual bool Initffmpeg(QString &BinaryEncoderPath);
+};
+
+#endif // CDEVICEMODELDEF_H
diff --git a/src/sharedfiles/cDriveList.cpp b/src/engine/cDriveList.cpp
similarity index 100%
rename from src/sharedfiles/cDriveList.cpp
rename to src/engine/cDriveList.cpp
diff --git a/src/sharedfiles/cDriveList.h b/src/engine/cDriveList.h
similarity index 100%
rename from src/sharedfiles/cDriveList.h
rename to src/engine/cDriveList.h
diff --git a/src/sharedfiles/cFilterTransformObject.cpp b/src/engine/cFilterTransformObject.cpp
similarity index 100%
rename from src/sharedfiles/cFilterTransformObject.cpp
rename to src/engine/cFilterTransformObject.cpp
diff --git a/src/sharedfiles/cFilterTransformObject.h b/src/engine/cFilterTransformObject.h
similarity index 100%
rename from src/sharedfiles/cFilterTransformObject.h
rename to src/engine/cFilterTransformObject.h
diff --git a/src/sharedfiles/cLuLoImageCache.cpp b/src/engine/cLuLoImageCache.cpp
similarity index 100%
rename from src/sharedfiles/cLuLoImageCache.cpp
rename to src/engine/cLuLoImageCache.cpp
diff --git a/src/sharedfiles/cLuLoImageCache.h b/src/engine/cLuLoImageCache.h
similarity index 100%
rename from src/sharedfiles/cLuLoImageCache.h
rename to src/engine/cLuLoImageCache.h
diff --git a/src/sharedfiles/cSaveWindowPosition.cpp b/src/engine/cSaveWindowPosition.cpp
similarity index 100%
rename from src/sharedfiles/cSaveWindowPosition.cpp
rename to src/engine/cSaveWindowPosition.cpp
diff --git a/src/sharedfiles/cSaveWindowPosition.h b/src/engine/cSaveWindowPosition.h
similarity index 100%
rename from src/sharedfiles/cSaveWindowPosition.h
rename to src/engine/cSaveWindowPosition.h
diff --git a/src/sharedfiles/cSoundBlockList.cpp b/src/engine/cSoundBlockList.cpp
similarity index 100%
rename from src/sharedfiles/cSoundBlockList.cpp
rename to src/engine/cSoundBlockList.cpp
diff --git a/src/engine/cSoundBlockList.h b/src/engine/cSoundBlockList.h
new file mode 100755
index 0000000..b5ceda7
--- /dev/null
+++ b/src/engine/cSoundBlockList.h
@@ -0,0 +1,62 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef CSOUNDBLOCKLIST_H
+#define CSOUNDBLOCKLIST_H
+
+// Basic inclusions (common to all files)
+#include "_GlobalDefines.h"
+
+// Include some additional standard class
+#include <QList>
+
+#include "cDeviceModelDef.h" // Contains libav include
+
+// Base object for sound manipulation
+class cSoundBlockList {
+public:
+ int SoundPacketSize; // Size of a packet (depending on FPS)
+ int NbrPacketForFPS; // Number of packet for FPS
+ QList<int16_t *> List; // List of sound packet
+ uint8_t *TempData; // Buffer for stocking temporary data (when decoding data are less than a packet)
+ int64_t CurrentTempSize; // Amount of data in the TempData buffer
+ double dDuration; // Duration of a packet (in time)
+
+ int64_t Channels; // Number of channels
+ int64_t SamplingRate; // Sampling rate (frequency)
+ int64_t SampleBytes; // Size of a sample (16 bits=2 bytes)
+ double WantedDuration; // Duration wanted depending on FPS
+ double FPS;
+
+ cSoundBlockList();
+ ~cSoundBlockList();
+
+ virtual void ClearList(); // Clear the list (make av_free of each packet)
+ virtual int16_t *DetachFirstPacket(); // Detach the first packet of the list (do not make av_free)
+ virtual void AppendPacket(int16_t *PacketToAdd); // Append a packet to the end of the list
+ virtual void AppendNullSoundPacket(); // Append a packet of null sound to the end of the list
+ virtual void MixAppendPacket(int16_t *PacketA,int16_t *PacketB); // Append a packet to the end of the list by mixing 2 packet
+ virtual void AppendData(int16_t *Data,int64_t DataLen); // Append data to the list creating packet as necessary and filling TempData
+ virtual void SetFPS(double FPS); // Prepare and calculate values for a frame rate
+ virtual void SetFrameSize(int FrameSize); // Prepare and calculate values for a frame size
+ virtual void ApplyVolume(int PacketNumber,double VolumeFactor); // Adjust volume
+};
+
+#endif // CSOUNDBLOCKLIST_H
diff --git a/src/ffDiaporama/DlgAbout.cpp b/src/ffDiaporama/DlgAbout.cpp
deleted file mode 100755
index b19364f..0000000
--- a/src/ffDiaporama/DlgAbout.cpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "DlgAbout.h"
-#include "ui_DlgAbout.h"
-
-#include "_ApplicationDefinitions.h"
-
-//====================================================================================================================
-
-DlgAbout::DlgAbout(QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent):
- QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent),ui(new Ui::DlgAbout) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::DlgAbout");
-
- ui->setupUi(this);
- OkBt =ui->OKBT;
- //CancelBt=;
- //HelpBt =ui->HelpBT;
-}
-
-//====================================================================================================================
-
-DlgAbout::~DlgAbout() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::~DlgAbout");
-
- delete ui;
-}
-
-//====================================================================================================================
-// Initialise dialog
-
-void DlgAbout::DoInitDialog() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::DoInitDialog");
-
- ui->ApplicationReleaseLabel->setText(CurrentAppVersion);
- ui->SystemInfoED->setText(SystemProperties);
- ui->ApplicationNameLabel->setText(QString(APPLICATION_VERSION));
- ui->tabWidget->setCurrentIndex(0);
- connect(ui->QtWebSiteBT,SIGNAL(clicked()),this,SLOT(WQtWebSite()));
- connect(ui->ffMPEGWebSiteBT,SIGNAL(clicked()),this,SLOT(ffMPEGWebSite()));
- connect(ui->SDLWebSiteBT,SIGNAL(clicked()),this,SLOT(SDLWebSite()));
- connect(ui->EXIV2WebSiteBT,SIGNAL(clicked()),this,SLOT(EXIV2WebSite()));
- connect(ui->FMTFWebSiteBT,SIGNAL(clicked()),this,SLOT(FMTFWebSite()));
- connect(ui->CrystalWebSiteBT,SIGNAL(clicked()),this,SLOT(CrystalWebSite()));
- connect(ui->CC2WebSiteBT,SIGNAL(clicked()),this,SLOT(CC2WebSite()));
- connect(ui->TAGLibWebSiteBT,SIGNAL(clicked()),this,SLOT(TAGLibWebSite()));
-}
-
-//====================================================================================================================
-
-void DlgAbout::WQtWebSite() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::WQtWebSite");
-
- QDesktopServices::openUrl(QUrl("http://qt.nokia.com/products/"));
-}
-
-//====================================================================================================================
-
-void DlgAbout::ffMPEGWebSite() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::ffMPEGWebSite");
-
- QDesktopServices::openUrl(QUrl("http://www.ffmpeg.org/"));
-}
-
-//====================================================================================================================
-
-void DlgAbout::EXIV2WebSite() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::EXIV2WebSite");
-
- QDesktopServices::openUrl(QUrl("http://www.exiv2.org/"));
-}
-
-//====================================================================================================================
-
-void DlgAbout::FMTFWebSite() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::FMTFWebSite");
-
- QDesktopServices::openUrl(QUrl("http://ksquirrel.sourceforge.net/subprojects.php"));
-}
-
-//====================================================================================================================
-
-void DlgAbout::CrystalWebSite() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::CrystalWebSite");
-
- QDesktopServices::openUrl(QUrl("http://www.everaldo.com/crystal/"));
-}
-
-//====================================================================================================================
-
-void DlgAbout::CC2WebSite() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::CC2WebSite");
-
- QDesktopServices::openUrl(QUrl("http://creativecommons.org/"));
-}
-
-//====================================================================================================================
-void DlgAbout::SDLWebSite() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::SDLWebSite");
-
- QDesktopServices::openUrl(QUrl("http://www.libsdl.org/"));
-}
-
-//====================================================================================================================
-
-void DlgAbout::TAGLibWebSite() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::TAGLibWebSite");
-
- QDesktopServices::openUrl(QUrl("http://developer.kde.org/~wheeler/taglib.html"));
-}
diff --git a/src/ffDiaporama/DlgAbout.h b/src/ffDiaporama/DlgAbout.h
deleted file mode 100755
index 297d600..0000000
--- a/src/ffDiaporama/DlgAbout.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef DLGABOUT_H
-#define DLGABOUT_H
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-#include "../sharedfiles/_QCustomDialog.h"
-
-// Include some additional standard class
-#include <QDialog>
-
-namespace Ui {
- class DlgAbout;
-}
-
-class DlgAbout : public QCustomDialog {
-Q_OBJECT
-public:
- explicit DlgAbout(QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent=0);
- ~DlgAbout();
-
- // function to be overloaded
- virtual void DoInitDialog(); // Initialise dialog
- virtual void DoAccept() {/*Nothing to do*/} // Call when user click on Ok button
- virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button
- virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo
- virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button
-
-private slots:
- void WQtWebSite();
- void ffMPEGWebSite();
- void SDLWebSite();
- void EXIV2WebSite();
- void FMTFWebSite();
- void CrystalWebSite();
- void CC2WebSite();
- void TAGLibWebSite();
-
-private:
- Ui::DlgAbout *ui;
-};
-
-#endif // DLGABOUT_H
diff --git a/src/ffDiaporama/DlgAbout.ui b/src/ffDiaporama/DlgAbout.ui
deleted file mode 100755
index e33b9b6..0000000
--- a/src/ffDiaporama/DlgAbout.ui
+++ /dev/null
@@ -1,786 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>DlgAbout</class>
- <widget class="QDialog" name="DlgAbout">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>600</width>
- <height>400</height>
- </rect>
- </property>
- <property name="minimumSize">
- <size>
- <width>600</width>
- <height>400</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- </font>
- </property>
- <property name="windowTitle">
- <string>About</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>4</number>
- </property>
- <property name="margin">
- <number>8</number>
- </property>
- <item>
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="label">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>128</width>
- <height>128</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>128</width>
- <height>128</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/logo_big.png</pixmap>
- </property>
- <property name="scaledContents">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="0" column="1" rowspan="4">
- <layout class="QVBoxLayout" name="verticalLayout_2">
- <property name="leftMargin">
- <number>10</number>
- </property>
- <item>
- <widget class="QTabWidget" name="tabWidget">
- <property name="currentIndex">
- <number>1</number>
- </property>
- <widget class="QWidget" name="tab_2">
- <attribute name="title">
- <string>Licence</string>
- </attribute>
- <layout class="QVBoxLayout" name="verticalLayout_4">
- <property name="spacing">
- <number>4</number>
- </property>
- <property name="margin">
- <number>4</number>
- </property>
- <item>
- <widget class="QLabel" name="label_18">
- <property name="text">
- <string>Copyright (C) 2011-2012 Dominique Levray</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_19">
- <property name="text">
- <string>This software is licensed under the GPL version 2 :</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPlainTextEdit" name="plainTextEdit">
- <property name="plainText">
- <string notr="true">GNU GENERAL PUBLIC LICENSE
-
-Version 2, June 1991
-
-Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
-
-Preamble
-The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
-When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
-To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
-For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
-We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
-Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
-Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
-The precise terms and conditions for copying, distribution and modification follow.
-
-GNU GENERAL PUBLIC LICENSE
-
-TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
-Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
-
-1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
-You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
-
-2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
-a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
-b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
-c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
-These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
-Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
-In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
-
-3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
-a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
-b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
-c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
-The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
-If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
-
-4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
-
-5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
-
-6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
-
-7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
-If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
-It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
-This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
-
-8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
-
-9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
-Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
-
-10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
-
-NO WARRANTY
-
-11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-END OF TERMS AND CONDITIONS
-How to Apply These Terms to Your New Programs
-If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
-To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
-<one line to give the program's name and a brief idea of what it does.>
-Copyright (C) <year> <name of author>
-This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
-This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-Also add information on how to contact you by electronic and paper mail.
-If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
-Gnomovision version 69, Copyright (C) year name of author
-Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
-The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
-You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
-Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-`Gnomovision' (which makes passes at compilers) written by James Hacker.
-<signature of Ty Coon>, 1 April 1989
-Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.</string>
- </property>
- <property name="textInteractionFlags">
- <set>Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="tab_3">
- <attribute name="title">
- <string>Credits</string>
- </attribute>
- <layout class="QVBoxLayout" name="verticalLayout_5">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QScrollArea" name="scrollArea">
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="horizontalScrollBarPolicy">
- <enum>Qt::ScrollBarAsNeeded</enum>
- </property>
- <property name="widgetResizable">
- <bool>true</bool>
- </property>
- <widget class="QWidget" name="scrollAreaWidgetContents">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>-77</y>
- <width>495</width>
- <height>537</height>
- </rect>
- </property>
- <layout class="QGridLayout" name="gridLayout_2">
- <property name="margin">
- <number>4</number>
- </property>
- <property name="spacing">
- <number>4</number>
- </property>
- <item row="0" column="0" colspan="3">
- <widget class="QLabel" name="label_2">
- <property name="font">
- <font>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>This application was developped using Open Source version of Qt 4.7 SDK</string>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>WEB site & licence :</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_4">
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>20</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- <item row="2" column="0" colspan="3">
- <widget class="QLabel" name="label_5">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Video decoding and encoding engines are based on ffmpeg</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QLabel" name="label_7">
- <property name="text">
- <string>WEB site & licence :</string>
- </property>
- </widget>
- </item>
- <item row="4" column="0" colspan="3">
- <widget class="QLabel" name="label_8">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Sound engine for preview is based on SDL - Simple DirectMedia Layer</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="5" column="1">
- <widget class="QLabel" name="label_9">
- <property name="text">
- <string>WEB site & licence :</string>
- </property>
- </widget>
- </item>
- <item row="6" column="0" colspan="3">
- <widget class="QLabel" name="label_10">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Image exif decoding is based on Exiv2 - Image metadata library and tools</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="7" column="1">
- <widget class="QLabel" name="label_11">
- <property name="text">
- <string>WEB site & licence :</string>
- </property>
- </widget>
- </item>
- <item row="16" column="0" colspan="3">
- <widget class="QLabel" name="label_12">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Other images and graphical material are using Creative Common Licence 2</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="18" column="1">
- <widget class="QLabel" name="label_13">
- <property name="text">
- <string>C.C. WEB site :</string>
- </property>
- </widget>
- </item>
- <item row="14" column="1">
- <widget class="QLabel" name="label_15">
- <property name="text">
- <string>WEB site & licence :</string>
- </property>
- </widget>
- </item>
- <item row="13" column="0" colspan="3">
- <widget class="QLabel" name="label_14">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Many icons are from the Crystal Project</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="10" column="0" colspan="3">
- <widget class="QLabel" name="label_16">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Image effects are based on fmt_filters</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="12" column="1">
- <widget class="QLabel" name="label_17">
- <property name="text">
- <string>WEB site & licence :</string>
- </property>
- </widget>
- </item>
- <item row="19" column="2">
- <spacer name="verticalSpacer_2">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="1" column="2">
- <widget class="QPushButton" name="QtWebSiteBT">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">http://qt.nokia.com/products/</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
- </property>
- </widget>
- </item>
- <item row="3" column="2">
- <widget class="QPushButton" name="ffMPEGWebSiteBT">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">http://www.ffmpeg.org/</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
- </property>
- </widget>
- </item>
- <item row="5" column="2">
- <widget class="QPushButton" name="SDLWebSiteBT">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">http://www.libsdl.org/</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
- </property>
- </widget>
- </item>
- <item row="7" column="2">
- <widget class="QPushButton" name="EXIV2WebSiteBT">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">http://www.exiv2.org/</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
- </property>
- </widget>
- </item>
- <item row="12" column="2">
- <widget class="QPushButton" name="FMTFWebSiteBT">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">http://ksquirrel.sourceforge.net/subprojects.php</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
- </property>
- </widget>
- </item>
- <item row="14" column="2">
- <widget class="QPushButton" name="CrystalWebSiteBT">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">http://www.everaldo.com/crystal/</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
- </property>
- </widget>
- </item>
- <item row="18" column="2">
- <widget class="QPushButton" name="CC2WebSiteBT">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">http://creativecommons.org/</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
- </property>
- </widget>
- </item>
- <item row="8" column="0" colspan="3">
- <widget class="QLabel" name="label_20">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>TAG managment based on TAGLib</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="9" column="1">
- <widget class="QLabel" name="label_21">
- <property name="text">
- <string>WEB site & licence :</string>
- </property>
- </widget>
- </item>
- <item row="9" column="2">
- <widget class="QPushButton" name="TAGLibWebSiteBT">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">http://developer.kde.org/~wheeler/taglib.html</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>SubProjects/ffDiaporamaMMFiler/:/img/Internet.png</normaloff>SubProjects/ffDiaporamaMMFiler/:/img/Internet.png</iconset>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="tab_4">
- <attribute name="title">
- <string>System informations</string>
- </attribute>
- <layout class="QVBoxLayout" name="verticalLayout_6">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QTextEdit" name="SystemInfoED">
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="lineWrapMode">
- <enum>QTextEdit::NoWrap</enum>
- </property>
- <property name="readOnly">
- <bool>true</bool>
- </property>
- <property name="html">
- <string notr="true"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
-<html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html></string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- </layout>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="ApplicationNameLabel">
- <property name="font">
- <font>
- <family>Serif</family>
- <pointsize>11</pointsize>
- <stylestrategy>PreferAntialias</stylestrategy>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: black;</string>
- </property>
- <property name="text">
- <string notr="true">TextLabel</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="ApplicationReleaseLabel">
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- <stylestrategy>PreferAntialias</stylestrategy>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: black;</string>
- </property>
- <property name="text">
- <string notr="true">TextLabel</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="Line" name="line">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="OKBT">
- <property name="text">
- <string>&Ok</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/src/ffDiaporama/DlgAbout/DlgAbout.cpp b/src/ffDiaporama/DlgAbout/DlgAbout.cpp
new file mode 100755
index 0000000..6e1b0c3
--- /dev/null
+++ b/src/ffDiaporama/DlgAbout/DlgAbout.cpp
@@ -0,0 +1,127 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "DlgAbout.h"
+#include "ui_DlgAbout.h"
+
+#include "../_ApplicationDefinitions.h"
+
+//====================================================================================================================
+
+DlgAbout::DlgAbout(QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent):
+ QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent),ui(new Ui::DlgAbout) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::DlgAbout");
+
+ ui->setupUi(this);
+ OkBt =ui->OKBT;
+ //CancelBt=;
+ //HelpBt =ui->HelpBT;
+}
+
+//====================================================================================================================
+
+DlgAbout::~DlgAbout() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::~DlgAbout");
+
+ delete ui;
+}
+
+//====================================================================================================================
+// Initialise dialog
+
+void DlgAbout::DoInitDialog() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::DoInitDialog");
+
+ ui->ApplicationReleaseLabel->setText(CurrentAppVersion);
+ ui->SystemInfoED->setText(SystemProperties);
+ ui->ApplicationNameLabel->setText(QString(APPLICATION_VERSION));
+ ui->tabWidget->setCurrentIndex(0);
+ connect(ui->QtWebSiteBT,SIGNAL(clicked()),this,SLOT(WQtWebSite()));
+ connect(ui->ffMPEGWebSiteBT,SIGNAL(clicked()),this,SLOT(ffMPEGWebSite()));
+ connect(ui->SDLWebSiteBT,SIGNAL(clicked()),this,SLOT(SDLWebSite()));
+ connect(ui->EXIV2WebSiteBT,SIGNAL(clicked()),this,SLOT(EXIV2WebSite()));
+ connect(ui->FMTFWebSiteBT,SIGNAL(clicked()),this,SLOT(FMTFWebSite()));
+ connect(ui->CrystalWebSiteBT,SIGNAL(clicked()),this,SLOT(CrystalWebSite()));
+ connect(ui->CC2WebSiteBT,SIGNAL(clicked()),this,SLOT(CC2WebSite()));
+ connect(ui->TAGLibWebSiteBT,SIGNAL(clicked()),this,SLOT(TAGLibWebSite()));
+}
+
+//====================================================================================================================
+
+void DlgAbout::WQtWebSite() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::WQtWebSite");
+
+ QDesktopServices::openUrl(QUrl("http://qt.nokia.com/products/"));
+}
+
+//====================================================================================================================
+
+void DlgAbout::ffMPEGWebSite() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::ffMPEGWebSite");
+
+ QDesktopServices::openUrl(QUrl("http://libav.org/index.html"));
+}
+
+//====================================================================================================================
+
+void DlgAbout::EXIV2WebSite() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::EXIV2WebSite");
+
+ QDesktopServices::openUrl(QUrl("http://www.exiv2.org/"));
+}
+
+//====================================================================================================================
+
+void DlgAbout::FMTFWebSite() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::FMTFWebSite");
+
+ QDesktopServices::openUrl(QUrl("http://ksquirrel.sourceforge.net/subprojects.php"));
+}
+
+//====================================================================================================================
+
+void DlgAbout::CrystalWebSite() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::CrystalWebSite");
+
+ QDesktopServices::openUrl(QUrl("http://www.everaldo.com/crystal/"));
+}
+
+//====================================================================================================================
+
+void DlgAbout::CC2WebSite() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::CC2WebSite");
+
+ QDesktopServices::openUrl(QUrl("http://creativecommons.org/"));
+}
+
+//====================================================================================================================
+void DlgAbout::SDLWebSite() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::SDLWebSite");
+
+ QDesktopServices::openUrl(QUrl("http://www.libsdl.org/"));
+}
+
+//====================================================================================================================
+
+void DlgAbout::TAGLibWebSite() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::TAGLibWebSite");
+
+ QDesktopServices::openUrl(QUrl("http://developer.kde.org/~wheeler/taglib.html"));
+}
diff --git a/src/ffDiaporama/DlgAbout/DlgAbout.h b/src/ffDiaporama/DlgAbout/DlgAbout.h
new file mode 100755
index 0000000..1e89b4d
--- /dev/null
+++ b/src/ffDiaporama/DlgAbout/DlgAbout.h
@@ -0,0 +1,59 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef DLGABOUT_H
+#define DLGABOUT_H
+
+// Basic inclusions (common to all files)
+#include "../../engine/_GlobalDefines.h"
+#include "../../engine/_QCustomDialog.h"
+
+namespace Ui {
+ class DlgAbout;
+}
+
+class DlgAbout : public QCustomDialog {
+Q_OBJECT
+public:
+ explicit DlgAbout(QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent=0);
+ ~DlgAbout();
+
+ // function to be overloaded
+ virtual void DoInitDialog(); // Initialise dialog
+ virtual void DoAccept() {/*Nothing to do*/} // Call when user click on Ok button
+ virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button
+ virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo
+ virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button
+
+private slots:
+ void WQtWebSite();
+ void ffMPEGWebSite();
+ void SDLWebSite();
+ void EXIV2WebSite();
+ void FMTFWebSite();
+ void CrystalWebSite();
+ void CC2WebSite();
+ void TAGLibWebSite();
+
+private:
+ Ui::DlgAbout *ui;
+};
+
+#endif // DLGABOUT_H
diff --git a/src/ffDiaporama/DlgAbout/DlgAbout.ui b/src/ffDiaporama/DlgAbout/DlgAbout.ui
new file mode 100755
index 0000000..a058dd5
--- /dev/null
+++ b/src/ffDiaporama/DlgAbout/DlgAbout.ui
@@ -0,0 +1,788 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DlgAbout</class>
+ <widget class="QDialog" name="DlgAbout">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>951</width>
+ <height>713</height>
+ </rect>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>600</width>
+ <height>400</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="windowTitle">
+ <string>About</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <property name="margin">
+ <number>8</number>
+ </property>
+ <item>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>128</width>
+ <height>128</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>128</width>
+ <height>128</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/logo_big.png</pixmap>
+ </property>
+ <property name="scaledContents">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="0" column="1" rowspan="4">
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <property name="leftMargin">
+ <number>10</number>
+ </property>
+ <item>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="currentIndex">
+ <number>1</number>
+ </property>
+ <widget class="QWidget" name="tab_2">
+ <attribute name="title">
+ <string>Licence</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <property name="margin">
+ <number>4</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_18">
+ <property name="text">
+ <string>Copyright (C) 2011-2012 Dominique Levray</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_19">
+ <property name="text">
+ <string>This software is licensed under the GPL version 2 :</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPlainTextEdit" name="plainTextEdit">
+ <property name="plainText">
+ <string notr="true">GNU GENERAL PUBLIC LICENSE
+
+Version 2, June 1991
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+Preamble
+The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
+When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
+To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
+For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
+We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
+Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
+Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
+The precise terms and conditions for copying, distribution and modification follow.
+
+GNU GENERAL PUBLIC LICENSE
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
+Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
+
+1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
+You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
+a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
+b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
+c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
+These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
+Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
+In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
+
+3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
+a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
+The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
+If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
+
+4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
+
+6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
+
+7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
+If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
+It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
+This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
+
+8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
+
+9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
+
+10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
+
+NO WARRANTY
+
+11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+END OF TERMS AND CONDITIONS
+How to Apply These Terms to Your New Programs
+If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
+To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
+<one line to give the program's name and a brief idea of what it does.>
+Copyright (C) <year> <name of author>
+This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
+This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+Also add information on how to contact you by electronic and paper mail.
+If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
+Gnomovision version 69, Copyright (C) year name of author
+Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
+The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
+You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
+Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+`Gnomovision' (which makes passes at compilers) written by James Hacker.
+<signature of Ty Coon>, 1 April 1989
+Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.</string>
+ </property>
+ <property name="textInteractionFlags">
+ <set>Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_3">
+ <attribute name="title">
+ <string>Credits</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_5">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QScrollArea" name="scrollArea">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="horizontalScrollBarPolicy">
+ <enum>Qt::ScrollBarAsNeeded</enum>
+ </property>
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>784</width>
+ <height>624</height>
+ </rect>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <property name="margin">
+ <number>4</number>
+ </property>
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <item row="0" column="0" colspan="3">
+ <widget class="QLabel" name="label_2">
+ <property name="font">
+ <font>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>This application was developed using Open Source version of Qt 4.8 SDK</string>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>WEB site & licence :</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="minimumSize">
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>20</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="3">
+ <widget class="QLabel" name="label_5">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Video decoding and encoding engines are based on libav</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>WEB site & licence :</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" colspan="3">
+ <widget class="QLabel" name="label_8">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Sound engine for preview is based on SDL - Simple DirectMedia Layer</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>WEB site & licence :</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0" colspan="3">
+ <widget class="QLabel" name="label_10">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Image exif decoding is based on Exiv2 - Image metadata library and tools</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="1">
+ <widget class="QLabel" name="label_11">
+ <property name="text">
+ <string>WEB site & licence :</string>
+ </property>
+ </widget>
+ </item>
+ <item row="16" column="0" colspan="3">
+ <widget class="QLabel" name="label_12">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Other images and graphical material are using Creative Common Licence 2</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="18" column="1">
+ <widget class="QLabel" name="label_13">
+ <property name="text">
+ <string>C.C. WEB site :</string>
+ </property>
+ </widget>
+ </item>
+ <item row="14" column="1">
+ <widget class="QLabel" name="label_15">
+ <property name="text">
+ <string>WEB site & licence :</string>
+ </property>
+ </widget>
+ </item>
+ <item row="13" column="0" colspan="3">
+ <widget class="QLabel" name="label_14">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Many icons are from the Crystal Project</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="10" column="0" colspan="3">
+ <widget class="QLabel" name="label_16">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Image effects are based on fmt_filters</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="12" column="1">
+ <widget class="QLabel" name="label_17">
+ <property name="text">
+ <string>WEB site & licence :</string>
+ </property>
+ </widget>
+ </item>
+ <item row="19" column="2">
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="1" column="2">
+ <widget class="QPushButton" name="QtWebSiteBT">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true">http://qt.nokia.com/products/</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QPushButton" name="ffMPEGWebSiteBT">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true">http://libav.org/index.html</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="2">
+ <widget class="QPushButton" name="SDLWebSiteBT">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true">http://www.libsdl.org/</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="2">
+ <widget class="QPushButton" name="EXIV2WebSiteBT">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true">http://www.exiv2.org/</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="12" column="2">
+ <widget class="QPushButton" name="FMTFWebSiteBT">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true">http://ksquirrel.sourceforge.net/subprojects.php</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="14" column="2">
+ <widget class="QPushButton" name="CrystalWebSiteBT">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true">http://www.everaldo.com/crystal/</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="18" column="2">
+ <widget class="QPushButton" name="CC2WebSiteBT">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true">http://creativecommons.org/</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="0" colspan="3">
+ <widget class="QLabel" name="label_20">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>TAG managment based on TAGLib</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="1">
+ <widget class="QLabel" name="label_21">
+ <property name="text">
+ <string>WEB site & licence :</string>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="2">
+ <widget class="QPushButton" name="TAGLibWebSiteBT">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true">http://developer.kde.org/~wheeler/taglib.html</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>SubProjects/ffDiaporamaMMFiler/:/img/Internet.png</normaloff>SubProjects/ffDiaporamaMMFiler/:/img/Internet.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_4">
+ <attribute name="title">
+ <string>System information</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_6">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QTextEdit" name="SystemInfoED">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="lineWrapMode">
+ <enum>QTextEdit::NoWrap</enum>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ <property name="html">
+ <string notr="true"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html></string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="ApplicationNameLabel">
+ <property name="font">
+ <font>
+ <family>Serif</family>
+ <pointsize>11</pointsize>
+ <stylestrategy>PreferAntialias</stylestrategy>
+ </font>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">color: black;</string>
+ </property>
+ <property name="text">
+ <string notr="true">TextLabel</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="ApplicationReleaseLabel">
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ <stylestrategy>PreferAntialias</stylestrategy>
+ </font>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">color: black;</string>
+ </property>
+ <property name="text">
+ <string notr="true">TextLabel</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="OKBT">
+ <property name="text">
+ <string>&Ok</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="../../../RSCffDiaporama.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp b/src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp
new file mode 100755
index 0000000..b078f4a
--- /dev/null
+++ b/src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.cpp
@@ -0,0 +1,726 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "../DlgCheckConfig/DlgCheckConfig.h"
+#include "DlgManageDevices/DlgManageDevices.h"
+
+#include "DlgApplicationSettings.h"
+#include "ui_DlgApplicationSettings.h"
+
+#define ICON_GEOMETRY_IMAGE ":/img/Geometry_ImageLock.png"
+#define ICON_FRAMING_FULL ":/img/AdjustWH.png"
+#define ICON_FRAMING_WIDTH ":/img/AdjustW.png"
+#define ICON_FRAMING_HEIGHT ":/img/AdjustH.png"
+#define ICON_GLOBALCONF ":/img/db.png"
+#define ICON_USERCONF ":/img/db_update.png"
+
+DlgApplicationSettings::DlgApplicationSettings(QString HelpURL,cApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent)
+ :QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent),ui(new Ui::DlgApplicationSettings) {
+
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::DlgApplicationSettings");
+
+ this->ApplicationConfig=ApplicationConfig;
+
+ ui->setupUi(this);
+ CancelBt=ui->CancelBt;
+ OkBt =ui->OkBt;
+ HelpBt =ui->HelpBT;
+
+ IsDeviceChanged =false;
+ CurrentDevice =-1;
+ CurrentDeviceIndex =-1;
+}
+
+//====================================================================================================================
+// Initialise dialog
+
+void DlgApplicationSettings::DoInitDialog() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::DoInitDialog");
+
+ //********************************
+ // Application TAB
+ //********************************
+
+ // Application options
+ ui->RememberLastDirectoriesCH->setChecked(ApplicationConfig->RememberLastDirectories);
+ ui->RestoreWindowCH->setChecked(ApplicationConfig->RestoreWindow);
+ #ifdef Q_OS_WIN
+ ui->RasterModeCB->setVisible(false);
+ ui->SDLAudioModeCB->setVisible(false);
+ #elif defined(Q_OS_UNIX) && !defined(Q_OS_MACX)
+ ui->RasterModeCB->setChecked(ApplicationConfig->RasterMode);
+ #endif
+
+ #ifdef Q_OS_WIN
+ if (IsWindowsXP) {
+ ui->MemCacheProfilCB->setVisible(false);
+ ui->MemCacheProfilLabel->setVisible(false);
+ ui->MemCacheProfilSpacer->setVisible(false);
+ } else {
+ if (ApplicationConfig->MemCacheMaxValue<=qlonglong(256*1024*1024)) ui->MemCacheProfilCB->setCurrentIndex(0); else ui->MemCacheProfilCB->setCurrentIndex(1);
+ ui->MemCacheProfilCB->removeItem(3);
+ ui->MemCacheProfilCB->removeItem(2);
+ }
+ #else
+ if (ApplicationConfig->MemCacheMaxValue<=qlonglong(256*1024*1024)) ui->MemCacheProfilCB->setCurrentIndex(0);
+ else if (ApplicationConfig->MemCacheMaxValue<=qlonglong(512*1024*1024)) ui->MemCacheProfilCB->setCurrentIndex(1);
+ else if (ApplicationConfig->MemCacheMaxValue<=qlonglong(1024*1024*1024)) ui->MemCacheProfilCB->setCurrentIndex(2);
+ else ui->MemCacheProfilCB->setCurrentIndex(3);
+ #endif
+ ui->SDLAudioModeCB->setChecked(ApplicationConfig->SDLAudioOldMode);
+ ui->CacheTransformedImagesCB->setChecked(ApplicationConfig->AllowCachedTransfoImages);
+
+ // Preview Options
+ QString FPS=(QString("%1").arg(ApplicationConfig->PreviewFPS,0,'f')).trimmed();
+ while (FPS.endsWith('0')) FPS=FPS.left(FPS.length()-1);
+ if (FPS.endsWith('.')) FPS=FPS.left(FPS.length()-1);
+ ui->PreviewFrameRateCB->setCurrentIndex(ui->PreviewFrameRateCB->findText(FPS));
+ ui->ApplyTransfoDuringPreviewCB->setChecked(ApplicationConfig->ApplyTransfoPreview);
+ ui->SmoothImageDuringPreviewCB->setChecked(ApplicationConfig->Smoothing);
+ ui->QuickResamplingPreviewCB->setChecked(ApplicationConfig->QuickResamplingPreview);
+
+ // Editor options
+ ui->UnitCB->setCurrentIndex(ApplicationConfig->DisplayUnit);
+ ui->AppendObjectCB->setCurrentIndex(ApplicationConfig->AppendObject?1:0);
+ ui->SortFileCB->setChecked(ApplicationConfig->SortFile);
+ ui->AskUserToRemove->setChecked(ApplicationConfig->AskUserToRemove);
+
+ // Video options
+ ui->Crop1088To1080CB->setChecked(ApplicationConfig->Crop1088To1080);
+
+ //********************************
+ // Project TAB
+ //********************************
+
+ // Project options
+ ui->GeometryCombo->setCurrentIndex(ApplicationConfig->ImageGeometry);
+ ui->NoShotED->setValue(double(ApplicationConfig->NoShotDuration)/1000);
+ ui->StaticShotED->setValue(double(ApplicationConfig->FixedDuration)/1000);
+ ui->SpeedWaveCombo->setCurrentIndex(ApplicationConfig->SpeedWave);
+ ui->RandomTransitionRD->setChecked(ApplicationConfig->RandomTransition);
+ ui->NoTransitionRD->setChecked((!ApplicationConfig->RandomTransition)&&(ApplicationConfig->DefaultTransitionFamilly==0)&&(ApplicationConfig->DefaultTransitionSubType==0));
+ ui->BasicTransitionRD->setChecked((!ApplicationConfig->RandomTransition)&&(ApplicationConfig->DefaultTransitionFamilly==0)&&(ApplicationConfig->DefaultTransitionSubType==1));
+ QString Duration=QString("%1").arg(double(ApplicationConfig->DefaultTransitionDuration)/double(1000),0,'f');
+ while (Duration.endsWith('0')) Duration=Duration.left(Duration.length()-1);
+ while (Duration.endsWith('.')) Duration=Duration.left(Duration.length()-1);
+ ui->TransitionDurationCB->setCurrentIndex(ui->TransitionDurationCB->findText(Duration));
+ ui->DefaultTitleCB->setCurrentIndex(ApplicationConfig->DefaultTitleFilling);
+ ui->DefaultAuthorED->setText(ApplicationConfig->DefaultAuthor);
+
+ // New text block options
+ ApplicationConfig->StyleTextCollection. FillCollectionCB(ui->ST_Text_TextCB, ApplicationConfig->StyleTextCollection.DecodeString(ApplicationConfig->DefaultBlock_Text_TextST),false);
+ ApplicationConfig->StyleTextBackgroundCollection. FillCollectionCB(ui->ST_Text_BackgroundCB, ApplicationConfig->StyleTextBackgroundCollection.DecodeString(ApplicationConfig->DefaultBlock_Text_BackGST),false);
+ ApplicationConfig->StyleBlockShapeCollection. FillCollectionCB(ui->ST_Text_ShapeCB, ApplicationConfig->StyleBlockShapeCollection.DecodeString(ApplicationConfig->DefaultBlock_Text_ShapeST),false);
+ ApplicationConfig->StyleCoordinateCollection. SetProjectGeometryFilter(0);
+ ApplicationConfig->StyleCoordinateCollection. FillCollectionCB(ui->ST_Text_Coord43CB,ApplicationConfig->StyleCoordinateCollection.DecodeString(ApplicationConfig->DefaultBlock_Text_CoordST[0]),false);
+ ApplicationConfig->StyleCoordinateCollection. SetProjectGeometryFilter(1);
+ ApplicationConfig->StyleCoordinateCollection. FillCollectionCB(ui->ST_Text_Coord169CB,ApplicationConfig->StyleCoordinateCollection.DecodeString(ApplicationConfig->DefaultBlock_Text_CoordST[1]),false);
+ ApplicationConfig->StyleCoordinateCollection. SetProjectGeometryFilter(2);
+ ApplicationConfig->StyleCoordinateCollection. FillCollectionCB(ui->ST_Text_CoordCineCB,ApplicationConfig->StyleCoordinateCollection.DecodeString(ApplicationConfig->DefaultBlock_Text_CoordST[2]),false);
+
+ // Get link to combobox
+ CB_SL[0][0]=ui->STBlockSL_IMG0_Coord43CB; CB_SL[0][1]=ui->STBlockSL_IMG0_Coord169CB; CB_SL[0][2]=ui->STBlockSL_IMG0_CoordCineCB;
+ CB_SL[1][0]=ui->STBlockSL_IMG1_Coord43CB; CB_SL[1][1]=ui->STBlockSL_IMG1_Coord169CB; CB_SL[1][2]=ui->STBlockSL_IMG1_CoordCineCB;
+ CB_SL[2][0]=ui->STBlockSL_IMG2_Coord43CB; CB_SL[2][1]=ui->STBlockSL_IMG2_Coord169CB; CB_SL[2][2]=ui->STBlockSL_IMG2_CoordCineCB;
+ CB_SL[3][0]=ui->STBlockSL_IMG3_Coord43CB; CB_SL[3][1]=ui->STBlockSL_IMG3_Coord169CB; CB_SL[3][2]=ui->STBlockSL_IMG3_CoordCineCB;
+ CB_SL[4][0]=ui->STBlockSL_IMG4_Coord43CB; CB_SL[4][1]=ui->STBlockSL_IMG4_Coord169CB; CB_SL[4][2]=ui->STBlockSL_IMG4_CoordCineCB;
+ CB_SL[5][0]=ui->STBlockSL_IMG5_Coord43CB; CB_SL[5][1]=ui->STBlockSL_IMG5_Coord169CB; CB_SL[5][2]=ui->STBlockSL_IMG5_CoordCineCB;
+ CB_SL[6][0]=ui->STBlockSL_IMG6_Coord43CB; CB_SL[6][1]=ui->STBlockSL_IMG6_Coord169CB; CB_SL[6][2]=ui->STBlockSL_IMG6_CoordCineCB;
+ CB_SL[7][0]=ui->STBlockSL_IMG7_Coord43CB; CB_SL[7][1]=ui->STBlockSL_IMG7_Coord169CB; CB_SL[7][2]=ui->STBlockSL_IMG7_CoordCineCB;
+ CB_SL[8][0]=ui->STBlockSL_IMG8_Coord43CB; CB_SL[8][1]=ui->STBlockSL_IMG8_Coord169CB; CB_SL[8][2]=ui->STBlockSL_IMG8_CoordCineCB;
+ CB_BA[0][0]=ui->STBlockBA_IMG0_Coord43CB; CB_BA[0][1]=ui->STBlockBA_IMG0_Coord169CB; CB_BA[0][2]=ui->STBlockBA_IMG0_CoordCineCB;
+ CB_BA[1][0]=ui->STBlockBA_IMG1_Coord43CB; CB_BA[1][1]=ui->STBlockBA_IMG1_Coord169CB; CB_BA[1][2]=ui->STBlockBA_IMG1_CoordCineCB;
+ CB_BA[2][0]=ui->STBlockBA_IMG2_Coord43CB; CB_BA[2][1]=ui->STBlockBA_IMG2_Coord169CB; CB_BA[2][2]=ui->STBlockBA_IMG2_CoordCineCB;
+ CB_BA[3][0]=ui->STBlockBA_IMG3_Coord43CB; CB_BA[3][1]=ui->STBlockBA_IMG3_Coord169CB; CB_BA[3][2]=ui->STBlockBA_IMG3_CoordCineCB;
+ CB_BA[4][0]=ui->STBlockBA_IMG4_Coord43CB; CB_BA[4][1]=ui->STBlockBA_IMG4_Coord169CB; CB_BA[4][2]=ui->STBlockBA_IMG4_CoordCineCB;
+ CB_BA[5][0]=ui->STBlockBA_IMG5_Coord43CB; CB_BA[5][1]=ui->STBlockBA_IMG5_Coord169CB; CB_BA[5][2]=ui->STBlockBA_IMG5_CoordCineCB;
+ CB_BA[6][0]=ui->STBlockBA_IMG6_Coord43CB; CB_BA[6][1]=ui->STBlockBA_IMG6_Coord169CB; CB_BA[6][2]=ui->STBlockBA_IMG6_CoordCineCB;
+ CB_BA[7][0]=ui->STBlockBA_IMG7_Coord43CB; CB_BA[7][1]=ui->STBlockBA_IMG7_Coord169CB; CB_BA[7][2]=ui->STBlockBA_IMG7_CoordCineCB;
+ CB_BA[8][0]=ui->STBlockBA_IMG8_Coord43CB; CB_BA[8][1]=ui->STBlockBA_IMG8_Coord169CB; CB_BA[8][2]=ui->STBlockBA_IMG8_CoordCineCB;
+
+ CB_SL_CLIPARTST[0]=ui->STBlockSL_IMG0_Coord43CB2; CB_SL_CLIPARTST[1]=ui->STBlockSL_IMG0_Coord169CB2; CB_SL_CLIPARTST[2]=ui->STBlockSL_IMG0_CoordCineCB2;
+ CB_BA_CLIPARTST[0]=ui->STBlockBA_IMG0_Coord43CB2; CB_BA_CLIPARTST[1]=ui->STBlockBA_IMG0_Coord169CB2; CB_BA_CLIPARTST[2]=ui->STBlockBA_IMG0_CoordCineCB2;
+
+ // New image block options (when slide creation)
+ ApplicationConfig->StyleTextCollection. FillCollectionCB(ui->STBlockSL_IMG_TextCB, ApplicationConfig->StyleTextCollection.DecodeString(ApplicationConfig->DefaultBlockSL_IMG_TextST),false);
+ ApplicationConfig->StyleBlockShapeCollection. FillCollectionCB(ui->STBlockSL_IMG_ShapeCB, ApplicationConfig->StyleBlockShapeCollection.DecodeString(ApplicationConfig->DefaultBlockSL_IMG_ShapeST),false);
+
+ // New image block options (when block add in slide dialog)
+ ApplicationConfig->StyleTextCollection. FillCollectionCB(ui->STBlockBA_IMG_TextCB, ApplicationConfig->StyleTextCollection.DecodeString(ApplicationConfig->DefaultBlockBA_IMG_TextST),false);
+ ApplicationConfig->StyleBlockShapeCollection. FillCollectionCB(ui->STBlockBA_IMG_ShapeCB, ApplicationConfig->StyleBlockShapeCollection.DecodeString(ApplicationConfig->DefaultBlockBA_IMG_ShapeST),false);
+
+ for (int i=0;i<9;i++) for (int j=0;j<3;j++) {
+ ApplicationConfig->StyleCoordinateCollection.SetImageGeometryFilter(j,i);
+ ApplicationConfig->StyleCoordinateCollection.FillCollectionCB(CB_SL[i][j],ApplicationConfig->StyleCoordinateCollection.DecodeString(ApplicationConfig->DefaultBlockSL_IMG_CoordST[i][j]),false);
+ ApplicationConfig->StyleCoordinateCollection.FillCollectionCB(CB_BA[i][j],ApplicationConfig->StyleCoordinateCollection.DecodeString(ApplicationConfig->DefaultBlockBA_IMG_CoordST[i][j]),false);
+ }
+
+ for (int i=0;i<3;i++) {
+ CB_SL_CLIPARTST[i]->addItem(QIcon(ICON_GEOMETRY_IMAGE), QApplication::translate("DlgApplicationSettings","Lock to image geometry"));
+ CB_SL_CLIPARTST[i]->addItem(QIcon(ICON_FRAMING_FULL), QApplication::translate("DlgApplicationSettings","Lock to project geometry-to full image"));
+ CB_SL_CLIPARTST[i]->addItem(QIcon(ICON_FRAMING_WIDTH), QApplication::translate("DlgApplicationSettings","Lock to project geometry-to width"));
+ CB_SL_CLIPARTST[i]->addItem(QIcon(ICON_FRAMING_HEIGHT), QApplication::translate("DlgApplicationSettings","Lock to project geometry-to height"));
+ CB_SL_CLIPARTST[i]->view()->setFixedWidth(500);
+ CB_SL_CLIPARTST[i]->setCurrentIndex(ApplicationConfig->DefaultBlockSL_CLIPARTLOCK[i]);
+
+ CB_BA_CLIPARTST[i]->addItem(QIcon(ICON_GEOMETRY_IMAGE), QApplication::translate("DlgApplicationSettings","Lock to image geometry"));
+ CB_BA_CLIPARTST[i]->addItem(QIcon(ICON_FRAMING_FULL), QApplication::translate("DlgApplicationSettings","Lock to project geometry-to full image"));
+ CB_BA_CLIPARTST[i]->addItem(QIcon(ICON_FRAMING_WIDTH), QApplication::translate("DlgApplicationSettings","Lock to project geometry-to width"));
+ CB_BA_CLIPARTST[i]->addItem(QIcon(ICON_FRAMING_HEIGHT), QApplication::translate("DlgApplicationSettings","Lock to project geometry-to height"));
+ CB_BA_CLIPARTST[i]->view()->setFixedWidth(500);
+ CB_BA_CLIPARTST[i]->setCurrentIndex(ApplicationConfig->DefaultBlockBA_CLIPARTLOCK[i]);
+ }
+
+ //********************************
+ // RenderDefault part
+ //********************************
+ ui->SmartphoneTypeCB->view()->setFixedWidth(400);
+ ui->MMSystemTypeCB->view()->setFixedWidth(400);
+ ui->ForTheWTypeCB->view()->setFixedWidth(400);
+ ui->SmartphoneModelCB->view()->setFixedWidth(400);
+ ui->MMSystemModelCB->view()->setFixedWidth(400);
+ ui->ForTheWModelCB->view()->setFixedWidth(400);
+
+ // Init format container combo
+ ui->DefaultNameProjectNameCB->setCurrentIndex(ApplicationConfig->DefaultNameProjectName);
+ for (int i=0;i<NBR_FORMATDEF;i++) if (FORMATDEF[i].IsFind) {
+ ui->FileFormatCB->addItem(FORMATDEF[i].LongName,QVariant(i));
+ if (i==ApplicationConfig->DefaultFormat) ui->FileFormatCB->setCurrentIndex(ui->FileFormatCB->count()-1);
+ }
+ if (ui->FileFormatCB->currentIndex()<0) ui->FileFormatCB->setCurrentIndex(0);
+ // Image size & standard
+ ui->StandardCombo->setCurrentIndex(ApplicationConfig->DefaultStandard);
+ InitImageSizeCombo(0);
+ ui->SizeCombo->setCurrentIndex(ui->SizeCombo->findText(DefImageFormat[ApplicationConfig->DefaultStandard][ApplicationConfig->ImageGeometry][ApplicationConfig->DefaultImageSize].Name));
+ ui->LosslessSizeCombo->setCurrentIndex(ui->LosslessSizeCombo->findText(DefImageFormat[ApplicationConfig->DefaultStandard][ApplicationConfig->ImageGeometry][ApplicationConfig->DefaultLossLess].Name));
+ // codec(s) & bitrate(s)
+ FileFormatCombo(-1); // For first initialisation : ChangeIndex=-1
+ ui->LanguageED->setText(ApplicationConfig->DefaultLanguage);
+ connect(ui->StandardCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(InitImageSizeCombo(int)));
+ connect(ui->SizeCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(FileFormatCombo(int)));
+ connect(ui->FileFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(FileFormatCombo(int)));
+ connect(ui->VideoFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(InitVideoBitRateCB(int)));
+ connect(ui->AudioFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(InitAudioBitRateCB(int)));
+
+ //***********************************
+ // Default Device type for rendering
+ //***********************************
+
+ // MODE_SMARTPHONE
+ QStringList List;
+ for (int i=0;i<ApplicationConfig->DeviceModelList.TranslatedRenderSubtype[MODE_SMARTPHONE].count();i++)
+ List.append(ApplicationConfig->DeviceModelList.TranslatedRenderSubtype[MODE_SMARTPHONE][i]+"#"+QString("%1").arg(i));
+ List.sort();
+ for (int i=0;i<List.count();i++) {
+ QString Item=List[i];
+ int ItemData=Item.mid(Item.lastIndexOf("#")+1).toInt();
+ Item=Item.left(Item.lastIndexOf("#"));
+ ui->SmartphoneTypeCB->addItem(Item,QVariant(ItemData));
+ if (ApplicationConfig->DefaultSmartphoneType==ItemData) ui->SmartphoneTypeCB->setCurrentIndex(i);
+ }
+ connect(ui->SmartphoneTypeCB,SIGNAL(currentIndexChanged(int)),this,SLOT(ChangeSmartphoneTypeCB(int)));
+ ChangeSmartphoneTypeCB(0);
+
+
+ // MODE_MULTIMEDIASYS
+ List.clear();
+ for (int i=0;i<ApplicationConfig->DeviceModelList.TranslatedRenderSubtype[MODE_MULTIMEDIASYS].count();i++)
+ List.append(ApplicationConfig->DeviceModelList.TranslatedRenderSubtype[MODE_MULTIMEDIASYS][i]+"#"+QString("%1").arg(i));
+ List.sort();
+ for (int i=0;i<List.count();i++) {
+ QString Item=List[i];
+ int ItemData=Item.mid(Item.lastIndexOf("#")+1).toInt();
+ Item=Item.left(Item.lastIndexOf("#"));
+ ui->MMSystemTypeCB->addItem(Item,QVariant(ItemData));
+ if (ApplicationConfig->DefaultMultimediaType==ItemData) ui->MMSystemTypeCB->setCurrentIndex(i);
+ }
+ connect(ui->MMSystemTypeCB,SIGNAL(currentIndexChanged(int)),this,SLOT(ChangeMMSystemTypeCB(int)));
+ ChangeMMSystemTypeCB(0);
+
+ // MODE_FORTHEWEB
+ List.clear();
+ for (int i=0;i<ApplicationConfig->DeviceModelList.TranslatedRenderSubtype[MODE_FORTHEWEB].count();i++)
+ List.append(ApplicationConfig->DeviceModelList.TranslatedRenderSubtype[MODE_FORTHEWEB][i]+"#"+QString("%1").arg(i));
+ List.sort();
+ for (int i=0;i<List.count();i++) {
+ QString Item=List[i];
+ int ItemData=Item.mid(Item.lastIndexOf("#")+1).toInt();
+ Item=Item.left(Item.lastIndexOf("#"));
+ ui->ForTheWTypeCB->addItem(Item,QVariant(ItemData));
+ if (ApplicationConfig->DefaultForTheWEBType==ItemData) ui->ForTheWTypeCB->setCurrentIndex(i);
+ }
+ connect(ui->ForTheWTypeCB,SIGNAL(currentIndexChanged(int)),this,SLOT(ChangeForTheWTypeCB(int)));
+ ChangeForTheWTypeCB(0);
+
+ // Define handler
+ connect(ui->CancelBt,SIGNAL(clicked()),this,SLOT(reject()));
+ connect(ui->OkBt,SIGNAL(clicked()),this,SLOT(accept()));
+ connect(ui->HelpBT,SIGNAL(clicked()),this,SLOT(doHelp()));
+ connect(ui->CheckConfigBT,SIGNAL(clicked()),this,SLOT(s_CheckConfig()));
+ connect(ui->DBManageDevicesBT,SIGNAL(clicked()),this,SLOT(s_ManageDevices()));
+ connect(ui->tabWidget,SIGNAL(currentChanged(int)),this,SLOT(TabChanged(int)));
+
+ ui->tabWidget->setCurrentIndex(0);
+}
+
+//====================================================================================================================
+
+DlgApplicationSettings::~DlgApplicationSettings() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::~DlgApplicationSettings");
+
+ delete ui;
+}
+
+//====================================================================================================================
+// Call when user click on Ok button
+
+void DlgApplicationSettings::DoAccept() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::DoAccept");
+
+ // Application options part
+ ApplicationConfig->RememberLastDirectories =ui->RememberLastDirectoriesCH->isChecked();
+ ApplicationConfig->RestoreWindow =ui->RestoreWindowCH->isChecked();
+ ApplicationConfig->SDLAudioOldMode =ui->SDLAudioModeCB->isChecked();
+ #ifdef Q_OS_LINUX
+ ApplicationConfig->RasterMode =ui->RasterModeCB->isChecked();
+ #endif
+
+ // Preview Options part
+ ApplicationConfig->ApplyTransfoPreview =ui->ApplyTransfoDuringPreviewCB->isChecked();
+ ApplicationConfig->Smoothing =ui->SmoothImageDuringPreviewCB->isChecked();
+ ApplicationConfig->QuickResamplingPreview =ui->QuickResamplingPreviewCB->isChecked();
+ ApplicationConfig->PreviewFPS =ui->PreviewFrameRateCB->currentText().toDouble();
+
+ switch (ui->MemCacheProfilCB->currentIndex()) {
+ case 3 : ApplicationConfig->MemCacheMaxValue=qlonglong(2048*qlonglong(1024*1024)); break;
+ case 2 : ApplicationConfig->MemCacheMaxValue=qlonglong(1024*qlonglong(1024*1024)); break;
+ case 1 : ApplicationConfig->MemCacheMaxValue=qlonglong(512*qlonglong(1024*1024)); break;
+ default : ApplicationConfig->MemCacheMaxValue=qlonglong(256*qlonglong(1024*1024)); break;
+ }
+ ApplicationConfig->AllowCachedTransfoImages=ui->CacheTransformedImagesCB->isChecked();
+
+ // Editor Options part
+ ApplicationConfig->AppendObject =ui->AppendObjectCB->currentIndex()==1;
+ ApplicationConfig->SortFile =ui->SortFileCB->isChecked();
+ ApplicationConfig->AskUserToRemove =ui->AskUserToRemove->isChecked();
+ ApplicationConfig->DisplayUnit =ui->UnitCB->currentIndex();
+ ApplicationConfig->Crop1088To1080 =ui->Crop1088To1080CB->isChecked();
+
+ ApplicationConfig->DefaultTransitionDuration=int(ui->TransitionDurationCB->currentText().toDouble()*double(1000));
+ ApplicationConfig->RandomTransition =ui->RandomTransitionRD->isChecked();
+ ApplicationConfig->DefaultTransitionSubType =(ui->NoTransitionRD->isChecked()?0:1);
+ ApplicationConfig->DefaultTransitionFamilly =0;
+
+ // ProjectDefault part
+ ApplicationConfig->NoShotDuration =int(ui->NoShotED->value()*1000);
+ ApplicationConfig->FixedDuration =int(ui->StaticShotED->value()*1000);
+ ApplicationConfig->SpeedWave =ui->SpeedWaveCombo->currentIndex();
+ ApplicationConfig->ImageGeometry =ui->GeometryCombo->currentIndex();
+ ApplicationConfig->DefaultTitleFilling =ui->DefaultTitleCB->currentIndex();
+ ApplicationConfig->DefaultAuthor =ui->DefaultAuthorED->text();
+
+ ApplicationConfig->DefaultBlock_Text_TextST =ApplicationConfig->StyleTextCollection.EncodeString(ui->ST_Text_TextCB,-1,-1);
+ ApplicationConfig->DefaultBlock_Text_BackGST =ApplicationConfig->StyleTextBackgroundCollection.EncodeString(ui->ST_Text_BackgroundCB,-1,-1);
+ ApplicationConfig->DefaultBlock_Text_CoordST[0] =ApplicationConfig->StyleCoordinateCollection.EncodeString(ui->ST_Text_Coord43CB,0,-1);
+ ApplicationConfig->DefaultBlock_Text_CoordST[1] =ApplicationConfig->StyleCoordinateCollection.EncodeString(ui->ST_Text_Coord169CB,1,-1);
+ ApplicationConfig->DefaultBlock_Text_CoordST[2] =ApplicationConfig->StyleCoordinateCollection.EncodeString(ui->ST_Text_CoordCineCB,2,-1);
+ ApplicationConfig->DefaultBlock_Text_ShapeST =ApplicationConfig->StyleBlockShapeCollection.EncodeString(ui->ST_Text_ShapeCB,-1,-1);
+ ApplicationConfig->DefaultBlockSL_IMG_TextST =ApplicationConfig->StyleTextCollection.EncodeString(ui->STBlockSL_IMG_TextCB,-1,-1);
+ ApplicationConfig->DefaultBlockSL_IMG_ShapeST =ApplicationConfig->StyleBlockShapeCollection.EncodeString(ui->STBlockSL_IMG_ShapeCB,-1,-1);
+ ApplicationConfig->DefaultBlockBA_IMG_TextST =ApplicationConfig->StyleTextCollection.EncodeString(ui->STBlockBA_IMG_TextCB,-1,-1);
+ ApplicationConfig->DefaultBlockBA_IMG_ShapeST =ApplicationConfig->StyleBlockShapeCollection.EncodeString(ui->STBlockBA_IMG_ShapeCB,-1,-1);
+
+ for (int i=0;i<9;i++) for (int j=0;j<3;j++) {
+ ApplicationConfig->DefaultBlockSL_IMG_CoordST[i][j]=ApplicationConfig->StyleCoordinateCollection.EncodeString(CB_SL[i][j],j,i);
+ ApplicationConfig->DefaultBlockBA_IMG_CoordST[i][j]=ApplicationConfig->StyleCoordinateCollection.EncodeString(CB_BA[i][j],j,i);
+ }
+
+ for (int i=0;i<3;i++) {
+ ApplicationConfig->DefaultBlockBA_CLIPARTLOCK[i]=CB_BA_CLIPARTST[i]->currentIndex();
+ ApplicationConfig->DefaultBlockSL_CLIPARTLOCK[i]=CB_SL_CLIPARTST[i]->currentIndex();
+ }
+
+ // RenderDefault part
+ ApplicationConfig->DefaultLanguage =ui->LanguageED->text();
+ if (ApplicationConfig->DefaultLanguage=="") ApplicationConfig->DefaultLanguage="und";
+ if (ApplicationConfig->DefaultLanguage.length()!=3) {
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgApplicationSettings","Language selection"),
+ QApplication::translate("DlgApplicationSettings","Language must be empty or an ISO 639 language code (3 characters)\nSee help for more details!"));
+ ui->LanguageED->setFocus();
+ return;
+ }
+ ApplicationConfig->DefaultNameProjectName =ui->DefaultNameProjectNameCB->currentIndex();
+ ApplicationConfig->DefaultStandard =ui->StandardCombo->currentIndex();
+ ApplicationConfig->DefaultImageSize =ui->SizeCombo->itemData(ui->SizeCombo->currentIndex()).toInt();
+ ApplicationConfig->DefaultFormat =ui->FileFormatCB->currentIndex();
+ if (ApplicationConfig->DefaultFormat>=0) ApplicationConfig->DefaultFormat=ui->FileFormatCB->itemData(ApplicationConfig->DefaultFormat).toInt(); else ApplicationConfig->DefaultFormat=0;
+ int Codec=ui->VideoFormatCB->currentIndex();
+ if (Codec>=0) ApplicationConfig->DefaultVideoCodec=VIDEOCODECDEF[ui->VideoFormatCB->itemData(Codec).toInt()].FFD_VCODECST; else ApplicationConfig->DefaultVideoCodec="";
+ Codec=ui->AudioFormatCB->currentIndex();
+ if (Codec>=0) ApplicationConfig->DefaultAudioCodec=AUDIOCODECDEF[ui->AudioFormatCB->itemData(Codec).toInt()].ShortName; else ApplicationConfig->DefaultAudioCodec="";
+ QString BitRate=ui->VideoBitRateCB->currentText(); if (BitRate.endsWith("k")) BitRate=BitRate.left(BitRate.length()-1); ApplicationConfig->DefaultVideoBitRate=BitRate.toInt();
+ BitRate =ui->AudioBitRateCB->currentText(); if (BitRate.endsWith("k")) BitRate=BitRate.left(BitRate.length()-1); ApplicationConfig->DefaultAudioBitRate=BitRate.toInt();
+
+ ApplicationConfig->DefaultSmartphoneType =ui->SmartphoneTypeCB->itemData(ui->SmartphoneTypeCB->currentIndex()).toInt();
+ ApplicationConfig->DefaultMultimediaType =ui->MMSystemTypeCB->itemData(ui->MMSystemTypeCB->currentIndex()).toInt();
+ ApplicationConfig->DefaultForTheWEBType =ui->ForTheWTypeCB->itemData(ui->ForTheWTypeCB->currentIndex()).toInt();
+ ApplicationConfig->DefaultLossLess =ui->LosslessSizeCombo->itemData(ui->LosslessSizeCombo->currentIndex()).toInt();
+
+ QString Text=ui->SmartphoneModelCB->currentText();
+ int i=0;
+ while ((i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Text!=ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)) i++;
+ if ((i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Text==ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)) ApplicationConfig->DefaultSmartphoneModel=ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex;
+
+ Text=ui->MMSystemModelCB->currentText();
+ i=0;
+ while ((i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Text!=ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)) i++;
+ if ((i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Text==ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)) ApplicationConfig->DefaultMultimediaModel=ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex;
+
+ Text=ui->ForTheWModelCB->currentText();
+ i=0;
+ while ((i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Text!=ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)) i++;
+ if ((i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Text==ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)) ApplicationConfig->DefaultForTheWEBModel=ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex;
+}
+
+//====================================================================================================================
+// Call when user click on Cancel button
+
+void DlgApplicationSettings::DoRejet() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::DoRejet");
+
+ // Nothing to do
+}
+
+//====================================================================================================================
+// Initiale Undo
+
+void DlgApplicationSettings::PrepareGlobalUndo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::PrepareGlobalUndo");
+
+ // Nothing to do
+}
+
+//====================================================================================================================
+// Apply Undo : call when user click on Cancel button
+
+void DlgApplicationSettings::DoGlobalUndo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::DoGlobalUndo");
+
+ // Nothing to do
+}
+
+//====================================================================================================================
+
+void DlgApplicationSettings::s_CheckConfig() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::s_CheckConfig");
+ DlgCheckConfig Dlg(HELPFILE_DlgCheckConfig,ApplicationConfig,ApplicationConfig->DlgCheckConfigWSP,this);
+ Dlg.InitDialog();
+ Dlg.exec();
+}
+
+//====================================================================================================================
+
+void DlgApplicationSettings::s_ManageDevices() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::s_ManageDevices");
+ DlgManageDevices Dlg(&ApplicationConfig->DeviceModelList,HELPFILE_DlgManageDevices,ApplicationConfig,ApplicationConfig->DlgManageDevicesWSP,this);
+ Dlg.InitDialog();
+ Dlg.exec();
+}
+
+//====================================================================================================================
+
+void DlgApplicationSettings::TabChanged(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::TabChanged");
+ if (ui->tabWidget->currentIndex()==2) {
+ ChangeSmartphoneTypeCB(0);
+ ChangeMMSystemTypeCB(0);
+ ChangeForTheWTypeCB(0);
+ }
+}
+
+//====================================================================================================================
+
+void DlgApplicationSettings::InitImageSizeCombo(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::InitImageSizeCombo");
+ int Geometry =ui->GeometryCombo->currentIndex();
+ int Standard =ui->StandardCombo->currentIndex();
+ int ImageSize=ui->SizeCombo->currentIndex();
+ int Lossless =ui->LosslessSizeCombo->currentIndex();
+ ui->SizeCombo->clear();
+ ui->LosslessSizeCombo->clear();
+ QStringList List;
+ for (int i=0;i<NBR_SIZEDEF;i++) List.append(QString("%1:%2#####%3").arg(DefImageFormat[Standard][Geometry][i].Name).arg(ORDERIMAGENAME[i]).arg(i));
+ // Sort List
+ for (int i=0;i<List.count();i++) for (int j=0;j<List.count()-1;j++) {
+ QString StrA=List[j].mid(List[j].lastIndexOf(":")+1); StrA=StrA.left(StrA.indexOf("#"));
+ QString StrB=List[j+1].mid(List[j+1].lastIndexOf(":")+1); StrB=StrB.left(StrB.indexOf("#"));
+ if (StrA.toInt()>StrB.toInt()) List.swap(j,j+1);
+ }
+ // Fill combo
+ for (int i=0;i<List.count();i++) {
+ QString Codec=List[i].left(List[i].indexOf("#####")); Codec=Codec.left(Codec.lastIndexOf(":"));
+ int Index=List[i].mid(List[i].indexOf("#####")+QString("#####").length()).toInt();
+ ui->SizeCombo->addItem(Codec,QVariant(Index));
+ ui->LosslessSizeCombo->addItem(Codec,QVariant(Index));
+ }
+ ui->SizeCombo->setCurrentIndex(ImageSize);
+ ui->LosslessSizeCombo->setCurrentIndex(Lossless);
+}
+
+//====================================================================================================================
+
+void DlgApplicationSettings::FileFormatCombo(int ChangeIndex) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::FileFormatCombo");
+ ui->VideoFormatCB->clear();
+ ui->AudioFormatCB->clear();
+
+ //********* Video codec part
+ int CurrentFormat=ui->FileFormatCB->itemData(ui->FileFormatCB->currentIndex()).toInt();
+ QString AllowedCodec=FORMATDEF[CurrentFormat].PossibleVideoCodec;
+ QString Codec="";
+ QString ToSelect="";
+ QStringList List;
+ int Index=0;
+ while (AllowedCodec.length()>0) {
+ Index=AllowedCodec.indexOf("#");
+ if (Index>0) {
+ Codec=AllowedCodec.left(Index);
+ AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1);
+ } else {
+ Codec=AllowedCodec;
+ AllowedCodec="";
+ }
+ // Now find index of this codec in the VIDEOCODECDEF
+ Index=0;
+ while ((Index<NBR_VIDEOCODECDEF)&&(Codec!=QString(VIDEOCODECDEF[Index].FFD_VCODECST))) Index++;
+ if ((Index<NBR_VIDEOCODECDEF)&&(VIDEOCODECDEF[Index].IsFind)) {
+ List.append(QString("%1#####%2").arg(VIDEOCODECDEF[Index].LongName).arg(Index));
+ if (Codec==QString(ApplicationConfig->DefaultVideoCodec)) ToSelect=QString(VIDEOCODECDEF[Index].LongName);
+ }
+ }
+ // Sort List
+ for (int i=0;i<List.count();i++) for (int j=0;j<List.count()-1;j++) if (List[j]>List[j+1]) List.swap(j,j+1);
+ // Fill combo
+ for (int i=0;i<List.count();i++) {
+ Codec=List[i].left(List[i].indexOf("#####"));
+ Index=List[i].mid(List[i].indexOf("#####")+QString("#####").length()).toInt();
+ ui->VideoFormatCB->addItem(Codec,QVariant(Index));
+ }
+ // Set current selection
+ if (ui->VideoFormatCB->findText(ToSelect)!=-1) ui->VideoFormatCB->setCurrentIndex(ui->VideoFormatCB->findText(ToSelect));
+ else ui->VideoFormatCB->setCurrentIndex(0);
+ ui->VideoFormatCB->setEnabled(ui->VideoFormatCB->count()>0);
+
+ //********* Audio codec part
+ AllowedCodec=FORMATDEF[CurrentFormat].PossibleAudioCodec;
+ Codec="";
+ Index=0;
+ ToSelect="";
+ List.clear();
+ while (AllowedCodec.length()>0) {
+ Index=AllowedCodec.indexOf("#");
+ if (Index>0) {
+ Codec=AllowedCodec.left(Index);
+ AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1);
+ } else {
+ Codec=AllowedCodec;
+ AllowedCodec="";
+ }
+ // Now find index of this codec in the AUDIOCODECDEF
+ Index=0;
+ while ((Index<NBR_AUDIOCODECDEF)&&(Codec!=QString(AUDIOCODECDEF[Index].ShortName))) Index++;
+ if ((Index<NBR_AUDIOCODECDEF)&&(AUDIOCODECDEF[Index].IsFind)) {
+ List.append(QString("%1#####%2").arg(AUDIOCODECDEF[Index].LongName).arg(Index));
+ if (Codec==QString(ApplicationConfig->DefaultAudioCodec)) ToSelect=QString(AUDIOCODECDEF[Index].LongName);
+ }
+ }
+ // Sort List
+ for (int i=0;i<List.count();i++) for (int j=0;j<List.count()-1;j++) if (List[j]>List[j+1]) List.swap(j,j+1);
+ // Fill combo
+ for (int i=0;i<List.count();i++) {
+ Codec=List[i].left(List[i].indexOf("#####"));
+ Index=List[i].mid(List[i].indexOf("#####")+QString("#####").length()).toInt();
+ ui->AudioFormatCB->addItem(Codec,QVariant(Index));
+ }
+ // Set current selection
+ if (ui->AudioFormatCB->findText(ToSelect)!=-1) ui->AudioFormatCB->setCurrentIndex(ui->AudioFormatCB->findText(ToSelect));
+ else ui->AudioFormatCB->setCurrentIndex(0);
+ ui->AudioFormatCB->setEnabled(ui->AudioFormatCB->count()>0);
+ InitVideoBitRateCB(ChangeIndex);
+ InitAudioBitRateCB(ChangeIndex);
+}
+
+//====================================================================================================================
+
+void DlgApplicationSettings::ChangeSmartphoneTypeCB(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::ChangeSmartphoneTypeCB");
+ int ExportMode=MODE_SMARTPHONE;
+ ui->SmartphoneModelCB->clear();
+ int ItemData=ui->SmartphoneTypeCB->currentIndex();
+ if (ItemData>=0) ItemData=ui->SmartphoneTypeCB->itemData(ItemData).toInt();
+ QStringList List;
+ for (int i=0;i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count();i++)
+ if ((ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceType==ExportMode)&&(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceSubtype==ItemData))
+ List.append(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName);
+ List.sort();
+ ui->SmartphoneModelCB->addItems(List);
+ int i=0;
+ while ((i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex!=ApplicationConfig->DefaultSmartphoneModel)) i++;
+ if (ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex==ApplicationConfig->DefaultSmartphoneModel)
+ ui->SmartphoneModelCB->setCurrentIndex(ui->SmartphoneModelCB->findText(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName));
+}
+
+//====================================================================================================================
+
+void DlgApplicationSettings::ChangeMMSystemTypeCB(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::ChangeMMSystemTypeCB");
+ int ExportMode=MODE_MULTIMEDIASYS;
+ ui->MMSystemModelCB->clear();
+ int ItemData=ui->MMSystemTypeCB->currentIndex();
+ if (ItemData>=0) ItemData=ui->MMSystemTypeCB->itemData(ItemData).toInt();
+ QStringList List;
+ for (int i=0;i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count();i++)
+ if ((ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceType==ExportMode)&&(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceSubtype==ItemData))
+ List.append(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName);
+ List.sort();
+ ui->MMSystemModelCB->addItems(List);
+ int i=0;
+ while ((i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex!=ApplicationConfig->DefaultMultimediaModel)) i++;
+ if (ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex==ApplicationConfig->DefaultMultimediaModel)
+ ui->MMSystemModelCB->setCurrentIndex(ui->MMSystemModelCB->findText(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName));
+}
+
+//====================================================================================================================
+
+void DlgApplicationSettings::ChangeForTheWTypeCB(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::ChangeForTheWTypeCB");
+ int ExportMode=MODE_FORTHEWEB;
+ ui->ForTheWModelCB->clear();
+ int ItemData=ui->ForTheWTypeCB->currentIndex();
+ if (ItemData>=0) ItemData=ui->ForTheWTypeCB->itemData(ItemData).toInt();
+ QStringList List;
+ for (int i=0;i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count();i++)
+ if ((ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceType==ExportMode)&&(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceSubtype==ItemData))
+ List.append(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName);
+ List.sort();
+ ui->ForTheWModelCB->addItems(List);
+ int i=0;
+ while ((i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex!=ApplicationConfig->DefaultForTheWEBModel)) i++;
+ if (ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex==ApplicationConfig->DefaultForTheWEBModel)
+ ui->ForTheWModelCB->setCurrentIndex(ui->ForTheWModelCB->findText(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName));
+}
+
+//====================================================================================================================
+
+void DlgApplicationSettings::InitVideoBitRateCB(int ChangeIndex) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::InitVideoBitRateCB");
+ ui->VideoBitRateCB->clear();
+ int CurrentCodec=ui->VideoFormatCB->currentIndex();
+ int CurrentSize =ui->SizeCombo->itemData(ui->SizeCombo->currentIndex()).toInt();
+ if (CurrentCodec>=0) {
+ CurrentCodec=ui->VideoFormatCB->itemData(CurrentCodec).toInt();
+
+ QString AllowedBitRate=FORMATDEF[ui->FileFormatCB->currentIndex()].PossibleVideoCodec;
+ QString BitRate="";
+ int Index=0;
+ bool IsFindBitRate=false;
+ AllowedBitRate=VIDEOCODECDEF[CurrentCodec].PossibleBitrate;
+ BitRate="";
+ Index=0;
+ IsFindBitRate=false;
+ QStringList List;
+ while (AllowedBitRate.length()>0) {
+ Index=AllowedBitRate.indexOf("#");
+ if (Index>0) {
+ BitRate=AllowedBitRate.left(Index);
+ AllowedBitRate=AllowedBitRate.right(AllowedBitRate.length()-Index-1);
+ } else {
+ BitRate=AllowedBitRate;
+ AllowedBitRate="";
+ }
+ List.append(BitRate);
+ }
+ for (int i=0;i<List.count();i++) for (int j=0;j<List.count()-1;j++) {
+ QString NameA=List[j]; if (NameA.endsWith("k")) NameA=NameA.left(NameA.length()-1);
+ int NumA=NameA.toInt();
+ QString NameB=List[j+1]; if (NameB.endsWith("k")) NameB=NameB.left(NameB.length()-1);
+ int NumB=NameB.toInt();
+ if (NumA>NumB) List.swap(j,j+1);
+ }
+ for (int i=0;i<List.count();i++) {
+ ui->VideoBitRateCB->addItem(List[i]);
+ if ((ChangeIndex==-1)&&(List[i]==QString("%1k").arg(ApplicationConfig->DefaultVideoBitRate))) {
+ ui->VideoBitRateCB->setCurrentIndex(ui->VideoBitRateCB->count()-1);
+ IsFindBitRate=true;
+ }
+ }
+ if (!IsFindBitRate) ui->VideoBitRateCB->setCurrentIndex(ui->VideoBitRateCB->findText(VIDEOCODECDEF[CurrentCodec].DefaultBitrate[CurrentSize]));
+ ui->VideoBitRateCB->setEnabled(ui->VideoBitRateCB->count()>1);
+ } else ui->VideoBitRateCB->setEnabled(false);
+}
+
+//====================================================================================================================
+
+void DlgApplicationSettings::InitAudioBitRateCB(int ChangeIndex) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::InitAudioBitRateCB");
+
+ ui->AudioBitRateCB->clear();
+ int CurrentCodec=ui->AudioFormatCB->currentIndex();
+ if (CurrentCodec>=0) {
+ CurrentCodec=ui->AudioFormatCB->itemData(CurrentCodec).toInt();
+
+ QString AllowedBitRate=FORMATDEF[ui->FileFormatCB->currentIndex()].PossibleVideoCodec;
+ QString BitRate="";
+ int Index=0;
+ bool IsFindBitRate=false;
+ AllowedBitRate=AUDIOCODECDEF[CurrentCodec].PossibleBitrate2CH;
+ BitRate="";
+ Index=0;
+ IsFindBitRate=false;
+ QStringList List;
+ while (AllowedBitRate.length()>0) {
+ Index=AllowedBitRate.indexOf("#");
+ if (Index>0) {
+ BitRate=AllowedBitRate.left(Index);
+ AllowedBitRate=AllowedBitRate.right(AllowedBitRate.length()-Index-1);
+ } else {
+ BitRate=AllowedBitRate;
+ AllowedBitRate="";
+ }
+ List.append(BitRate);
+ }
+ for (int i=0;i<List.count();i++) for (int j=0;j<List.count()-1;j++) {
+ QString NameA=List[j]; if (NameA.endsWith("k")) NameA=NameA.left(NameA.length()-1);
+ int NumA=NameA.toInt();
+ QString NameB=List[j+1]; if (NameB.endsWith("k")) NameB=NameB.left(NameB.length()-1);
+ int NumB=NameB.toInt();
+ if (NumA>NumB) List.swap(j,j+1);
+ }
+ for (int i=0;i<List.count();i++) {
+ ui->AudioBitRateCB->addItem(List[i]);
+ if ((ChangeIndex==-1)&&(List[i]==QString("%1k").arg(ApplicationConfig->DefaultAudioBitRate))) {
+ ui->AudioBitRateCB->setCurrentIndex(ui->AudioBitRateCB->count()-1);
+ IsFindBitRate=true;
+ }
+ }
+ if (!IsFindBitRate) ui->AudioBitRateCB->setCurrentIndex(ui->AudioBitRateCB->findText(AUDIOCODECDEF[CurrentCodec].Default));
+ ui->AudioBitRateCB->setEnabled(ui->AudioBitRateCB->count()>1);
+ } else ui->AudioBitRateCB->setEnabled(false);
+}
diff --git a/src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.h b/src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.h
new file mode 100755
index 0000000..818d2b6
--- /dev/null
+++ b/src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.h
@@ -0,0 +1,76 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef DLGAPPLICATIONSETTINGS_H
+#define DLGAPPLICATIONSETTINGS_H
+
+// Basic inclusions (common to all files)
+#include "../../engine/_GlobalDefines.h"
+#include "../../engine/_QCustomDialog.h"
+
+#include "../_ApplicationDefinitions.h"
+
+#include <QComboBox>
+
+namespace Ui {
+ class DlgApplicationSettings;
+}
+
+class DlgApplicationSettings : public QCustomDialog {
+Q_OBJECT
+public:
+ cApplicationConfig *ApplicationConfig;
+ bool IsDeviceChanged;
+ int CurrentDevice;
+ int CurrentDeviceIndex;
+ QComboBox *CB_SL[9][3];
+ QComboBox *CB_BA[9][3];
+ QComboBox *CB_SL_CLIPARTST[3];
+ QComboBox *CB_BA_CLIPARTST[3];
+
+ explicit DlgApplicationSettings(QString HelpURL,cApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent = 0);
+ ~DlgApplicationSettings();
+
+ // function to be overloaded
+ virtual void DoInitDialog(); // Initialise dialog
+ virtual void DoAccept(); // Call when user click on Ok button
+ virtual void DoRejet(); // Call when user click on Cancel button
+ virtual void PrepareGlobalUndo(); // Initiale Undo
+ virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button
+
+private slots:
+ void s_CheckConfig();
+ void s_ManageDevices();
+ void TabChanged(int);
+
+ void FileFormatCombo(int);
+ void InitVideoBitRateCB(int);
+ void InitAudioBitRateCB(int);
+ void InitImageSizeCombo(int);
+
+ void ChangeSmartphoneTypeCB(int);
+ void ChangeMMSystemTypeCB(int);
+ void ChangeForTheWTypeCB(int);
+
+private:
+ Ui::DlgApplicationSettings *ui;
+};
+
+#endif // DLGAPPLICATIONSETTINGS_H
diff --git a/src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui b/src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui
new file mode 100755
index 0000000..f315469
--- /dev/null
+++ b/src/ffDiaporama/DlgAppSettings/DlgApplicationSettings.ui
@@ -0,0 +1,3553 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DlgApplicationSettings</class>
+ <widget class="QDialog" name="DlgApplicationSettings">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>700</width>
+ <height>500</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>700</width>
+ <height>500</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="windowTitle">
+ <string>Application settings</string>
+ </property>
+ <property name="modal">
+ <bool>true</bool>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <property name="sizeConstraint">
+ <enum>QLayout::SetDefaultConstraint</enum>
+ </property>
+ <property name="margin">
+ <number>8</number>
+ </property>
+ <item>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="TabApp">
+ <attribute name="title">
+ <string>Application Options</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="1" column="0">
+ <widget class="QScrollArea" name="scrollArea_2">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents_2">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>664</width>
+ <height>484</height>
+ </rect>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <property name="margin">
+ <number>4</number>
+ </property>
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <item row="1" column="0" colspan="2">
+ <widget class="QCheckBox" name="RestoreWindowCH">
+ <property name="toolTip">
+ <string>If this box is checked, the sizes and the positions of all the windows and dialogue box of ffDiaporama will be saved to be reused the next time which you will use ffDiaporama.</string>
+ </property>
+ <property name="text">
+ <string>Remember Windows size and positions</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <widget class="QCheckBox" name="RememberLastDirectoriesCH">
+ <property name="toolTip">
+ <string>If this box is checked, the directories that you use for the images, the videos, the projects, the musics and the generations of movie will be saved to be reused the next time which you will use ffDiaporama.</string>
+ </property>
+ <property name="text">
+ <string>Remember last used folders</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0" colspan="2">
+ <widget class="QLabel" name="label_3">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Application options</string>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="0" colspan="2">
+ <widget class="QLabel" name="label_4">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Preview options</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>Frame rate :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>PreviewFrameRateCB</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QComboBox" name="PreviewFrameRateCB">
+ <property name="toolTip">
+ <string>Defined the number of images by seconds which will be generated to show the preview.</string>
+ </property>
+ <item>
+ <property name="text">
+ <string notr="true">3.125</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">8.333</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">12.5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">18.75</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_6">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>fps (Reduce this value for slow computer)</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="10" column="0">
+ <widget class="QLabel" name="label_16">
+ <property name="text">
+ <string>Image transformation :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="10" column="1">
+ <widget class="QCheckBox" name="ApplyTransfoDuringPreviewCB">
+ <property name="toolTip">
+ <string>If this box is checked, The effects of transformations will be applied to the images of videos during the preview.</string>
+ </property>
+ <property name="text">
+ <string>Apply to video during preview</string>
+ </property>
+ </widget>
+ </item>
+ <item row="15" column="0" colspan="2">
+ <widget class="QLabel" name="label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Editor options (when adding objects)</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="17" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Object position :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>AppendObjectCB</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="17" column="1">
+ <widget class="QComboBox" name="AppendObjectCB">
+ <property name="toolTip">
+ <string>Define the position which occupy the new objects in the timeline during the insertions</string>
+ </property>
+ <item>
+ <property name="text">
+ <string>Insert after current object</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Append at project end</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="18" column="0">
+ <widget class="QLabel" name="label_26">
+ <property name="text">
+ <string>Multiple file insertion :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="18" column="1">
+ <widget class="QCheckBox" name="SortFileCB">
+ <property name="toolTip">
+ <string>Adjust the way will be sorted out files when you select several files in Add file.</string>
+ </property>
+ <property name="text">
+ <string>Sort file by last number</string>
+ </property>
+ </widget>
+ </item>
+ <item row="26" column="0">
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="19" column="1">
+ <widget class="QCheckBox" name="AskUserToRemove">
+ <property name="toolTip">
+ <string>If this box is checked, a confirmation will display every time you remove an object</string>
+ </property>
+ <property name="text">
+ <string>Ask user confirmation to remove slide, object or shot</string>
+ </property>
+ </widget>
+ </item>
+ <item row="19" column="0">
+ <widget class="QLabel" name="label_33">
+ <property name="text">
+ <string>Object deletion :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="16" column="0">
+ <widget class="QLabel" name="label_34">
+ <property name="text">
+ <string>Coordinates unit :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="16" column="1">
+ <widget class="QComboBox" name="UnitCB">
+ <property name="toolTip">
+ <string>Select the unit of the coordinates which will be used in properties dialog box</string>
+ </property>
+ <item>
+ <property name="text">
+ <string>Percent</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Pixel</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="2">
+ <widget class="QCheckBox" name="RasterModeCB">
+ <property name="text">
+ <string>Enable "raster" Graphics System (Need application restart)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="11" column="0">
+ <widget class="QLabel" name="label_42">
+ <property name="text">
+ <string>Image smoothing :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="11" column="1">
+ <widget class="QCheckBox" name="SmoothImageDuringPreviewCB">
+ <property name="text">
+ <string>Smooth image during preview</string>
+ </property>
+ </widget>
+ </item>
+ <item row="12" column="1">
+ <widget class="QCheckBox" name="QuickResamplingPreviewCB">
+ <property name="text">
+ <string>Use quick resampler during preview</string>
+ </property>
+ </widget>
+ </item>
+ <item row="12" column="0">
+ <widget class="QLabel" name="label_90">
+ <property name="text">
+ <string>Audio resampling :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QCheckBox" name="SDLAudioModeCB">
+ <property name="text">
+ <string>SDL Audio use old mode</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0" colspan="2">
+ <layout class="QHBoxLayout" name="horizontalLayout_16">
+ <item>
+ <widget class="QLabel" name="MemCacheProfilLabel">
+ <property name="text">
+ <string>Memory profil :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="MemCacheProfilCB">
+ <item>
+ <property name="text">
+ <string>256 Mb</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>512 Mb</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>1 Gb</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>2 Gb</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="MemCacheProfilSpacer">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="20" column="0">
+ <widget class="QLabel" name="label_97">
+ <property name="text">
+ <string>Transformed image :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="20" column="1">
+ <widget class="QCheckBox" name="CacheTransformedImagesCB">
+ <property name="text">
+ <string>Create cache file (with _ffd suffix) for transformed images</string>
+ </property>
+ </widget>
+ </item>
+ <item row="21" column="0">
+ <widget class="QLabel" name="label_99">
+ <property name="text">
+ <string>Video :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="21" column="1">
+ <widget class="QCheckBox" name="Crop1088To1080CB">
+ <property name="text">
+ <string>Automatically crop 1920x1088 video to 1920x1080</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="TabProject">
+ <attribute name="title">
+ <string>Project Options</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_5">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="2" column="0">
+ <widget class="QScrollArea" name="scrollArea_3">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents_3">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>664</width>
+ <height>2054</height>
+ </rect>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_4">
+ <property name="margin">
+ <number>4</number>
+ </property>
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <item row="0" column="1" colspan="3">
+ <widget class="QLabel" name="label_8">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Project properties (default values)</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <widget class="QLabel" name="label_18">
+ <property name="text">
+ <string>Project geometry:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>GeometryCombo</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="2">
+ <layout class="QHBoxLayout" name="horizontalLayout_5">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QComboBox" name="GeometryCombo">
+ <property name="toolTip">
+ <string>Select the geometry of image to be used for the creation of the projects.</string>
+ </property>
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <item>
+ <property name="text">
+ <string>Old TV (4:3)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>TV Wide (16:9)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Cinema (2.35:1)</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_15">
+ <property name="text">
+ <string>(Only for new project)</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="7" column="1">
+ <widget class="QLabel" name="label_11">
+ <property name="text">
+ <string>1st shot duration:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>NoShotED</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="2">
+ <layout class="QHBoxLayout" name="horizontalLayout_7">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QDoubleSpinBox" name="NoShotED">
+ <property name="toolTip">
+ <string>Defined the default duration of the first shot of slides during their creation.</string>
+ </property>
+ <property name="decimals">
+ <number>3</number>
+ </property>
+ <property name="value">
+ <double>6.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_12">
+ <property name="text">
+ <string>sec</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_5">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="8" column="1">
+ <widget class="QLabel" name="label_13">
+ <property name="text">
+ <string>Next shot duration:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>StaticShotED</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="2">
+ <layout class="QHBoxLayout" name="horizontalLayout_8">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QDoubleSpinBox" name="StaticShotED">
+ <property name="toolTip">
+ <string>Defined the default duration of next shots.</string>
+ </property>
+ <property name="decimals">
+ <number>3</number>
+ </property>
+ <property name="value">
+ <double>3.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_14">
+ <property name="text">
+ <string>sec</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_6">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="9" column="1">
+ <widget class="QLabel" name="label_17">
+ <property name="text">
+ <string>Speed wave:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>SpeedWaveCombo</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="2">
+ <layout class="QHBoxLayout" name="horizontalLayout_10">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QComboBox" name="SpeedWaveCombo">
+ <property name="toolTip">
+ <string>Defined the curve of speed to be used for the transitions and the animations.</string>
+ </property>
+ <property name="currentIndex">
+ <number>1</number>
+ </property>
+ <item>
+ <property name="text">
+ <string>Linear</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Quarter sine</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_8">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="10" column="1">
+ <widget class="QLabel" name="label_25">
+ <property name="text">
+ <string>Default transition:</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="10" column="2">
+ <layout class="QHBoxLayout" name="horizontalLayout_13">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QRadioButton" name="RandomTransitionRD">
+ <property name="minimumSize">
+ <size>
+ <width>60</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Defined the transition to be inserted between slides during the insertions:
+Chosen randomly a transition in the library</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/random.png</normaloff>:/img/random.png</iconset>
+ </property>
+ <attribute name="buttonGroup">
+ <string>TransitionButtons</string>
+ </attribute>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="NoTransitionRD">
+ <property name="minimumSize">
+ <size>
+ <width>60</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Defined the transition to be inserted between slides during the insertions:
+No transition</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Transitions/tr-00-00.png</normaloff>:/img/Transitions/tr-00-00.png</iconset>
+ </property>
+ <attribute name="buttonGroup">
+ <string>TransitionButtons</string>
+ </attribute>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="BasicTransitionRD">
+ <property name="minimumSize">
+ <size>
+ <width>60</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Defined the transition to be inserted between slides during the insertions:
+Crossfade transition</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Transitions/tr-00-01.png</normaloff>:/img/Transitions/tr-00-01.png</iconset>
+ </property>
+ <attribute name="buttonGroup">
+ <string>TransitionButtons</string>
+ </attribute>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="TransitionDurationCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>50</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Define the transition duration</string>
+ </property>
+ <item>
+ <property name="text">
+ <string notr="true">0.5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">10</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_27">
+ <property name="text">
+ <string>sec</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_4">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="11" column="1" colspan="3">
+ <widget class="QLabel" name="label_36">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Default options for new text block</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="12" column="1">
+ <widget class="QLabel" name="label_37">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Text</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="13" column="1">
+ <widget class="QLabel" name="label_38">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Background</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="12" column="2">
+ <widget class="QComboBox" name="ST_Text_TextCB"/>
+ </item>
+ <item row="13" column="2">
+ <widget class="QComboBox" name="ST_Text_BackgroundCB"/>
+ </item>
+ <item row="31" column="1" colspan="3">
+ <widget class="QLabel" name="label_41">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Default options for new image or video block (when adding block in slide dialog)</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="15" column="2">
+ <layout class="QGridLayout" name="gridLayout_8">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_44">
+ <property name="text">
+ <string>For 4:3 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="ST_Text_Coord43CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_45">
+ <property name="text">
+ <string>For 16:9 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_46">
+ <property name="text">
+ <string>For cinema project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="ST_Text_Coord169CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="ST_Text_CoordCineCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="15" column="1">
+ <widget class="QLabel" name="label_40">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Coordinates</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="18" column="1" colspan="2">
+ <widget class="QLabel" name="label_47">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Default options for new image or video block (when creating slide)</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="19" column="1">
+ <widget class="QLabel" name="label_48">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Text style</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="19" column="2">
+ <widget class="QComboBox" name="STBlockSL_IMG_TextCB"/>
+ </item>
+ <item row="20" column="1">
+ <widget class="QLabel" name="label_49">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Shape</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="20" column="2">
+ <widget class="QComboBox" name="STBlockSL_IMG_ShapeCB"/>
+ </item>
+ <item row="21" column="2">
+ <layout class="QGridLayout" name="gridLayout_9">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_51">
+ <property name="text">
+ <string>For 4:3 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_52">
+ <property name="text">
+ <string>For 16:9 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_53">
+ <property name="text">
+ <string>For cinema project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG1_Coord43CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG1_Coord169CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG1_CoordCineCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="14" column="1">
+ <widget class="QLabel" name="label_39">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Shape</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="14" column="2">
+ <widget class="QComboBox" name="ST_Text_ShapeCB"/>
+ </item>
+ <item row="21" column="1">
+ <widget class="QLabel" name="label_50">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Coordinates
+for 3:2
+image in
+landscape
+mode</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="22" column="1">
+ <widget class="QLabel" name="label_54">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Coordinates
+for 3:2
+image in
+portrait
+mode</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="24" column="1">
+ <widget class="QLabel" name="label_56">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Coordinates
+for 4:3
+image in
+landscape
+mode</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="25" column="1">
+ <widget class="QLabel" name="label_55">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Coordinates
+for 4:3
+image in
+portrait
+mode</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="26" column="1">
+ <widget class="QLabel" name="label_57">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Coordinates
+for 16:9
+image in
+landscape
+mode</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="27" column="1">
+ <widget class="QLabel" name="label_58">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Coordinates
+for 16:9
+image in
+portrait
+mode</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="22" column="2">
+ <layout class="QGridLayout" name="gridLayout_10">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_59">
+ <property name="text">
+ <string>For 4:3 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_60">
+ <property name="text">
+ <string>For 16:9 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_61">
+ <property name="text">
+ <string>For cinema project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG2_Coord43CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG2_Coord169CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG2_CoordCineCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="24" column="2">
+ <layout class="QGridLayout" name="gridLayout_11">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_62">
+ <property name="text">
+ <string>For 4:3 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_63">
+ <property name="text">
+ <string>For 16:9 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_64">
+ <property name="text">
+ <string>For cinema project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG3_Coord43CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG3_Coord169CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG3_CoordCineCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="25" column="2">
+ <layout class="QGridLayout" name="gridLayout_12">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_65">
+ <property name="text">
+ <string>For 4:3 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_66">
+ <property name="text">
+ <string>For 16:9 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_67">
+ <property name="text">
+ <string>For cinema project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG4_Coord43CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG4_Coord169CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG4_CoordCineCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="26" column="2">
+ <layout class="QGridLayout" name="gridLayout_13">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_68">
+ <property name="text">
+ <string>For 4:3 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_69">
+ <property name="text">
+ <string>For 16:9 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_70">
+ <property name="text">
+ <string>For cinema project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG5_Coord43CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG5_Coord169CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG5_CoordCineCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="27" column="2">
+ <layout class="QGridLayout" name="gridLayout_14">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_71">
+ <property name="text">
+ <string>For 4:3 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_72">
+ <property name="text">
+ <string>For 16:9 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_73">
+ <property name="text">
+ <string>For cinema project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG6_Coord43CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG6_Coord169CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG6_CoordCineCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="28" column="1">
+ <widget class="QLabel" name="label_74">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Coordinates
+for cinema
+image in
+landscape
+mode</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="29" column="1">
+ <widget class="QLabel" name="label_75">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Coordinates
+for cinema
+image in
+portrait
+mode</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="30" column="1">
+ <widget class="QLabel" name="label_76">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Coordinates
+for
+nonstandard
+image</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="28" column="2">
+ <layout class="QGridLayout" name="gridLayout_15">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_77">
+ <property name="text">
+ <string>For 4:3 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_78">
+ <property name="text">
+ <string>For 16:9 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_79">
+ <property name="text">
+ <string>For cinema project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG7_Coord43CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG7_Coord169CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG7_CoordCineCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="29" column="2">
+ <layout class="QGridLayout" name="gridLayout_16">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_80">
+ <property name="text">
+ <string>For 4:3 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_81">
+ <property name="text">
+ <string>For 16:9 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_82">
+ <property name="text">
+ <string>For cinema project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG8_Coord43CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG8_Coord169CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG8_CoordCineCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="30" column="2">
+ <layout class="QGridLayout" name="gridLayout_17">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_83">
+ <property name="text">
+ <string>For 4:3 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_84">
+ <property name="text">
+ <string>For 16:9 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_85">
+ <property name="text">
+ <string>For cinema project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG0_Coord43CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG0_Coord169CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="STBlockSL_IMG0_CoordCineCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QComboBox" name="STBlockSL_IMG0_Coord43CB2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QComboBox" name="STBlockSL_IMG0_Coord169CB2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QComboBox" name="STBlockSL_IMG0_CoordCineCB2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="34" column="1">
+ <widget class="QLabel" name="label_86">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Coordinates
+for 3:2
+image in
+landscape
+mode</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="35" column="1">
+ <widget class="QLabel" name="label_87">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Coordinates
+for 3:2
+image in
+portrait
+mode</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="36" column="1">
+ <widget class="QLabel" name="label_88">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Coordinates
+for 4:3
+image in
+landscape
+mode</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="37" column="1">
+ <widget class="QLabel" name="label_98">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Coordinates
+for 4:3
+image in
+portrait
+mode</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="38" column="1">
+ <widget class="QLabel" name="label_105">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Coordinates
+for 16:9
+image in
+landscape
+mode</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="39" column="1">
+ <widget class="QLabel" name="label_112">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Coordinates
+for 16:9
+image in
+portrait
+mode</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="40" column="1">
+ <widget class="QLabel" name="label_113">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Coordinates
+for cinema
+image in
+landscape
+mode</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="41" column="1">
+ <widget class="QLabel" name="label_114">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Coordinates
+for cinema
+image in
+portrait
+mode</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="42" column="1">
+ <widget class="QLabel" name="label_115">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Coordinates
+for
+nonstandard
+image</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="34" column="2">
+ <layout class="QGridLayout" name="gridLayout_27">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_122">
+ <property name="text">
+ <string>For 4:3 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_123">
+ <property name="text">
+ <string>For 16:9 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_124">
+ <property name="text">
+ <string>For cinema project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG1_Coord43CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG1_Coord169CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG1_CoordCineCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="35" column="2">
+ <layout class="QGridLayout" name="gridLayout_28">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_125">
+ <property name="text">
+ <string>For 4:3 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_126">
+ <property name="text">
+ <string>For 16:9 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_127">
+ <property name="text">
+ <string>For cinema project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG2_Coord43CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG2_Coord169CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG2_CoordCineCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="36" column="2">
+ <layout class="QGridLayout" name="gridLayout_29">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_128">
+ <property name="text">
+ <string>For 4:3 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_129">
+ <property name="text">
+ <string>For 16:9 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_130">
+ <property name="text">
+ <string>For cinema project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG3_Coord43CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG3_Coord169CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG3_CoordCineCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="37" column="2">
+ <layout class="QGridLayout" name="gridLayout_30">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_131">
+ <property name="text">
+ <string>For 4:3 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_132">
+ <property name="text">
+ <string>For 16:9 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_133">
+ <property name="text">
+ <string>For cinema project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG4_Coord43CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG4_Coord169CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG4_CoordCineCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="38" column="2">
+ <layout class="QGridLayout" name="gridLayout_31">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_134">
+ <property name="text">
+ <string>For 4:3 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_135">
+ <property name="text">
+ <string>For 16:9 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_136">
+ <property name="text">
+ <string>For cinema project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG5_Coord43CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG5_Coord169CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG5_CoordCineCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="39" column="2">
+ <layout class="QGridLayout" name="gridLayout_32">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_137">
+ <property name="text">
+ <string>For 4:3 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_138">
+ <property name="text">
+ <string>For 16:9 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_139">
+ <property name="text">
+ <string>For cinema project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG6_Coord43CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG6_Coord169CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG6_CoordCineCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="40" column="2">
+ <layout class="QGridLayout" name="gridLayout_33">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_140">
+ <property name="text">
+ <string>For 4:3 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_141">
+ <property name="text">
+ <string>For 16:9 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_142">
+ <property name="text">
+ <string>For cinema project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG7_Coord43CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG7_Coord169CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG7_CoordCineCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="41" column="2">
+ <layout class="QGridLayout" name="gridLayout_34">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_143">
+ <property name="text">
+ <string>For 4:3 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_144">
+ <property name="text">
+ <string>For 16:9 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_145">
+ <property name="text">
+ <string>For cinema project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG8_Coord43CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG8_Coord169CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG8_CoordCineCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="42" column="2">
+ <layout class="QGridLayout" name="gridLayout_35">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_146">
+ <property name="text">
+ <string>For 4:3 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_147">
+ <property name="text">
+ <string>For 16:9 project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_148">
+ <property name="text">
+ <string>For cinema project:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG0_Coord43CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG0_Coord169CB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="STBlockBA_IMG0_CoordCineCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QComboBox" name="STBlockBA_IMG0_Coord43CB2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QComboBox" name="STBlockBA_IMG0_Coord169CB2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QComboBox" name="STBlockBA_IMG0_CoordCineCB2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="32" column="1">
+ <widget class="QLabel" name="label_149">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Text style</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="32" column="2">
+ <widget class="QComboBox" name="STBlockBA_IMG_TextCB"/>
+ </item>
+ <item row="33" column="1">
+ <widget class="QLabel" name="label_150">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text">
+ <string>Shape</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="33" column="2">
+ <widget class="QComboBox" name="STBlockBA_IMG_ShapeCB"/>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLabel" name="label_92">
+ <property name="text">
+ <string>Title :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1" colspan="2">
+ <widget class="QLabel" name="label_32">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Project options (default values)</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLabel" name="label_93">
+ <property name="text">
+ <string>Author :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QLineEdit" name="DefaultAuthorED">
+ <property name="maxLength">
+ <number>30</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QComboBox" name="DefaultTitleCB">
+ <item>
+ <property name="text">
+ <string>No automatic filling</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Fill with project name when project save (if not yet defined)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Fill with project folder name when project save (if not yet defined)</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QLabel" name="label_94">
+ <property name="text">
+ <string>Default language :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <layout class="QHBoxLayout" name="horizontalLayout_11">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLineEdit" name="LanguageED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>50</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>und</string>
+ </property>
+ <property name="maxLength">
+ <number>3</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_95">
+ <property name="text">
+ <string>(ISO 639 language code)</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="TabRender">
+ <attribute name="title">
+ <string>Rendering Options</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout_6">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="2" column="0">
+ <widget class="QScrollArea" name="scrollArea">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>680</width>
+ <height>415</height>
+ </rect>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <property name="margin">
+ <number>4</number>
+ </property>
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <item row="35" column="0">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="23" column="0" colspan="3">
+ <widget class="QLabel" name="label_10">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Default advanced rendering options</string>
+ </property>
+ </widget>
+ </item>
+ <item row="30" column="0">
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>Video codec :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>VideoFormatCB</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="24" column="0">
+ <widget class="QLabel" name="label_24">
+ <property name="text">
+ <string>File format :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>FileFormatCB</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="31" column="0">
+ <widget class="QLabel" name="label_21">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Bit rate :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>VideoBitRateCB</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="31" column="1">
+ <widget class="QComboBox" name="VideoBitRateCB">
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>80</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Select the default bit rate to use for video during the rendering among the proposed list. </string>
+ </property>
+ </widget>
+ </item>
+ <item row="30" column="1" colspan="2">
+ <widget class="QComboBox" name="VideoFormatCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip">
+ <string>Select the default video codec to use for the rendering among the proposed list. </string>
+ </property>
+ </widget>
+ </item>
+ <item row="32" column="1" colspan="2">
+ <widget class="QComboBox" name="AudioFormatCB">
+ <property name="toolTip">
+ <string>Select the default audio codec to use for the rendering among the proposed list. </string>
+ </property>
+ </widget>
+ </item>
+ <item row="32" column="0">
+ <widget class="QLabel" name="label_22">
+ <property name="text">
+ <string>Audio codec :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>AudioFormatCB</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="34" column="0">
+ <widget class="QLabel" name="label_23">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Bit rate :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>AudioBitRateCB</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="34" column="1">
+ <widget class="QComboBox" name="AudioBitRateCB">
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>80</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Select the default bit rate to use for audio during the rendering among the proposed list. </string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_29">
+ <property name="text">
+ <string>Smartphone :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_30">
+ <property name="text">
+ <string>Multimedia system :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_31">
+ <property name="text">
+ <string>For the WEB :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QComboBox" name="SmartphoneTypeCB">
+ <property name="toolTip">
+ <string>Select the type of equipment which will be proposed by default when you will click the "Player and Smartphone" button of the "Render movie" menu</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <widget class="QComboBox" name="ForTheWTypeCB">
+ <property name="toolTip">
+ <string>Select the type of equipment which will be proposed by default when you will click the "For the WEB" button of the "Render movie" menu</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QComboBox" name="MMSystemTypeCB">
+ <property name="toolTip">
+ <string>Select the type of equipment which will be proposed by default when you will click the "Multimedia system" button of the "Render movie" menu</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <widget class="QComboBox" name="SmartphoneModelCB">
+ <property name="toolTip">
+ <string>Select the model of equipment which will be proposed by default when you will click the "Player and Smartphone" button of the "Render movie" menu</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="2">
+ <widget class="QComboBox" name="MMSystemModelCB">
+ <property name="toolTip">
+ <string>Select the model of equipment which will be proposed by default when you will click the "Multimedia system" button of the "Render movie" menu</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="2">
+ <widget class="QComboBox" name="ForTheWModelCB">
+ <property name="toolTip">
+ <string>Select the model of equipment which will be proposed by default when you will click the "For the WEB" button of the "Render movie" menu</string>
+ </property>
+ </widget>
+ </item>
+ <item row="24" column="1" colspan="2">
+ <widget class="QComboBox" name="FileFormatCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip">
+ <string>Select the default file type to use for the rendering among the proposed list.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="26" column="0">
+ <widget class="QLabel" name="label_20">
+ <property name="text">
+ <string>Video standard :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>StandardCombo</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="26" column="1" colspan="2">
+ <layout class="QHBoxLayout" name="horizontalLayout_17">
+ <item>
+ <widget class="QComboBox" name="StandardCombo">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip">
+ <string>Select the default video standard to use, PAL or NTSC.</string>
+ </property>
+ <item>
+ <property name="text">
+ <string>PAL</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>NTSC</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_43">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="29" column="0">
+ <widget class="QLabel" name="label_19">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Format :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>SizeCombo</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="29" column="1" colspan="2">
+ <widget class="QComboBox" name="SizeCombo">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip">
+ <string>Select the default image format to use for the rendering among the proposed list. </string>
+ </property>
+ <property name="currentIndex">
+ <number>-1</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_91">
+ <property name="text">
+ <string>Default video name :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="4">
+ <widget class="QLabel" name="label_28">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Default device mode rendering options</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" colspan="2">
+ <widget class="QComboBox" name="DefaultNameProjectNameCB">
+ <item>
+ <property name="text">
+ <string>Use project folder's name as video name</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Use project name as video name</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Use title project as video name</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="7" column="0">
+ <widget class="QLabel" name="label_35">
+ <property name="text">
+ <string>Lossless :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="1" colspan="2">
+ <widget class="QComboBox" name="LosslessSizeCombo">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip">
+ <string>Select the default image format to use for the rendering among the proposed list. </string>
+ </property>
+ <property name="currentIndex">
+ <number>-1</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="CheckConfigBT">
+ <property name="text">
+ <string>Check Configuration</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/config.png</normaloff>:/img/config.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="DBManageDevicesBT">
+ <property name="text">
+ <string>Manage Devices</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/db.png</normaloff>:/img/db.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="OkBt">
+ <property name="toolTip">
+ <string>Accept modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Ok</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="CancelBt">
+ <property name="toolTip">
+ <string>Cancel modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Cancel</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="HelpBT">
+ <property name="toolTip">
+ <string>Open help page describing this dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Help</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>F1</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <tabstops>
+ <tabstop>RandomTransitionRD</tabstop>
+ <tabstop>NoTransitionRD</tabstop>
+ <tabstop>BasicTransitionRD</tabstop>
+ <tabstop>PreviewFrameRateCB</tabstop>
+ <tabstop>GeometryCombo</tabstop>
+ <tabstop>NoShotED</tabstop>
+ <tabstop>StaticShotED</tabstop>
+ <tabstop>SpeedWaveCombo</tabstop>
+ <tabstop>OkBt</tabstop>
+ <tabstop>CancelBt</tabstop>
+ </tabstops>
+ <resources>
+ <include location="../../../RSCffDiaporama.qrc"/>
+ </resources>
+ <connections/>
+ <buttongroups>
+ <buttongroup name="TransitionButtons"/>
+ </buttongroups>
+</ui>
diff --git a/src/sharedfiles/DlgManageDevices.cpp b/src/ffDiaporama/DlgAppSettings/DlgManageDevices/DlgManageDevices.cpp
similarity index 100%
rename from src/sharedfiles/DlgManageDevices.cpp
rename to src/ffDiaporama/DlgAppSettings/DlgManageDevices/DlgManageDevices.cpp
diff --git a/src/ffDiaporama/DlgAppSettings/DlgManageDevices/DlgManageDevices.h b/src/ffDiaporama/DlgAppSettings/DlgManageDevices/DlgManageDevices.h
new file mode 100755
index 0000000..82f8944
--- /dev/null
+++ b/src/ffDiaporama/DlgAppSettings/DlgManageDevices/DlgManageDevices.h
@@ -0,0 +1,88 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef DLGMANAGEDEVICES_H
+#define DLGMANAGEDEVICES_H
+
+// Basic inclusions (common to all files)
+#include "../../../engine/_GlobalDefines.h"
+#include "../../../engine/_QCustomDialog.h"
+
+// Include some additional standard class
+#include <QString>
+#include <QComboBox>
+
+// Include some common various class
+#include "../../../engine/cBaseApplicationConfig.h"
+#include "../../../engine/cDeviceModelDef.h"
+#include "../../../engine/cSaveWindowPosition.h"
+
+namespace Ui {
+ class DlgManageDevices;
+}
+
+class DlgManageDevices : public QCustomDialog {
+Q_OBJECT
+public:
+ cDeviceModelList *DeviceModelList;
+ bool IsDeviceChanged;
+ int CurrentDevice;
+ int CurrentDeviceIndex;
+ QComboBox *CB_SL[9][3];
+ QComboBox *CB_BA[9][3];
+ QComboBox *CB_SL_CLIPARTST[3];
+ QComboBox *CB_BA_CLIPARTST[3];
+
+ explicit DlgManageDevices(cDeviceModelList *DeviceModelList,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent = 0);
+ ~DlgManageDevices();
+
+ // function to be overloaded
+ virtual void DoInitDialog(); // Initialise dialog
+ virtual void DoAccept(); // Call when user click on Ok button
+ virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button
+ virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo
+ virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button
+
+protected:
+ void AskApplyDBChange();
+
+private slots:
+ // Device database tab
+ void DBApplyChange();
+ void DBAddDevice();
+ void DBRemoveBT();
+ void DBResetToDefaultBT();
+ void DBFillTableDevice(int);
+ void DBImageSizeCombo(int);
+ void DBFileFormatCombo(int);
+ void DBSelectionChanged();
+ void DBChImageSizeCB(int);
+ void DBVideoBitRateCB(int);
+ void DBAudioBitRateCB(int);
+ void DBChModel(QString);
+ void DBDeviceSubtypeCB(int);
+ void DBChVideoBitRateCB(int);
+ void DBChAudioBitRateCB(int);
+
+private:
+ Ui::DlgManageDevices *ui;
+};
+
+#endif // DLGMANAGEDEVICES_H
diff --git a/src/ffDiaporama/DlgAppSettings/DlgManageDevices/DlgManageDevices.ui b/src/ffDiaporama/DlgAppSettings/DlgManageDevices/DlgManageDevices.ui
new file mode 100755
index 0000000..392e029
--- /dev/null
+++ b/src/ffDiaporama/DlgAppSettings/DlgManageDevices/DlgManageDevices.ui
@@ -0,0 +1,545 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DlgManageDevices</class>
+ <widget class="QDialog" name="DlgManageDevices">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>700</width>
+ <height>500</height>
+ </rect>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>700</width>
+ <height>500</height>
+ </size>
+ </property>
+ <property name="windowTitle">
+ <string>Manage Devices</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <property name="margin">
+ <number>8</number>
+ </property>
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <item row="0" column="0">
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="DeviceTypeLabel">
+ <property name="text">
+ <string>Device type :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="DBDeviceTypeCB">
+ <property name="toolTip">
+ <string>Select the type of equipment to be shown in the list.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="2">
+ <widget class="QTableWidget" name="TableDevice">
+ <property name="font">
+ <font>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="editTriggers">
+ <set>QAbstractItemView::NoEditTriggers</set>
+ </property>
+ <property name="showDropIndicator" stdset="0">
+ <bool>false</bool>
+ </property>
+ <property name="dragDropOverwriteMode">
+ <bool>false</bool>
+ </property>
+ <property name="selectionMode">
+ <enum>QAbstractItemView::SingleSelection</enum>
+ </property>
+ <property name="selectionBehavior">
+ <enum>QAbstractItemView::SelectRows</enum>
+ </property>
+ <property name="verticalScrollMode">
+ <enum>QAbstractItemView::ScrollPerItem</enum>
+ </property>
+ <property name="horizontalScrollMode">
+ <enum>QAbstractItemView::ScrollPerPixel</enum>
+ </property>
+ <property name="sortingEnabled">
+ <bool>true</bool>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ <property name="cornerButtonEnabled">
+ <bool>false</bool>
+ </property>
+ <attribute name="horizontalHeaderHighlightSections">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="horizontalHeaderStretchLastSection">
+ <bool>true</bool>
+ </attribute>
+ <attribute name="verticalHeaderVisible">
+ <bool>false</bool>
+ </attribute>
+ <column>
+ <property name="text">
+ <string notr="true">#</string>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Subtype</string>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Model</string>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ </column>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <layout class="QHBoxLayout" name="horizontalLayout_5">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="DBAddDevice">
+ <property name="toolTip">
+ <string>Create a new equipment which comes to be added in the database.</string>
+ </property>
+ <property name="text">
+ <string>Add Device</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/db_add.png</normaloff>:/img/db_add.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="DBRemoveBT">
+ <property name="toolTip">
+ <string>Delete current equipment.</string>
+ </property>
+ <property name="text">
+ <string>Remove Device</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/db_remove.png</normaloff>:/img/db_remove.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="DBResetBT">
+ <property name="toolTip">
+ <string>Cancel the modifications that you made on an equipment defined in the default ffDiaporama database</string>
+ </property>
+ <property name="text">
+ <string>Reset Device to Default</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/db_status.png</normaloff>:/img/db_status.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_33">
+ <property name="text">
+ <string>Device subtype :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QComboBox" name="DBDeviceSubtypeCB">
+ <property name="toolTip">
+ <string>Select the category in which is classified the equipment.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="DeviceModelLabel">
+ <property name="text">
+ <string>Device model :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="FileFormatLabel">
+ <property name="text">
+ <string>File format :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QLineEdit" name="DBDeviceModelED">
+ <property name="toolTip">
+ <string>Enter here the name of the equipment (free text field).</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <widget class="QComboBox" name="DBFileFormatCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip">
+ <string>Select the file type to use for the rendering.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="0">
+ <widget class="QLabel" name="StandardLabel">
+ <property name="text">
+ <string>Video standard :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_14">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QComboBox" name="DBStandardCB">
+ <property name="toolTip">
+ <string>Select the video standard to use, PAL or NTSC.</string>
+ </property>
+ <item>
+ <property name="text">
+ <string>PAL</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>NTSC</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_9">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="8" column="0">
+ <widget class="QLabel" name="ImageSizeLabel">
+ <property name="text">
+ <string>Image format :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="1">
+ <widget class="QComboBox" name="DBImageSizeCombo">
+ <property name="toolTip">
+ <string>Select the image resolution to use for the rendering.</string>
+ </property>
+ <property name="currentIndex">
+ <number>-1</number>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="0">
+ <widget class="QLabel" name="VideoFormatLabel">
+ <property name="text">
+ <string>Video codec :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_11">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QComboBox" name="DBVideoFormatCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>150</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Select the video codec to use for the rendering.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="VideoBitRateLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Bit rate :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="DBVideoBitRateCB">
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>80</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Select the bit rate to use for video during the rendering.</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="10" column="0">
+ <widget class="QLabel" name="AudioFormatLabel">
+ <property name="text">
+ <string>Audio codec :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="10" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_16">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QComboBox" name="DBAudioFormatCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>150</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Select the audio codec to use for the rendering.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="AudioBitRateLabel">
+ <property name="text">
+ <string>Bit rate :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="DBAudioBitRateCB">
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>80</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Select the bit rate to use for audio during the rendering.</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="11" column="0">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="0">
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="DBApplyBT">
+ <property name="text">
+ <string>Apply</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="OkBt">
+ <property name="toolTip">
+ <string>Accept modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Ok</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="CancelBt">
+ <property name="toolTip">
+ <string>Cancel modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Cancel</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="HelpBT">
+ <property name="toolTip">
+ <string>Open help page describing this dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Help</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>F1</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="../../../../RSCffDiaporama.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/ffDiaporama/DlgApplicationSettings.cpp b/src/ffDiaporama/DlgApplicationSettings.cpp
deleted file mode 100755
index 9268fff..0000000
--- a/src/ffDiaporama/DlgApplicationSettings.cpp
+++ /dev/null
@@ -1,723 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "../sharedfiles/DlgCheckConfig.h"
-#include "../sharedfiles/DlgManageDevices.h"
-
-#include "DlgApplicationSettings.h"
-#include "ui_DlgApplicationSettings.h"
-
-#define ICON_GEOMETRY_IMAGE ":/img/Geometry_ImageLock.png"
-#define ICON_FRAMING_FULL ":/img/AdjustWH.png"
-#define ICON_FRAMING_WIDTH ":/img/AdjustW.png"
-#define ICON_FRAMING_HEIGHT ":/img/AdjustH.png"
-#define ICON_GLOBALCONF ":/img/db.png"
-#define ICON_USERCONF ":/img/db_update.png"
-
-DlgApplicationSettings::DlgApplicationSettings(QString HelpURL,cApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent)
- :QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent),ui(new Ui::DlgApplicationSettings) {
-
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::DlgApplicationSettings");
-
- this->ApplicationConfig=ApplicationConfig;
-
- ui->setupUi(this);
- CancelBt=ui->CancelBt;
- OkBt =ui->OkBt;
- HelpBt =ui->HelpBT;
-
- IsDeviceChanged =false;
- CurrentDevice =-1;
- CurrentDeviceIndex =-1;
-}
-
-//====================================================================================================================
-// Initialise dialog
-
-void DlgApplicationSettings::DoInitDialog() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::DoInitDialog");
-
- //********************************
- // Application TAB
- //********************************
-
- // Application options
- ui->RememberLastDirectoriesCH->setChecked(ApplicationConfig->RememberLastDirectories);
- ui->RestoreWindowCH->setChecked(ApplicationConfig->RestoreWindow);
- #ifdef Q_OS_WIN
- ui->RasterModeCB->setVisible(false);
- ui->SDLAudioModeCB->setVisible(false);
- #elif defined(Q_OS_UNIX) && !defined(Q_OS_MACX)
- ui->RasterModeCB->setChecked(ApplicationConfig->RasterMode);
- #endif
- #ifdef Q_OS_WIN
- if (IsWindowsXP) {
- ui->MemCacheProfilCB->setVisible(false);
- ui->MemCacheProfilLabel->setVisible(false);
- ui->MemCacheProfilSpacer->setVisible(false);
- } else {
- #endif
- if (ApplicationConfig->MemCacheMaxValue<=qlonglong(256*1024*1024)) ui->MemCacheProfilCB->setCurrentIndex(0);
- else if (ApplicationConfig->MemCacheMaxValue<=qlonglong(512*1024*1024)) ui->MemCacheProfilCB->setCurrentIndex(1);
- else if (ApplicationConfig->MemCacheMaxValue<=qlonglong(1024*1024*1024)) ui->MemCacheProfilCB->setCurrentIndex(2);
- else ui->MemCacheProfilCB->setCurrentIndex(3);
- #ifdef Q_OS_WIN
- }
- #endif
- ui->SDLAudioModeCB->setChecked(ApplicationConfig->SDLAudioOldMode);
- ui->CacheTransformedImagesCB->setChecked(ApplicationConfig->AllowCachedTransfoImages);
-
- // Preview Options
- QString FPS=(QString("%1").arg(ApplicationConfig->PreviewFPS,0,'f')).trimmed();
- while (FPS.endsWith('0')) FPS=FPS.left(FPS.length()-1);
- if (FPS.endsWith('.')) FPS=FPS.left(FPS.length()-1);
- ui->PreviewFrameRateCB->setCurrentIndex(ui->PreviewFrameRateCB->findText(FPS));
- ui->ApplyTransfoDuringPreviewCB->setChecked(ApplicationConfig->ApplyTransfoPreview);
- ui->SmoothImageDuringPreviewCB->setChecked(ApplicationConfig->Smoothing);
- ui->QuickResamplingPreviewCB->setChecked(ApplicationConfig->QuickResamplingPreview);
-
- // Editor options
- ui->UnitCB->setCurrentIndex(ApplicationConfig->DisplayUnit);
- ui->AppendObjectCB->setCurrentIndex(ApplicationConfig->AppendObject?1:0);
- ui->SortFileCB->setChecked(ApplicationConfig->SortFile);
- ui->AskUserToRemove->setChecked(ApplicationConfig->AskUserToRemove);
-
- // Video options
- ui->Crop1088To1080CB->setChecked(ApplicationConfig->Crop1088To1080);
-
- //********************************
- // Project TAB
- //********************************
-
- // Project options
- ui->GeometryCombo->setCurrentIndex(ApplicationConfig->ImageGeometry);
- ui->NoShotED->setValue(double(ApplicationConfig->NoShotDuration)/1000);
- ui->StaticShotED->setValue(double(ApplicationConfig->FixedDuration)/1000);
- ui->SpeedWaveCombo->setCurrentIndex(ApplicationConfig->SpeedWave);
- ui->RandomTransitionRD->setChecked(ApplicationConfig->RandomTransition);
- ui->NoTransitionRD->setChecked((!ApplicationConfig->RandomTransition)&&(ApplicationConfig->DefaultTransitionFamilly==0)&&(ApplicationConfig->DefaultTransitionSubType==0));
- ui->BasicTransitionRD->setChecked((!ApplicationConfig->RandomTransition)&&(ApplicationConfig->DefaultTransitionFamilly==0)&&(ApplicationConfig->DefaultTransitionSubType==1));
- QString Duration=QString("%1").arg(double(ApplicationConfig->DefaultTransitionDuration)/double(1000),0,'f');
- while (Duration.endsWith('0')) Duration=Duration.left(Duration.length()-1);
- while (Duration.endsWith('.')) Duration=Duration.left(Duration.length()-1);
- ui->TransitionDurationCB->setCurrentIndex(ui->TransitionDurationCB->findText(Duration));
- ui->DefaultTitleCB->setCurrentIndex(ApplicationConfig->DefaultTitleFilling);
- ui->DefaultAuthorED->setText(ApplicationConfig->DefaultAuthor);
-
- // New text block options
- ApplicationConfig->StyleTextCollection. FillCollectionCB(ui->ST_Text_TextCB, ApplicationConfig->StyleTextCollection.DecodeString(ApplicationConfig->DefaultBlock_Text_TextST),false);
- ApplicationConfig->StyleTextBackgroundCollection. FillCollectionCB(ui->ST_Text_BackgroundCB, ApplicationConfig->StyleTextBackgroundCollection.DecodeString(ApplicationConfig->DefaultBlock_Text_BackGST),false);
- ApplicationConfig->StyleBlockShapeCollection. FillCollectionCB(ui->ST_Text_ShapeCB, ApplicationConfig->StyleBlockShapeCollection.DecodeString(ApplicationConfig->DefaultBlock_Text_ShapeST),false);
- ApplicationConfig->StyleCoordinateCollection. SetProjectGeometryFilter(0);
- ApplicationConfig->StyleCoordinateCollection. FillCollectionCB(ui->ST_Text_Coord43CB,ApplicationConfig->StyleCoordinateCollection.DecodeString(ApplicationConfig->DefaultBlock_Text_CoordST[0]),false);
- ApplicationConfig->StyleCoordinateCollection. SetProjectGeometryFilter(1);
- ApplicationConfig->StyleCoordinateCollection. FillCollectionCB(ui->ST_Text_Coord169CB,ApplicationConfig->StyleCoordinateCollection.DecodeString(ApplicationConfig->DefaultBlock_Text_CoordST[1]),false);
- ApplicationConfig->StyleCoordinateCollection. SetProjectGeometryFilter(2);
- ApplicationConfig->StyleCoordinateCollection. FillCollectionCB(ui->ST_Text_CoordCineCB,ApplicationConfig->StyleCoordinateCollection.DecodeString(ApplicationConfig->DefaultBlock_Text_CoordST[2]),false);
-
- // Get link to combobox
- CB_SL[0][0]=ui->STBlockSL_IMG0_Coord43CB; CB_SL[0][1]=ui->STBlockSL_IMG0_Coord169CB; CB_SL[0][2]=ui->STBlockSL_IMG0_CoordCineCB;
- CB_SL[1][0]=ui->STBlockSL_IMG1_Coord43CB; CB_SL[1][1]=ui->STBlockSL_IMG1_Coord169CB; CB_SL[1][2]=ui->STBlockSL_IMG1_CoordCineCB;
- CB_SL[2][0]=ui->STBlockSL_IMG2_Coord43CB; CB_SL[2][1]=ui->STBlockSL_IMG2_Coord169CB; CB_SL[2][2]=ui->STBlockSL_IMG2_CoordCineCB;
- CB_SL[3][0]=ui->STBlockSL_IMG3_Coord43CB; CB_SL[3][1]=ui->STBlockSL_IMG3_Coord169CB; CB_SL[3][2]=ui->STBlockSL_IMG3_CoordCineCB;
- CB_SL[4][0]=ui->STBlockSL_IMG4_Coord43CB; CB_SL[4][1]=ui->STBlockSL_IMG4_Coord169CB; CB_SL[4][2]=ui->STBlockSL_IMG4_CoordCineCB;
- CB_SL[5][0]=ui->STBlockSL_IMG5_Coord43CB; CB_SL[5][1]=ui->STBlockSL_IMG5_Coord169CB; CB_SL[5][2]=ui->STBlockSL_IMG5_CoordCineCB;
- CB_SL[6][0]=ui->STBlockSL_IMG6_Coord43CB; CB_SL[6][1]=ui->STBlockSL_IMG6_Coord169CB; CB_SL[6][2]=ui->STBlockSL_IMG6_CoordCineCB;
- CB_SL[7][0]=ui->STBlockSL_IMG7_Coord43CB; CB_SL[7][1]=ui->STBlockSL_IMG7_Coord169CB; CB_SL[7][2]=ui->STBlockSL_IMG7_CoordCineCB;
- CB_SL[8][0]=ui->STBlockSL_IMG8_Coord43CB; CB_SL[8][1]=ui->STBlockSL_IMG8_Coord169CB; CB_SL[8][2]=ui->STBlockSL_IMG8_CoordCineCB;
- CB_BA[0][0]=ui->STBlockBA_IMG0_Coord43CB; CB_BA[0][1]=ui->STBlockBA_IMG0_Coord169CB; CB_BA[0][2]=ui->STBlockBA_IMG0_CoordCineCB;
- CB_BA[1][0]=ui->STBlockBA_IMG1_Coord43CB; CB_BA[1][1]=ui->STBlockBA_IMG1_Coord169CB; CB_BA[1][2]=ui->STBlockBA_IMG1_CoordCineCB;
- CB_BA[2][0]=ui->STBlockBA_IMG2_Coord43CB; CB_BA[2][1]=ui->STBlockBA_IMG2_Coord169CB; CB_BA[2][2]=ui->STBlockBA_IMG2_CoordCineCB;
- CB_BA[3][0]=ui->STBlockBA_IMG3_Coord43CB; CB_BA[3][1]=ui->STBlockBA_IMG3_Coord169CB; CB_BA[3][2]=ui->STBlockBA_IMG3_CoordCineCB;
- CB_BA[4][0]=ui->STBlockBA_IMG4_Coord43CB; CB_BA[4][1]=ui->STBlockBA_IMG4_Coord169CB; CB_BA[4][2]=ui->STBlockBA_IMG4_CoordCineCB;
- CB_BA[5][0]=ui->STBlockBA_IMG5_Coord43CB; CB_BA[5][1]=ui->STBlockBA_IMG5_Coord169CB; CB_BA[5][2]=ui->STBlockBA_IMG5_CoordCineCB;
- CB_BA[6][0]=ui->STBlockBA_IMG6_Coord43CB; CB_BA[6][1]=ui->STBlockBA_IMG6_Coord169CB; CB_BA[6][2]=ui->STBlockBA_IMG6_CoordCineCB;
- CB_BA[7][0]=ui->STBlockBA_IMG7_Coord43CB; CB_BA[7][1]=ui->STBlockBA_IMG7_Coord169CB; CB_BA[7][2]=ui->STBlockBA_IMG7_CoordCineCB;
- CB_BA[8][0]=ui->STBlockBA_IMG8_Coord43CB; CB_BA[8][1]=ui->STBlockBA_IMG8_Coord169CB; CB_BA[8][2]=ui->STBlockBA_IMG8_CoordCineCB;
-
- CB_SL_CLIPARTST[0]=ui->STBlockSL_IMG0_Coord43CB2; CB_SL_CLIPARTST[1]=ui->STBlockSL_IMG0_Coord169CB2; CB_SL_CLIPARTST[2]=ui->STBlockSL_IMG0_CoordCineCB2;
- CB_BA_CLIPARTST[0]=ui->STBlockBA_IMG0_Coord43CB2; CB_BA_CLIPARTST[1]=ui->STBlockBA_IMG0_Coord169CB2; CB_BA_CLIPARTST[2]=ui->STBlockBA_IMG0_CoordCineCB2;
-
- // New image block options (when slide creation)
- ApplicationConfig->StyleTextCollection. FillCollectionCB(ui->STBlockSL_IMG_TextCB, ApplicationConfig->StyleTextCollection.DecodeString(ApplicationConfig->DefaultBlockSL_IMG_TextST),false);
- ApplicationConfig->StyleBlockShapeCollection. FillCollectionCB(ui->STBlockSL_IMG_ShapeCB, ApplicationConfig->StyleBlockShapeCollection.DecodeString(ApplicationConfig->DefaultBlockSL_IMG_ShapeST),false);
-
- // New image block options (when block add in slide dialog)
- ApplicationConfig->StyleTextCollection. FillCollectionCB(ui->STBlockBA_IMG_TextCB, ApplicationConfig->StyleTextCollection.DecodeString(ApplicationConfig->DefaultBlockBA_IMG_TextST),false);
- ApplicationConfig->StyleBlockShapeCollection. FillCollectionCB(ui->STBlockBA_IMG_ShapeCB, ApplicationConfig->StyleBlockShapeCollection.DecodeString(ApplicationConfig->DefaultBlockBA_IMG_ShapeST),false);
-
- for (int i=0;i<9;i++) for (int j=0;j<3;j++) {
- ApplicationConfig->StyleCoordinateCollection.SetImageGeometryFilter(j,i);
- ApplicationConfig->StyleCoordinateCollection.FillCollectionCB(CB_SL[i][j],ApplicationConfig->StyleCoordinateCollection.DecodeString(ApplicationConfig->DefaultBlockSL_IMG_CoordST[i][j]),false);
- ApplicationConfig->StyleCoordinateCollection.FillCollectionCB(CB_BA[i][j],ApplicationConfig->StyleCoordinateCollection.DecodeString(ApplicationConfig->DefaultBlockBA_IMG_CoordST[i][j]),false);
- }
-
- for (int i=0;i<3;i++) {
- CB_SL_CLIPARTST[i]->addItem(QIcon(ICON_GEOMETRY_IMAGE), QApplication::translate("DlgApplicationSettings","Lock to image geometry"));
- CB_SL_CLIPARTST[i]->addItem(QIcon(ICON_FRAMING_FULL), QApplication::translate("DlgApplicationSettings","Lock to project geometry-to full image"));
- CB_SL_CLIPARTST[i]->addItem(QIcon(ICON_FRAMING_WIDTH), QApplication::translate("DlgApplicationSettings","Lock to project geometry-to width"));
- CB_SL_CLIPARTST[i]->addItem(QIcon(ICON_FRAMING_HEIGHT), QApplication::translate("DlgApplicationSettings","Lock to project geometry-to height"));
- CB_SL_CLIPARTST[i]->view()->setFixedWidth(500);
- CB_SL_CLIPARTST[i]->setCurrentIndex(ApplicationConfig->DefaultBlockSL_CLIPARTLOCK[i]);
-
- CB_BA_CLIPARTST[i]->addItem(QIcon(ICON_GEOMETRY_IMAGE), QApplication::translate("DlgApplicationSettings","Lock to image geometry"));
- CB_BA_CLIPARTST[i]->addItem(QIcon(ICON_FRAMING_FULL), QApplication::translate("DlgApplicationSettings","Lock to project geometry-to full image"));
- CB_BA_CLIPARTST[i]->addItem(QIcon(ICON_FRAMING_WIDTH), QApplication::translate("DlgApplicationSettings","Lock to project geometry-to width"));
- CB_BA_CLIPARTST[i]->addItem(QIcon(ICON_FRAMING_HEIGHT), QApplication::translate("DlgApplicationSettings","Lock to project geometry-to height"));
- CB_BA_CLIPARTST[i]->view()->setFixedWidth(500);
- CB_BA_CLIPARTST[i]->setCurrentIndex(ApplicationConfig->DefaultBlockBA_CLIPARTLOCK[i]);
- }
-
- //********************************
- // RenderDefault part
- //********************************
- ui->SmartphoneTypeCB->view()->setFixedWidth(400);
- ui->MMSystemTypeCB->view()->setFixedWidth(400);
- ui->ForTheWTypeCB->view()->setFixedWidth(400);
- ui->SmartphoneModelCB->view()->setFixedWidth(400);
- ui->MMSystemModelCB->view()->setFixedWidth(400);
- ui->ForTheWModelCB->view()->setFixedWidth(400);
-
- // Init format container combo
- ui->DefaultNameProjectNameCB->setCurrentIndex(ApplicationConfig->DefaultNameProjectName);
- for (int i=0;i<NBR_FORMATDEF;i++) if (FORMATDEF[i].IsFind) {
- ui->FileFormatCB->addItem(FORMATDEF[i].LongName,QVariant(i));
- if (i==ApplicationConfig->DefaultFormat) ui->FileFormatCB->setCurrentIndex(ui->FileFormatCB->count()-1);
- }
- if (ui->FileFormatCB->currentIndex()<0) ui->FileFormatCB->setCurrentIndex(0);
- // Image size & standard
- ui->StandardCombo->setCurrentIndex(ApplicationConfig->DefaultStandard);
- InitImageSizeCombo(0);
- ui->SizeCombo->setCurrentIndex(ui->SizeCombo->findText(DefImageFormat[ApplicationConfig->DefaultStandard][ApplicationConfig->ImageGeometry][ApplicationConfig->DefaultImageSize].Name));
- ui->LosslessSizeCombo->setCurrentIndex(ui->LosslessSizeCombo->findText(DefImageFormat[ApplicationConfig->DefaultStandard][ApplicationConfig->ImageGeometry][ApplicationConfig->DefaultLossLess].Name));
- // codec(s) & bitrate(s)
- FileFormatCombo(-1); // For first initialisation : ChangeIndex=-1
- ui->LanguageED->setText(ApplicationConfig->DefaultLanguage);
- connect(ui->StandardCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(InitImageSizeCombo(int)));
- connect(ui->SizeCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(FileFormatCombo(int)));
- connect(ui->FileFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(FileFormatCombo(int)));
- connect(ui->VideoFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(InitVideoBitRateCB(int)));
- connect(ui->AudioFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(InitAudioBitRateCB(int)));
-
- //***********************************
- // Default Device type for rendering
- //***********************************
-
- // MODE_SMARTPHONE
- QStringList List;
- for (int i=0;i<ApplicationConfig->DeviceModelList.TranslatedRenderSubtype[MODE_SMARTPHONE].count();i++)
- List.append(ApplicationConfig->DeviceModelList.TranslatedRenderSubtype[MODE_SMARTPHONE][i]+"#"+QString("%1").arg(i));
- List.sort();
- for (int i=0;i<List.count();i++) {
- QString Item=List[i];
- int ItemData=Item.mid(Item.lastIndexOf("#")+1).toInt();
- Item=Item.left(Item.lastIndexOf("#"));
- ui->SmartphoneTypeCB->addItem(Item,QVariant(ItemData));
- if (ApplicationConfig->DefaultSmartphoneType==ItemData) ui->SmartphoneTypeCB->setCurrentIndex(i);
- }
- connect(ui->SmartphoneTypeCB,SIGNAL(currentIndexChanged(int)),this,SLOT(ChangeSmartphoneTypeCB(int)));
- ChangeSmartphoneTypeCB(0);
-
-
- // MODE_MULTIMEDIASYS
- List.clear();
- for (int i=0;i<ApplicationConfig->DeviceModelList.TranslatedRenderSubtype[MODE_MULTIMEDIASYS].count();i++)
- List.append(ApplicationConfig->DeviceModelList.TranslatedRenderSubtype[MODE_MULTIMEDIASYS][i]+"#"+QString("%1").arg(i));
- List.sort();
- for (int i=0;i<List.count();i++) {
- QString Item=List[i];
- int ItemData=Item.mid(Item.lastIndexOf("#")+1).toInt();
- Item=Item.left(Item.lastIndexOf("#"));
- ui->MMSystemTypeCB->addItem(Item,QVariant(ItemData));
- if (ApplicationConfig->DefaultMultimediaType==ItemData) ui->MMSystemTypeCB->setCurrentIndex(i);
- }
- connect(ui->MMSystemTypeCB,SIGNAL(currentIndexChanged(int)),this,SLOT(ChangeMMSystemTypeCB(int)));
- ChangeMMSystemTypeCB(0);
-
- // MODE_FORTHEWEB
- List.clear();
- for (int i=0;i<ApplicationConfig->DeviceModelList.TranslatedRenderSubtype[MODE_FORTHEWEB].count();i++)
- List.append(ApplicationConfig->DeviceModelList.TranslatedRenderSubtype[MODE_FORTHEWEB][i]+"#"+QString("%1").arg(i));
- List.sort();
- for (int i=0;i<List.count();i++) {
- QString Item=List[i];
- int ItemData=Item.mid(Item.lastIndexOf("#")+1).toInt();
- Item=Item.left(Item.lastIndexOf("#"));
- ui->ForTheWTypeCB->addItem(Item,QVariant(ItemData));
- if (ApplicationConfig->DefaultForTheWEBType==ItemData) ui->ForTheWTypeCB->setCurrentIndex(i);
- }
- connect(ui->ForTheWTypeCB,SIGNAL(currentIndexChanged(int)),this,SLOT(ChangeForTheWTypeCB(int)));
- ChangeForTheWTypeCB(0);
-
- // Define handler
- connect(ui->CancelBt,SIGNAL(clicked()),this,SLOT(reject()));
- connect(ui->OkBt,SIGNAL(clicked()),this,SLOT(accept()));
- connect(ui->HelpBT,SIGNAL(clicked()),this,SLOT(doHelp()));
- connect(ui->CheckConfigBT,SIGNAL(clicked()),this,SLOT(s_CheckConfig()));
- connect(ui->DBManageDevicesBT,SIGNAL(clicked()),this,SLOT(s_ManageDevices()));
- connect(ui->tabWidget,SIGNAL(currentChanged(int)),this,SLOT(TabChanged(int)));
-
- ui->tabWidget->setCurrentIndex(0);
-}
-
-//====================================================================================================================
-
-DlgApplicationSettings::~DlgApplicationSettings() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::~DlgApplicationSettings");
-
- delete ui;
-}
-
-//====================================================================================================================
-// Call when user click on Ok button
-
-void DlgApplicationSettings::DoAccept() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::DoAccept");
-
- // Application options part
- ApplicationConfig->RememberLastDirectories =ui->RememberLastDirectoriesCH->isChecked();
- ApplicationConfig->RestoreWindow =ui->RestoreWindowCH->isChecked();
- ApplicationConfig->SDLAudioOldMode =ui->SDLAudioModeCB->isChecked();
- #ifdef Q_OS_LINUX
- ApplicationConfig->RasterMode =ui->RasterModeCB->isChecked();
- #endif
-
- // Preview Options part
- ApplicationConfig->ApplyTransfoPreview =ui->ApplyTransfoDuringPreviewCB->isChecked();
- ApplicationConfig->Smoothing =ui->SmoothImageDuringPreviewCB->isChecked();
- ApplicationConfig->QuickResamplingPreview =ui->QuickResamplingPreviewCB->isChecked();
- ApplicationConfig->PreviewFPS =ui->PreviewFrameRateCB->currentText().toDouble();
-
- switch (ui->MemCacheProfilCB->currentIndex()) {
- case 3 : ApplicationConfig->MemCacheMaxValue=qlonglong(2048*qlonglong(1024*1024)); break;
- case 2 : ApplicationConfig->MemCacheMaxValue=qlonglong(1024*qlonglong(1024*1024)); break;
- case 1 : ApplicationConfig->MemCacheMaxValue=qlonglong(512*qlonglong(1024*1024)); break;
- default : ApplicationConfig->MemCacheMaxValue=qlonglong(256*qlonglong(1024*1024)); break;
- }
- ApplicationConfig->AllowCachedTransfoImages=ui->CacheTransformedImagesCB->isChecked();
-
- // Editor Options part
- ApplicationConfig->AppendObject =ui->AppendObjectCB->currentIndex()==1;
- ApplicationConfig->SortFile =ui->SortFileCB->isChecked();
- ApplicationConfig->AskUserToRemove =ui->AskUserToRemove->isChecked();
- ApplicationConfig->DisplayUnit =ui->UnitCB->currentIndex();
- ApplicationConfig->Crop1088To1080 =ui->Crop1088To1080CB->isChecked();
-
- ApplicationConfig->DefaultTransitionDuration=int(ui->TransitionDurationCB->currentText().toDouble()*double(1000));
- ApplicationConfig->RandomTransition =ui->RandomTransitionRD->isChecked();
- ApplicationConfig->DefaultTransitionSubType =(ui->NoTransitionRD->isChecked()?0:1);
- ApplicationConfig->DefaultTransitionFamilly =0;
-
- // ProjectDefault part
- ApplicationConfig->NoShotDuration =int(ui->NoShotED->value()*1000);
- ApplicationConfig->FixedDuration =int(ui->StaticShotED->value()*1000);
- ApplicationConfig->SpeedWave =ui->SpeedWaveCombo->currentIndex();
- ApplicationConfig->ImageGeometry =ui->GeometryCombo->currentIndex();
- ApplicationConfig->DefaultTitleFilling =ui->DefaultTitleCB->currentIndex();
- ApplicationConfig->DefaultAuthor =ui->DefaultAuthorED->text();
-
- ApplicationConfig->DefaultBlock_Text_TextST =ApplicationConfig->StyleTextCollection.EncodeString(ui->ST_Text_TextCB,-1,-1);
- ApplicationConfig->DefaultBlock_Text_BackGST =ApplicationConfig->StyleTextBackgroundCollection.EncodeString(ui->ST_Text_BackgroundCB,-1,-1);
- ApplicationConfig->DefaultBlock_Text_CoordST[0] =ApplicationConfig->StyleCoordinateCollection.EncodeString(ui->ST_Text_Coord43CB,0,-1);
- ApplicationConfig->DefaultBlock_Text_CoordST[1] =ApplicationConfig->StyleCoordinateCollection.EncodeString(ui->ST_Text_Coord169CB,1,-1);
- ApplicationConfig->DefaultBlock_Text_CoordST[2] =ApplicationConfig->StyleCoordinateCollection.EncodeString(ui->ST_Text_CoordCineCB,2,-1);
- ApplicationConfig->DefaultBlock_Text_ShapeST =ApplicationConfig->StyleBlockShapeCollection.EncodeString(ui->ST_Text_ShapeCB,-1,-1);
- ApplicationConfig->DefaultBlockSL_IMG_TextST =ApplicationConfig->StyleTextCollection.EncodeString(ui->STBlockSL_IMG_TextCB,-1,-1);
- ApplicationConfig->DefaultBlockSL_IMG_ShapeST =ApplicationConfig->StyleBlockShapeCollection.EncodeString(ui->STBlockSL_IMG_ShapeCB,-1,-1);
- ApplicationConfig->DefaultBlockBA_IMG_TextST =ApplicationConfig->StyleTextCollection.EncodeString(ui->STBlockBA_IMG_TextCB,-1,-1);
- ApplicationConfig->DefaultBlockBA_IMG_ShapeST =ApplicationConfig->StyleBlockShapeCollection.EncodeString(ui->STBlockBA_IMG_ShapeCB,-1,-1);
-
- for (int i=0;i<9;i++) for (int j=0;j<3;j++) {
- ApplicationConfig->DefaultBlockSL_IMG_CoordST[i][j]=ApplicationConfig->StyleCoordinateCollection.EncodeString(CB_SL[i][j],j,i);
- ApplicationConfig->DefaultBlockBA_IMG_CoordST[i][j]=ApplicationConfig->StyleCoordinateCollection.EncodeString(CB_BA[i][j],j,i);
- }
-
- for (int i=0;i<3;i++) {
- ApplicationConfig->DefaultBlockBA_CLIPARTLOCK[i]=CB_BA_CLIPARTST[i]->currentIndex();
- ApplicationConfig->DefaultBlockSL_CLIPARTLOCK[i]=CB_SL_CLIPARTST[i]->currentIndex();
- }
-
- // RenderDefault part
- ApplicationConfig->DefaultLanguage =ui->LanguageED->text();
- if (ApplicationConfig->DefaultLanguage=="") ApplicationConfig->DefaultLanguage="und";
- if (ApplicationConfig->DefaultLanguage.length()!=3) {
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgApplicationSettings","Language selection"),
- QApplication::translate("DlgApplicationSettings","Language must be empty or an ISO 639 language code (3 characters)\nSee help for more details!"));
- ui->LanguageED->setFocus();
- return;
- }
- ApplicationConfig->DefaultNameProjectName =ui->DefaultNameProjectNameCB->currentIndex();
- ApplicationConfig->DefaultStandard =ui->StandardCombo->currentIndex();
- ApplicationConfig->DefaultImageSize =ui->SizeCombo->itemData(ui->SizeCombo->currentIndex()).toInt();
- ApplicationConfig->DefaultFormat =ui->FileFormatCB->currentIndex();
- if (ApplicationConfig->DefaultFormat>=0) ApplicationConfig->DefaultFormat=ui->FileFormatCB->itemData(ApplicationConfig->DefaultFormat).toInt(); else ApplicationConfig->DefaultFormat=0;
- int Codec=ui->VideoFormatCB->currentIndex();
- if (Codec>=0) ApplicationConfig->DefaultVideoCodec=VIDEOCODECDEF[ui->VideoFormatCB->itemData(Codec).toInt()].FFD_VCODECST; else ApplicationConfig->DefaultVideoCodec="";
- Codec=ui->AudioFormatCB->currentIndex();
- if (Codec>=0) ApplicationConfig->DefaultAudioCodec=AUDIOCODECDEF[ui->AudioFormatCB->itemData(Codec).toInt()].ShortName; else ApplicationConfig->DefaultAudioCodec="";
- QString BitRate=ui->VideoBitRateCB->currentText(); if (BitRate.endsWith("k")) BitRate=BitRate.left(BitRate.length()-1); ApplicationConfig->DefaultVideoBitRate=BitRate.toInt();
- BitRate =ui->AudioBitRateCB->currentText(); if (BitRate.endsWith("k")) BitRate=BitRate.left(BitRate.length()-1); ApplicationConfig->DefaultAudioBitRate=BitRate.toInt();
-
- ApplicationConfig->DefaultSmartphoneType =ui->SmartphoneTypeCB->itemData(ui->SmartphoneTypeCB->currentIndex()).toInt();
- ApplicationConfig->DefaultMultimediaType =ui->MMSystemTypeCB->itemData(ui->MMSystemTypeCB->currentIndex()).toInt();
- ApplicationConfig->DefaultForTheWEBType =ui->ForTheWTypeCB->itemData(ui->ForTheWTypeCB->currentIndex()).toInt();
- ApplicationConfig->DefaultLossLess =ui->LosslessSizeCombo->itemData(ui->LosslessSizeCombo->currentIndex()).toInt();
-
- QString Text=ui->SmartphoneModelCB->currentText();
- int i=0;
- while ((i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Text!=ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)) i++;
- if ((i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Text==ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)) ApplicationConfig->DefaultSmartphoneModel=ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex;
-
- Text=ui->MMSystemModelCB->currentText();
- i=0;
- while ((i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Text!=ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)) i++;
- if ((i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Text==ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)) ApplicationConfig->DefaultMultimediaModel=ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex;
-
- Text=ui->ForTheWModelCB->currentText();
- i=0;
- while ((i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Text!=ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)) i++;
- if ((i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Text==ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName)) ApplicationConfig->DefaultForTheWEBModel=ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex;
-}
-
-//====================================================================================================================
-// Call when user click on Cancel button
-
-void DlgApplicationSettings::DoRejet() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::DoRejet");
-
- // Nothing to do
-}
-
-//====================================================================================================================
-// Initiale Undo
-
-void DlgApplicationSettings::PrepareGlobalUndo() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::PrepareGlobalUndo");
-
- // Nothing to do
-}
-
-//====================================================================================================================
-// Apply Undo : call when user click on Cancel button
-
-void DlgApplicationSettings::DoGlobalUndo() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::DoGlobalUndo");
-
- // Nothing to do
-}
-
-//====================================================================================================================
-
-void DlgApplicationSettings::s_CheckConfig() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::s_CheckConfig");
- DlgCheckConfig Dlg(HELPFILE_DlgCheckConfig,ApplicationConfig,ApplicationConfig->DlgCheckConfigWSP,this);
- Dlg.InitDialog();
- Dlg.exec();
-}
-
-//====================================================================================================================
-
-void DlgApplicationSettings::s_ManageDevices() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::s_ManageDevices");
- DlgManageDevices Dlg(&ApplicationConfig->DeviceModelList,HELPFILE_DlgManageDevices,ApplicationConfig,ApplicationConfig->DlgManageDevicesWSP,this);
- Dlg.InitDialog();
- Dlg.exec();
-}
-
-//====================================================================================================================
-
-void DlgApplicationSettings::TabChanged(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::TabChanged");
- if (ui->tabWidget->currentIndex()==2) {
- ChangeSmartphoneTypeCB(0);
- ChangeMMSystemTypeCB(0);
- ChangeForTheWTypeCB(0);
- }
-}
-
-//====================================================================================================================
-
-void DlgApplicationSettings::InitImageSizeCombo(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::InitImageSizeCombo");
- int Geometry =ui->GeometryCombo->currentIndex();
- int Standard =ui->StandardCombo->currentIndex();
- int ImageSize=ui->SizeCombo->currentIndex();
- int Lossless =ui->LosslessSizeCombo->currentIndex();
- ui->SizeCombo->clear();
- ui->LosslessSizeCombo->clear();
- QStringList List;
- for (int i=0;i<NBR_SIZEDEF;i++) List.append(QString("%1:%2#####%3").arg(DefImageFormat[Standard][Geometry][i].Name).arg(ORDERIMAGENAME[i]).arg(i));
- // Sort List
- for (int i=0;i<List.count();i++) for (int j=0;j<List.count()-1;j++) {
- QString StrA=List[j].mid(List[j].lastIndexOf(":")+1); StrA=StrA.left(StrA.indexOf("#"));
- QString StrB=List[j+1].mid(List[j+1].lastIndexOf(":")+1); StrB=StrB.left(StrB.indexOf("#"));
- if (StrA.toInt()>StrB.toInt()) List.swap(j,j+1);
- }
- // Fill combo
- for (int i=0;i<List.count();i++) {
- QString Codec=List[i].left(List[i].indexOf("#####")); Codec=Codec.left(Codec.lastIndexOf(":"));
- int Index=List[i].mid(List[i].indexOf("#####")+QString("#####").length()).toInt();
- ui->SizeCombo->addItem(Codec,QVariant(Index));
- ui->LosslessSizeCombo->addItem(Codec,QVariant(Index));
- }
- ui->SizeCombo->setCurrentIndex(ImageSize);
- ui->LosslessSizeCombo->setCurrentIndex(Lossless);
-}
-
-//====================================================================================================================
-
-void DlgApplicationSettings::FileFormatCombo(int ChangeIndex) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::FileFormatCombo");
- ui->VideoFormatCB->clear();
- ui->AudioFormatCB->clear();
-
- //********* Video codec part
- int CurrentFormat=ui->FileFormatCB->itemData(ui->FileFormatCB->currentIndex()).toInt();
- QString AllowedCodec=FORMATDEF[CurrentFormat].PossibleVideoCodec;
- QString Codec="";
- QString ToSelect="";
- QStringList List;
- int Index=0;
- while (AllowedCodec.length()>0) {
- Index=AllowedCodec.indexOf("#");
- if (Index>0) {
- Codec=AllowedCodec.left(Index);
- AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1);
- } else {
- Codec=AllowedCodec;
- AllowedCodec="";
- }
- // Now find index of this codec in the VIDEOCODECDEF
- Index=0;
- while ((Index<NBR_VIDEOCODECDEF)&&(Codec!=QString(VIDEOCODECDEF[Index].FFD_VCODECST))) Index++;
- if ((Index<NBR_VIDEOCODECDEF)&&(VIDEOCODECDEF[Index].IsFind)) {
- List.append(QString("%1#####%2").arg(VIDEOCODECDEF[Index].LongName).arg(Index));
- if (Codec==QString(ApplicationConfig->DefaultVideoCodec)) ToSelect=QString(VIDEOCODECDEF[Index].LongName);
- }
- }
- // Sort List
- for (int i=0;i<List.count();i++) for (int j=0;j<List.count()-1;j++) if (List[j]>List[j+1]) List.swap(j,j+1);
- // Fill combo
- for (int i=0;i<List.count();i++) {
- Codec=List[i].left(List[i].indexOf("#####"));
- Index=List[i].mid(List[i].indexOf("#####")+QString("#####").length()).toInt();
- ui->VideoFormatCB->addItem(Codec,QVariant(Index));
- }
- // Set current selection
- if (ui->VideoFormatCB->findText(ToSelect)!=-1) ui->VideoFormatCB->setCurrentIndex(ui->VideoFormatCB->findText(ToSelect));
- else ui->VideoFormatCB->setCurrentIndex(0);
- ui->VideoFormatCB->setEnabled(ui->VideoFormatCB->count()>0);
-
- //********* Audio codec part
- AllowedCodec=FORMATDEF[CurrentFormat].PossibleAudioCodec;
- Codec="";
- Index=0;
- ToSelect="";
- List.clear();
- while (AllowedCodec.length()>0) {
- Index=AllowedCodec.indexOf("#");
- if (Index>0) {
- Codec=AllowedCodec.left(Index);
- AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1);
- } else {
- Codec=AllowedCodec;
- AllowedCodec="";
- }
- // Now find index of this codec in the AUDIOCODECDEF
- Index=0;
- while ((Index<NBR_AUDIOCODECDEF)&&(Codec!=QString(AUDIOCODECDEF[Index].ShortName))) Index++;
- if ((Index<NBR_AUDIOCODECDEF)&&(AUDIOCODECDEF[Index].IsFind)) {
- List.append(QString("%1#####%2").arg(AUDIOCODECDEF[Index].LongName).arg(Index));
- if (Codec==QString(ApplicationConfig->DefaultAudioCodec)) ToSelect=QString(AUDIOCODECDEF[Index].LongName);
- }
- }
- // Sort List
- for (int i=0;i<List.count();i++) for (int j=0;j<List.count()-1;j++) if (List[j]>List[j+1]) List.swap(j,j+1);
- // Fill combo
- for (int i=0;i<List.count();i++) {
- Codec=List[i].left(List[i].indexOf("#####"));
- Index=List[i].mid(List[i].indexOf("#####")+QString("#####").length()).toInt();
- ui->AudioFormatCB->addItem(Codec,QVariant(Index));
- }
- // Set current selection
- if (ui->AudioFormatCB->findText(ToSelect)!=-1) ui->AudioFormatCB->setCurrentIndex(ui->AudioFormatCB->findText(ToSelect));
- else ui->AudioFormatCB->setCurrentIndex(0);
- ui->AudioFormatCB->setEnabled(ui->AudioFormatCB->count()>0);
- InitVideoBitRateCB(ChangeIndex);
- InitAudioBitRateCB(ChangeIndex);
-}
-
-//====================================================================================================================
-
-void DlgApplicationSettings::ChangeSmartphoneTypeCB(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::ChangeSmartphoneTypeCB");
- int ExportMode=MODE_SMARTPHONE;
- ui->SmartphoneModelCB->clear();
- int ItemData=ui->SmartphoneTypeCB->currentIndex();
- if (ItemData>=0) ItemData=ui->SmartphoneTypeCB->itemData(ItemData).toInt();
- QStringList List;
- for (int i=0;i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count();i++)
- if ((ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceType==ExportMode)&&(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceSubtype==ItemData))
- List.append(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName);
- List.sort();
- ui->SmartphoneModelCB->addItems(List);
- int i=0;
- while ((i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex!=ApplicationConfig->DefaultSmartphoneModel)) i++;
- if (ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex==ApplicationConfig->DefaultSmartphoneModel)
- ui->SmartphoneModelCB->setCurrentIndex(ui->SmartphoneModelCB->findText(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName));
-}
-
-//====================================================================================================================
-
-void DlgApplicationSettings::ChangeMMSystemTypeCB(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::ChangeMMSystemTypeCB");
- int ExportMode=MODE_MULTIMEDIASYS;
- ui->MMSystemModelCB->clear();
- int ItemData=ui->MMSystemTypeCB->currentIndex();
- if (ItemData>=0) ItemData=ui->MMSystemTypeCB->itemData(ItemData).toInt();
- QStringList List;
- for (int i=0;i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count();i++)
- if ((ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceType==ExportMode)&&(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceSubtype==ItemData))
- List.append(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName);
- List.sort();
- ui->MMSystemModelCB->addItems(List);
- int i=0;
- while ((i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex!=ApplicationConfig->DefaultMultimediaModel)) i++;
- if (ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex==ApplicationConfig->DefaultMultimediaModel)
- ui->MMSystemModelCB->setCurrentIndex(ui->MMSystemModelCB->findText(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName));
-}
-
-//====================================================================================================================
-
-void DlgApplicationSettings::ChangeForTheWTypeCB(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::ChangeForTheWTypeCB");
- int ExportMode=MODE_FORTHEWEB;
- ui->ForTheWModelCB->clear();
- int ItemData=ui->ForTheWTypeCB->currentIndex();
- if (ItemData>=0) ItemData=ui->ForTheWTypeCB->itemData(ItemData).toInt();
- QStringList List;
- for (int i=0;i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count();i++)
- if ((ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceType==ExportMode)&&(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceSubtype==ItemData))
- List.append(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName);
- List.sort();
- ui->ForTheWModelCB->addItems(List);
- int i=0;
- while ((i<ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex!=ApplicationConfig->DefaultForTheWEBModel)) i++;
- if (ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex==ApplicationConfig->DefaultForTheWEBModel)
- ui->ForTheWModelCB->setCurrentIndex(ui->ForTheWModelCB->findText(ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName));
-}
-
-//====================================================================================================================
-
-void DlgApplicationSettings::InitVideoBitRateCB(int ChangeIndex) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::InitVideoBitRateCB");
- ui->VideoBitRateCB->clear();
- int CurrentCodec=ui->VideoFormatCB->currentIndex();
- int CurrentSize =ui->SizeCombo->itemData(ui->SizeCombo->currentIndex()).toInt();
- if (CurrentCodec>=0) {
- CurrentCodec=ui->VideoFormatCB->itemData(CurrentCodec).toInt();
-
- QString AllowedBitRate=FORMATDEF[ui->FileFormatCB->currentIndex()].PossibleVideoCodec;
- QString BitRate="";
- int Index=0;
- bool IsFindBitRate=false;
- AllowedBitRate=VIDEOCODECDEF[CurrentCodec].PossibleBitrate;
- BitRate="";
- Index=0;
- IsFindBitRate=false;
- QStringList List;
- while (AllowedBitRate.length()>0) {
- Index=AllowedBitRate.indexOf("#");
- if (Index>0) {
- BitRate=AllowedBitRate.left(Index);
- AllowedBitRate=AllowedBitRate.right(AllowedBitRate.length()-Index-1);
- } else {
- BitRate=AllowedBitRate;
- AllowedBitRate="";
- }
- List.append(BitRate);
- }
- for (int i=0;i<List.count();i++) for (int j=0;j<List.count()-1;j++) {
- QString NameA=List[j]; if (NameA.endsWith("k")) NameA=NameA.left(NameA.length()-1);
- int NumA=NameA.toInt();
- QString NameB=List[j+1]; if (NameB.endsWith("k")) NameB=NameB.left(NameB.length()-1);
- int NumB=NameB.toInt();
- if (NumA>NumB) List.swap(j,j+1);
- }
- for (int i=0;i<List.count();i++) {
- ui->VideoBitRateCB->addItem(List[i]);
- if ((ChangeIndex==-1)&&(List[i]==QString("%1k").arg(ApplicationConfig->DefaultVideoBitRate))) {
- ui->VideoBitRateCB->setCurrentIndex(ui->VideoBitRateCB->count()-1);
- IsFindBitRate=true;
- }
- }
- if (!IsFindBitRate) ui->VideoBitRateCB->setCurrentIndex(ui->VideoBitRateCB->findText(VIDEOCODECDEF[CurrentCodec].DefaultBitrate[CurrentSize]));
- ui->VideoBitRateCB->setEnabled(ui->VideoBitRateCB->count()>1);
- } else ui->VideoBitRateCB->setEnabled(false);
-}
-
-//====================================================================================================================
-
-void DlgApplicationSettings::InitAudioBitRateCB(int ChangeIndex) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::InitAudioBitRateCB");
-
- ui->AudioBitRateCB->clear();
- int CurrentCodec=ui->AudioFormatCB->currentIndex();
- if (CurrentCodec>=0) {
- CurrentCodec=ui->AudioFormatCB->itemData(CurrentCodec).toInt();
-
- QString AllowedBitRate=FORMATDEF[ui->FileFormatCB->currentIndex()].PossibleVideoCodec;
- QString BitRate="";
- int Index=0;
- bool IsFindBitRate=false;
- AllowedBitRate=AUDIOCODECDEF[CurrentCodec].PossibleBitrate2CH;
- BitRate="";
- Index=0;
- IsFindBitRate=false;
- QStringList List;
- while (AllowedBitRate.length()>0) {
- Index=AllowedBitRate.indexOf("#");
- if (Index>0) {
- BitRate=AllowedBitRate.left(Index);
- AllowedBitRate=AllowedBitRate.right(AllowedBitRate.length()-Index-1);
- } else {
- BitRate=AllowedBitRate;
- AllowedBitRate="";
- }
- List.append(BitRate);
- }
- for (int i=0;i<List.count();i++) for (int j=0;j<List.count()-1;j++) {
- QString NameA=List[j]; if (NameA.endsWith("k")) NameA=NameA.left(NameA.length()-1);
- int NumA=NameA.toInt();
- QString NameB=List[j+1]; if (NameB.endsWith("k")) NameB=NameB.left(NameB.length()-1);
- int NumB=NameB.toInt();
- if (NumA>NumB) List.swap(j,j+1);
- }
- for (int i=0;i<List.count();i++) {
- ui->AudioBitRateCB->addItem(List[i]);
- if ((ChangeIndex==-1)&&(List[i]==QString("%1k").arg(ApplicationConfig->DefaultAudioBitRate))) {
- ui->AudioBitRateCB->setCurrentIndex(ui->AudioBitRateCB->count()-1);
- IsFindBitRate=true;
- }
- }
- if (!IsFindBitRate) ui->AudioBitRateCB->setCurrentIndex(ui->AudioBitRateCB->findText(AUDIOCODECDEF[CurrentCodec].Default));
- ui->AudioBitRateCB->setEnabled(ui->AudioBitRateCB->count()>1);
- } else ui->AudioBitRateCB->setEnabled(false);
-}
diff --git a/src/ffDiaporama/DlgApplicationSettings.h b/src/ffDiaporama/DlgApplicationSettings.h
deleted file mode 100755
index e03c2f8..0000000
--- a/src/ffDiaporama/DlgApplicationSettings.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef DLGAPPLICATIONSETTINGS_H
-#define DLGAPPLICATIONSETTINGS_H
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-#include "../sharedfiles/_QCustomDialog.h"
-
-#include "_ApplicationDefinitions.h"
-
-#include <QComboBox>
-
-namespace Ui {
- class DlgApplicationSettings;
-}
-
-class DlgApplicationSettings : public QCustomDialog {
-Q_OBJECT
-public:
- cApplicationConfig *ApplicationConfig;
- bool IsDeviceChanged;
- int CurrentDevice;
- int CurrentDeviceIndex;
- QComboBox *CB_SL[9][3];
- QComboBox *CB_BA[9][3];
- QComboBox *CB_SL_CLIPARTST[3];
- QComboBox *CB_BA_CLIPARTST[3];
-
- explicit DlgApplicationSettings(QString HelpURL,cApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent = 0);
- ~DlgApplicationSettings();
-
- // function to be overloaded
- virtual void DoInitDialog(); // Initialise dialog
- virtual void DoAccept(); // Call when user click on Ok button
- virtual void DoRejet(); // Call when user click on Cancel button
- virtual void PrepareGlobalUndo(); // Initiale Undo
- virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button
-
-private slots:
- void s_CheckConfig();
- void s_ManageDevices();
- void TabChanged(int);
-
- void FileFormatCombo(int);
- void InitVideoBitRateCB(int);
- void InitAudioBitRateCB(int);
- void InitImageSizeCombo(int);
-
- void ChangeSmartphoneTypeCB(int);
- void ChangeMMSystemTypeCB(int);
- void ChangeForTheWTypeCB(int);
-
-private:
- Ui::DlgApplicationSettings *ui;
-};
-
-#endif // DLGAPPLICATIONSETTINGS_H
diff --git a/src/ffDiaporama/DlgApplicationSettings.ui b/src/ffDiaporama/DlgApplicationSettings.ui
deleted file mode 100755
index aa226a6..0000000
--- a/src/ffDiaporama/DlgApplicationSettings.ui
+++ /dev/null
@@ -1,3554 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>DlgApplicationSettings</class>
- <widget class="QDialog" name="DlgApplicationSettings">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>700</width>
- <height>500</height>
- </rect>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>700</width>
- <height>500</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- </font>
- </property>
- <property name="windowTitle">
- <string>Application settings</string>
- </property>
- <property name="modal">
- <bool>true</bool>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>4</number>
- </property>
- <property name="sizeConstraint">
- <enum>QLayout::SetDefaultConstraint</enum>
- </property>
- <property name="margin">
- <number>8</number>
- </property>
- <item>
- <widget class="QTabWidget" name="tabWidget">
- <property name="currentIndex">
- <number>2</number>
- </property>
- <widget class="QWidget" name="TabApp">
- <attribute name="title">
- <string>Application Options</string>
- </attribute>
- <layout class="QGridLayout" name="gridLayout_3">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="1" column="0">
- <widget class="QScrollArea" name="scrollArea_2">
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="widgetResizable">
- <bool>true</bool>
- </property>
- <widget class="QWidget" name="scrollAreaWidgetContents_2">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>518</width>
- <height>484</height>
- </rect>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <property name="margin">
- <number>4</number>
- </property>
- <property name="spacing">
- <number>4</number>
- </property>
- <item row="1" column="0" colspan="2">
- <widget class="QCheckBox" name="RestoreWindowCH">
- <property name="toolTip">
- <string>If this box is checked, the sizes and the positions of all the windows and dialogue box of ffDiaporama will be saved to be reused the next time which you will use ffDiaporama.</string>
- </property>
- <property name="text">
- <string>Remember Windows size and positions</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0" colspan="2">
- <widget class="QCheckBox" name="RememberLastDirectoriesCH">
- <property name="toolTip">
- <string>If this box is checked, the directories that you use for the images, the videos, the projects, the musics and the generations of movie will be saved to be reused the next time which you will use ffDiaporama.</string>
- </property>
- <property name="text">
- <string>Remember last used folders</string>
- </property>
- </widget>
- </item>
- <item row="0" column="0" colspan="2">
- <widget class="QLabel" name="label_3">
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Application options</string>
- </property>
- </widget>
- </item>
- <item row="8" column="0" colspan="2">
- <widget class="QLabel" name="label_4">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Preview options</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- </widget>
- </item>
- <item row="9" column="0">
- <widget class="QLabel" name="label_5">
- <property name="text">
- <string>Frame rate :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- <property name="buddy">
- <cstring>PreviewFrameRateCB</cstring>
- </property>
- </widget>
- </item>
- <item row="9" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_4">
- <property name="spacing">
- <number>2</number>
- </property>
- <item>
- <widget class="QComboBox" name="PreviewFrameRateCB">
- <property name="toolTip">
- <string>Defined the number of images by seconds which will be generated to show the preview.</string>
- </property>
- <item>
- <property name="text">
- <string notr="true">3.125</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">6</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">8.333</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">12.5</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">18.75</string>
- </property>
- </item>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_6">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>fps (Reduce this value for slow computer)</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="10" column="0">
- <widget class="QLabel" name="label_16">
- <property name="text">
- <string>Image transformation :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="10" column="1">
- <widget class="QCheckBox" name="ApplyTransfoDuringPreviewCB">
- <property name="toolTip">
- <string>If this box is checked, The effects of transformations will be applied to the images of videos during the preview.</string>
- </property>
- <property name="text">
- <string>Apply to video during preview</string>
- </property>
- </widget>
- </item>
- <item row="15" column="0" colspan="2">
- <widget class="QLabel" name="label">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Editor options (when adding objects)</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- </widget>
- </item>
- <item row="17" column="0">
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>Object position :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- <property name="buddy">
- <cstring>AppendObjectCB</cstring>
- </property>
- </widget>
- </item>
- <item row="17" column="1">
- <widget class="QComboBox" name="AppendObjectCB">
- <property name="toolTip">
- <string>Define the position which occupy the new objects in the timeline during the insertions</string>
- </property>
- <item>
- <property name="text">
- <string>Insert after current object</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Append at project end</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="18" column="0">
- <widget class="QLabel" name="label_26">
- <property name="text">
- <string>Multiple file insertion :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="18" column="1">
- <widget class="QCheckBox" name="SortFileCB">
- <property name="toolTip">
- <string>Adjust the way will be sorted out files when you select several files in Add file.</string>
- </property>
- <property name="text">
- <string>Sort file by last number</string>
- </property>
- </widget>
- </item>
- <item row="26" column="0">
- <spacer name="verticalSpacer_2">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="19" column="1">
- <widget class="QCheckBox" name="AskUserToRemove">
- <property name="toolTip">
- <string>If this box is checked, a confirmation will display every time you remove an object</string>
- </property>
- <property name="text">
- <string>Ask user confirmation to remove slide, object or shot</string>
- </property>
- </widget>
- </item>
- <item row="19" column="0">
- <widget class="QLabel" name="label_33">
- <property name="text">
- <string>Object deletion :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="16" column="0">
- <widget class="QLabel" name="label_34">
- <property name="text">
- <string>Coordinates unit :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="16" column="1">
- <widget class="QComboBox" name="UnitCB">
- <property name="toolTip">
- <string>Select the unit of the coordinates which will be used in properties dialog box</string>
- </property>
- <item>
- <property name="text">
- <string>Percent</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Pixel</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="3" column="0" colspan="2">
- <widget class="QCheckBox" name="RasterModeCB">
- <property name="text">
- <string>Enable "raster" Graphics System (Need application restart)</string>
- </property>
- </widget>
- </item>
- <item row="11" column="0">
- <widget class="QLabel" name="label_42">
- <property name="text">
- <string>Image smoothing :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="11" column="1">
- <widget class="QCheckBox" name="SmoothImageDuringPreviewCB">
- <property name="text">
- <string>Smooth image during preview</string>
- </property>
- </widget>
- </item>
- <item row="12" column="1">
- <widget class="QCheckBox" name="QuickResamplingPreviewCB">
- <property name="text">
- <string>Use quick resampler during preview</string>
- </property>
- </widget>
- </item>
- <item row="12" column="0">
- <widget class="QLabel" name="label_90">
- <property name="text">
- <string>Audio resampling :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QCheckBox" name="SDLAudioModeCB">
- <property name="text">
- <string>SDL Audio use old mode</string>
- </property>
- </widget>
- </item>
- <item row="5" column="0" colspan="2">
- <layout class="QHBoxLayout" name="horizontalLayout_16">
- <item>
- <widget class="QLabel" name="MemCacheProfilLabel">
- <property name="text">
- <string>Memory profil :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="MemCacheProfilCB">
- <item>
- <property name="text">
- <string>256 Mb</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>512 Mb</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>1 Gb</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>2 Gb</string>
- </property>
- </item>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="MemCacheProfilSpacer">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="20" column="0">
- <widget class="QLabel" name="label_97">
- <property name="text">
- <string>Transformed image :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="20" column="1">
- <widget class="QCheckBox" name="CacheTransformedImagesCB">
- <property name="text">
- <string>Create cache file (with _ffd suffix) for transformed images</string>
- </property>
- </widget>
- </item>
- <item row="21" column="0">
- <widget class="QLabel" name="label_99">
- <property name="text">
- <string>Video :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="21" column="1">
- <widget class="QCheckBox" name="Crop1088To1080CB">
- <property name="text">
- <string>Automatically crop 1920x1088 video to 1920x1080</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="TabProject">
- <attribute name="title">
- <string>Project Options</string>
- </attribute>
- <layout class="QGridLayout" name="gridLayout_5">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="2" column="0">
- <widget class="QScrollArea" name="scrollArea_3">
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="widgetResizable">
- <bool>true</bool>
- </property>
- <widget class="QWidget" name="scrollAreaWidgetContents_3">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>664</width>
- <height>2054</height>
- </rect>
- </property>
- <layout class="QGridLayout" name="gridLayout_4">
- <property name="margin">
- <number>4</number>
- </property>
- <property name="spacing">
- <number>4</number>
- </property>
- <item row="0" column="1" colspan="3">
- <widget class="QLabel" name="label_8">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Project properties (default values)</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- </widget>
- </item>
- <item row="6" column="1">
- <widget class="QLabel" name="label_18">
- <property name="text">
- <string>Project geometry:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- <property name="buddy">
- <cstring>GeometryCombo</cstring>
- </property>
- </widget>
- </item>
- <item row="6" column="2">
- <layout class="QHBoxLayout" name="horizontalLayout_5">
- <property name="spacing">
- <number>2</number>
- </property>
- <item>
- <widget class="QComboBox" name="GeometryCombo">
- <property name="toolTip">
- <string>Select the geometry of image to be used for the creation of the projects.</string>
- </property>
- <property name="currentIndex">
- <number>0</number>
- </property>
- <item>
- <property name="text">
- <string>Old TV (4:3)</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>TV Wide (16:9)</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Cinema (2.35:1)</string>
- </property>
- </item>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_15">
- <property name="text">
- <string>(Only for new project)</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_3">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>0</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item row="7" column="1">
- <widget class="QLabel" name="label_11">
- <property name="text">
- <string>1st shot duration:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- <property name="buddy">
- <cstring>NoShotED</cstring>
- </property>
- </widget>
- </item>
- <item row="7" column="2">
- <layout class="QHBoxLayout" name="horizontalLayout_7">
- <property name="spacing">
- <number>2</number>
- </property>
- <item>
- <widget class="QDoubleSpinBox" name="NoShotED">
- <property name="toolTip">
- <string>Defined the default duration of the first shot of slides during their creation.</string>
- </property>
- <property name="decimals">
- <number>3</number>
- </property>
- <property name="value">
- <double>6.000000000000000</double>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_12">
- <property name="text">
- <string>sec</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_5">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>0</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item row="8" column="1">
- <widget class="QLabel" name="label_13">
- <property name="text">
- <string>Next shot duration:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- <property name="buddy">
- <cstring>StaticShotED</cstring>
- </property>
- </widget>
- </item>
- <item row="8" column="2">
- <layout class="QHBoxLayout" name="horizontalLayout_8">
- <property name="spacing">
- <number>2</number>
- </property>
- <item>
- <widget class="QDoubleSpinBox" name="StaticShotED">
- <property name="toolTip">
- <string>Defined the default duration of next shots.</string>
- </property>
- <property name="decimals">
- <number>3</number>
- </property>
- <property name="value">
- <double>3.000000000000000</double>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_14">
- <property name="text">
- <string>sec</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_6">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>0</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item row="9" column="1">
- <widget class="QLabel" name="label_17">
- <property name="text">
- <string>Speed wave:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- <property name="buddy">
- <cstring>SpeedWaveCombo</cstring>
- </property>
- </widget>
- </item>
- <item row="9" column="2">
- <layout class="QHBoxLayout" name="horizontalLayout_10">
- <property name="spacing">
- <number>2</number>
- </property>
- <item>
- <widget class="QComboBox" name="SpeedWaveCombo">
- <property name="toolTip">
- <string>Defined the curve of speed to be used for the transitions and the animations.</string>
- </property>
- <property name="currentIndex">
- <number>1</number>
- </property>
- <item>
- <property name="text">
- <string>Linear</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Quarter sine</string>
- </property>
- </item>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_8">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>0</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item row="10" column="1">
- <widget class="QLabel" name="label_25">
- <property name="text">
- <string>Default transition:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="10" column="2">
- <layout class="QHBoxLayout" name="horizontalLayout_13">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QRadioButton" name="RandomTransitionRD">
- <property name="minimumSize">
- <size>
- <width>60</width>
- <height>0</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Defined the transition to be inserted between slides during the insertions:
-Chosen randomly a transition in the library</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/random.png</normaloff>:/img/random.png</iconset>
- </property>
- <attribute name="buttonGroup">
- <string>TransitionButtons</string>
- </attribute>
- </widget>
- </item>
- <item>
- <widget class="QRadioButton" name="NoTransitionRD">
- <property name="minimumSize">
- <size>
- <width>60</width>
- <height>0</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Defined the transition to be inserted between slides during the insertions:
-No transition</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/Transitions/tr-00-00.png</normaloff>:/img/Transitions/tr-00-00.png</iconset>
- </property>
- <attribute name="buttonGroup">
- <string>TransitionButtons</string>
- </attribute>
- </widget>
- </item>
- <item>
- <widget class="QRadioButton" name="BasicTransitionRD">
- <property name="minimumSize">
- <size>
- <width>60</width>
- <height>0</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Defined the transition to be inserted between slides during the insertions:
-Crossfade transition</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/Transitions/tr-00-01.png</normaloff>:/img/Transitions/tr-00-01.png</iconset>
- </property>
- <attribute name="buttonGroup">
- <string>TransitionButtons</string>
- </attribute>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="TransitionDurationCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>50</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>50</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Define the transition duration</string>
- </property>
- <item>
- <property name="text">
- <string notr="true">0.5</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">1</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">2</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">3</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">4</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">6</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">8</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">10</string>
- </property>
- </item>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_27">
- <property name="text">
- <string>sec</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_4">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item row="11" column="1" colspan="3">
- <widget class="QLabel" name="label_36">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Default options for new text block</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- </widget>
- </item>
- <item row="12" column="1">
- <widget class="QLabel" name="label_37">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Text</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item row="13" column="1">
- <widget class="QLabel" name="label_38">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Background</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item row="12" column="2">
- <widget class="QComboBox" name="ST_Text_TextCB"/>
- </item>
- <item row="13" column="2">
- <widget class="QComboBox" name="ST_Text_BackgroundCB"/>
- </item>
- <item row="31" column="1" colspan="3">
- <widget class="QLabel" name="label_41">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Default options for new image or video block (when adding block in slide dialog)</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- </widget>
- </item>
- <item row="15" column="2">
- <layout class="QGridLayout" name="gridLayout_8">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_44">
- <property name="text">
- <string>For 4:3 project:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="ST_Text_Coord43CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_45">
- <property name="text">
- <string>For 16:9 project:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_46">
- <property name="text">
- <string>For cinema project:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="ST_Text_Coord169CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="ST_Text_CoordCineCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="15" column="1">
- <widget class="QLabel" name="label_40">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Coordinates</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item row="18" column="1" colspan="2">
- <widget class="QLabel" name="label_47">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Default options for new image or video block (when creating slide)</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- </widget>
- </item>
- <item row="19" column="1">
- <widget class="QLabel" name="label_48">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Text style</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item row="19" column="2">
- <widget class="QComboBox" name="STBlockSL_IMG_TextCB"/>
- </item>
- <item row="20" column="1">
- <widget class="QLabel" name="label_49">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Shape</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item row="20" column="2">
- <widget class="QComboBox" name="STBlockSL_IMG_ShapeCB"/>
- </item>
- <item row="21" column="2">
- <layout class="QGridLayout" name="gridLayout_9">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_51">
- <property name="text">
- <string>For 4:3 project:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_52">
- <property name="text">
- <string>For 16:9 project:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_53">
- <property name="text">
- <string>For cinema project:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG1_Coord43CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG1_Coord169CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG1_CoordCineCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="14" column="1">
- <widget class="QLabel" name="label_39">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Shape</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item row="14" column="2">
- <widget class="QComboBox" name="ST_Text_ShapeCB"/>
- </item>
- <item row="21" column="1">
- <widget class="QLabel" name="label_50">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Coordinates
-for 3:2
-image in
-landscape
-mode</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="22" column="1">
- <widget class="QLabel" name="label_54">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Coordinates
-for 3:2
-image in
-portrait
-mode</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="24" column="1">
- <widget class="QLabel" name="label_56">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Coordinates
-for 4:3
-image in
-landscape
-mode</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="25" column="1">
- <widget class="QLabel" name="label_55">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Coordinates
-for 4:3
-image in
-portrait
-mode</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="26" column="1">
- <widget class="QLabel" name="label_57">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Coordinates
-for 16:9
-image in
-landscape
-mode</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="27" column="1">
- <widget class="QLabel" name="label_58">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Coordinates
-for 16:9
-image in
-portrait
-mode</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="22" column="2">
- <layout class="QGridLayout" name="gridLayout_10">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_59">
- <property name="text">
- <string>For 4:3 project:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_60">
- <property name="text">
- <string>For 16:9 project:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_61">
- <property name="text">
- <string>For cinema project:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG2_Coord43CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG2_Coord169CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG2_CoordCineCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="24" column="2">
- <layout class="QGridLayout" name="gridLayout_11">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_62">
- <property name="text">
- <string>For 4:3 project:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_63">
- <property name="text">
- <string>For 16:9 project:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_64">
- <property name="text">
- <string>For cinema project:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG3_Coord43CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG3_Coord169CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG3_CoordCineCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="25" column="2">
- <layout class="QGridLayout" name="gridLayout_12">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_65">
- <property name="text">
- <string>For 4:3 project:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_66">
- <property name="text">
- <string>For 16:9 project:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_67">
- <property name="text">
- <string>For cinema project:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG4_Coord43CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG4_Coord169CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG4_CoordCineCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="26" column="2">
- <layout class="QGridLayout" name="gridLayout_13">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_68">
- <property name="text">
- <string>For 4:3 project:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_69">
- <property name="text">
- <string>For 16:9 project:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_70">
- <property name="text">
- <string>For cinema project:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG5_Coord43CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG5_Coord169CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG5_CoordCineCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="27" column="2">
- <layout class="QGridLayout" name="gridLayout_14">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_71">
- <property name="text">
- <string>For 4:3 project:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_72">
- <property name="text">
- <string>For 16:9 project:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_73">
- <property name="text">
- <string>For cinema project:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG6_Coord43CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG6_Coord169CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG6_CoordCineCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="28" column="1">
- <widget class="QLabel" name="label_74">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Coordinates
-for cinema
-image in
-landscape
-mode</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="29" column="1">
- <widget class="QLabel" name="label_75">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Coordinates
-for cinema
-image in
-portrait
-mode</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="30" column="1">
- <widget class="QLabel" name="label_76">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Coordinates
-for
-nonstandard
-image</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="28" column="2">
- <layout class="QGridLayout" name="gridLayout_15">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_77">
- <property name="text">
- <string>For 4:3 project:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_78">
- <property name="text">
- <string>For 16:9 project:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_79">
- <property name="text">
- <string>For cinema project:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG7_Coord43CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG7_Coord169CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG7_CoordCineCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="29" column="2">
- <layout class="QGridLayout" name="gridLayout_16">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_80">
- <property name="text">
- <string>For 4:3 project:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_81">
- <property name="text">
- <string>For 16:9 project:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_82">
- <property name="text">
- <string>For cinema project:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG8_Coord43CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG8_Coord169CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG8_CoordCineCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="30" column="2">
- <layout class="QGridLayout" name="gridLayout_17">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_83">
- <property name="text">
- <string>For 4:3 project:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_84">
- <property name="text">
- <string>For 16:9 project:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_85">
- <property name="text">
- <string>For cinema project:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG0_Coord43CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG0_Coord169CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="STBlockSL_IMG0_CoordCineCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="0" column="2">
- <widget class="QComboBox" name="STBlockSL_IMG0_Coord43CB2">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="1" column="2">
- <widget class="QComboBox" name="STBlockSL_IMG0_Coord169CB2">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="2" column="2">
- <widget class="QComboBox" name="STBlockSL_IMG0_CoordCineCB2">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="34" column="1">
- <widget class="QLabel" name="label_86">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Coordinates
-for 3:2
-image in
-landscape
-mode</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="35" column="1">
- <widget class="QLabel" name="label_87">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Coordinates
-for 3:2
-image in
-portrait
-mode</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="36" column="1">
- <widget class="QLabel" name="label_88">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Coordinates
-for 4:3
-image in
-landscape
-mode</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="37" column="1">
- <widget class="QLabel" name="label_98">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Coordinates
-for 4:3
-image in
-portrait
-mode</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="38" column="1">
- <widget class="QLabel" name="label_105">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Coordinates
-for 16:9
-image in
-landscape
-mode</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="39" column="1">
- <widget class="QLabel" name="label_112">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Coordinates
-for 16:9
-image in
-portrait
-mode</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="40" column="1">
- <widget class="QLabel" name="label_113">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Coordinates
-for cinema
-image in
-landscape
-mode</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="41" column="1">
- <widget class="QLabel" name="label_114">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Coordinates
-for cinema
-image in
-portrait
-mode</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="42" column="1">
- <widget class="QLabel" name="label_115">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Coordinates
-for
-nonstandard
-image</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="34" column="2">
- <layout class="QGridLayout" name="gridLayout_27">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_122">
- <property name="text">
- <string>For 4:3 project:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_123">
- <property name="text">
- <string>For 16:9 project:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_124">
- <property name="text">
- <string>For cinema project:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG1_Coord43CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG1_Coord169CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG1_CoordCineCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="35" column="2">
- <layout class="QGridLayout" name="gridLayout_28">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_125">
- <property name="text">
- <string>For 4:3 project:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_126">
- <property name="text">
- <string>For 16:9 project:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_127">
- <property name="text">
- <string>For cinema project:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG2_Coord43CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG2_Coord169CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG2_CoordCineCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="36" column="2">
- <layout class="QGridLayout" name="gridLayout_29">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_128">
- <property name="text">
- <string>For 4:3 project:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_129">
- <property name="text">
- <string>For 16:9 project:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_130">
- <property name="text">
- <string>For cinema project:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG3_Coord43CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG3_Coord169CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG3_CoordCineCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="37" column="2">
- <layout class="QGridLayout" name="gridLayout_30">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_131">
- <property name="text">
- <string>For 4:3 project:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_132">
- <property name="text">
- <string>For 16:9 project:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_133">
- <property name="text">
- <string>For cinema project:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG4_Coord43CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG4_Coord169CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG4_CoordCineCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="38" column="2">
- <layout class="QGridLayout" name="gridLayout_31">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_134">
- <property name="text">
- <string>For 4:3 project:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_135">
- <property name="text">
- <string>For 16:9 project:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_136">
- <property name="text">
- <string>For cinema project:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG5_Coord43CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG5_Coord169CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG5_CoordCineCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="39" column="2">
- <layout class="QGridLayout" name="gridLayout_32">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_137">
- <property name="text">
- <string>For 4:3 project:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_138">
- <property name="text">
- <string>For 16:9 project:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_139">
- <property name="text">
- <string>For cinema project:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG6_Coord43CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG6_Coord169CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG6_CoordCineCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="40" column="2">
- <layout class="QGridLayout" name="gridLayout_33">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_140">
- <property name="text">
- <string>For 4:3 project:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_141">
- <property name="text">
- <string>For 16:9 project:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_142">
- <property name="text">
- <string>For cinema project:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG7_Coord43CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG7_Coord169CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG7_CoordCineCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="41" column="2">
- <layout class="QGridLayout" name="gridLayout_34">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_143">
- <property name="text">
- <string>For 4:3 project:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_144">
- <property name="text">
- <string>For 16:9 project:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_145">
- <property name="text">
- <string>For cinema project:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG8_Coord43CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG8_Coord169CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG8_CoordCineCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="42" column="2">
- <layout class="QGridLayout" name="gridLayout_35">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_146">
- <property name="text">
- <string>For 4:3 project:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_147">
- <property name="text">
- <string>For 16:9 project:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_148">
- <property name="text">
- <string>For cinema project:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG0_Coord43CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG0_Coord169CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="STBlockBA_IMG0_CoordCineCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="0" column="2">
- <widget class="QComboBox" name="STBlockBA_IMG0_Coord43CB2">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="1" column="2">
- <widget class="QComboBox" name="STBlockBA_IMG0_Coord169CB2">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item row="2" column="2">
- <widget class="QComboBox" name="STBlockBA_IMG0_CoordCineCB2">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="32" column="1">
- <widget class="QLabel" name="label_149">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Text style</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item row="32" column="2">
- <widget class="QComboBox" name="STBlockBA_IMG_TextCB"/>
- </item>
- <item row="33" column="1">
- <widget class="QLabel" name="label_150">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string>Shape</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item row="33" column="2">
- <widget class="QComboBox" name="STBlockBA_IMG_ShapeCB"/>
- </item>
- <item row="2" column="1">
- <widget class="QLabel" name="label_92">
- <property name="text">
- <string>Title :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="5" column="1" colspan="2">
- <widget class="QLabel" name="label_32">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Project options (default values)</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QLabel" name="label_93">
- <property name="text">
- <string>Author :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="3" column="2">
- <widget class="QLineEdit" name="DefaultAuthorED">
- <property name="maxLength">
- <number>30</number>
- </property>
- </widget>
- </item>
- <item row="2" column="2">
- <widget class="QComboBox" name="DefaultTitleCB">
- <item>
- <property name="text">
- <string>No automatic filling</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Fill with project name when project save (if not yet defined)</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Fill with project folder name when project save (if not yet defined)</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="4" column="1">
- <widget class="QLabel" name="label_94">
- <property name="text">
- <string>Default language :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="4" column="2">
- <layout class="QHBoxLayout" name="horizontalLayout_11">
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLineEdit" name="LanguageED">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>50</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>50</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="text">
- <string>und</string>
- </property>
- <property name="maxLength">
- <number>3</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_95">
- <property name="text">
- <string>(ISO 639 language code)</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="TabRender">
- <attribute name="title">
- <string>Rendering Options</string>
- </attribute>
- <layout class="QGridLayout" name="gridLayout_6">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="2" column="0">
- <widget class="QScrollArea" name="scrollArea">
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="widgetResizable">
- <bool>true</bool>
- </property>
- <widget class="QWidget" name="scrollAreaWidgetContents">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>680</width>
- <height>415</height>
- </rect>
- </property>
- <layout class="QGridLayout" name="gridLayout_2">
- <property name="margin">
- <number>4</number>
- </property>
- <property name="spacing">
- <number>4</number>
- </property>
- <item row="35" column="0">
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="23" column="0" colspan="3">
- <widget class="QLabel" name="label_10">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Default advanced rendering options</string>
- </property>
- </widget>
- </item>
- <item row="30" column="0">
- <widget class="QLabel" name="label_9">
- <property name="text">
- <string>Video codec :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- <property name="buddy">
- <cstring>VideoFormatCB</cstring>
- </property>
- </widget>
- </item>
- <item row="24" column="0">
- <widget class="QLabel" name="label_24">
- <property name="text">
- <string>File format :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- <property name="buddy">
- <cstring>FileFormatCB</cstring>
- </property>
- </widget>
- </item>
- <item row="31" column="0">
- <widget class="QLabel" name="label_21">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Bit rate :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- <property name="buddy">
- <cstring>VideoBitRateCB</cstring>
- </property>
- </widget>
- </item>
- <item row="31" column="1">
- <widget class="QComboBox" name="VideoBitRateCB">
- <property name="minimumSize">
- <size>
- <width>80</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>80</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select the default bit rate to use for video during the rendering among the proposed list. </string>
- </property>
- </widget>
- </item>
- <item row="30" column="1" colspan="2">
- <widget class="QComboBox" name="VideoFormatCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string>Select the default video codec to use for the rendering among the proposed list. </string>
- </property>
- </widget>
- </item>
- <item row="32" column="1" colspan="2">
- <widget class="QComboBox" name="AudioFormatCB">
- <property name="toolTip">
- <string>Select the default audio codec to use for the rendering among the proposed list. </string>
- </property>
- </widget>
- </item>
- <item row="32" column="0">
- <widget class="QLabel" name="label_22">
- <property name="text">
- <string>Audio codec :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- <property name="buddy">
- <cstring>AudioFormatCB</cstring>
- </property>
- </widget>
- </item>
- <item row="34" column="0">
- <widget class="QLabel" name="label_23">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Bit rate :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- <property name="buddy">
- <cstring>AudioBitRateCB</cstring>
- </property>
- </widget>
- </item>
- <item row="34" column="1">
- <widget class="QComboBox" name="AudioBitRateCB">
- <property name="minimumSize">
- <size>
- <width>80</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>80</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select the default bit rate to use for audio during the rendering among the proposed list. </string>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="label_29">
- <property name="text">
- <string>Smartphone :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="5" column="0">
- <widget class="QLabel" name="label_30">
- <property name="text">
- <string>Multimedia system :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="6" column="0">
- <widget class="QLabel" name="label_31">
- <property name="text">
- <string>For the WEB :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
- <widget class="QComboBox" name="SmartphoneTypeCB">
- <property name="toolTip">
- <string>Select the type of equipment which will be proposed by default when you will click the "Player and Smartphone" button of the "Render movie" menu</string>
- </property>
- </widget>
- </item>
- <item row="6" column="1">
- <widget class="QComboBox" name="ForTheWTypeCB">
- <property name="toolTip">
- <string>Select the type of equipment which will be proposed by default when you will click the "For the WEB" button of the "Render movie" menu</string>
- </property>
- </widget>
- </item>
- <item row="5" column="1">
- <widget class="QComboBox" name="MMSystemTypeCB">
- <property name="toolTip">
- <string>Select the type of equipment which will be proposed by default when you will click the "Multimedia system" button of the "Render movie" menu</string>
- </property>
- </widget>
- </item>
- <item row="4" column="2">
- <widget class="QComboBox" name="SmartphoneModelCB">
- <property name="toolTip">
- <string>Select the model of equipment which will be proposed by default when you will click the "Player and Smartphone" button of the "Render movie" menu</string>
- </property>
- </widget>
- </item>
- <item row="5" column="2">
- <widget class="QComboBox" name="MMSystemModelCB">
- <property name="toolTip">
- <string>Select the model of equipment which will be proposed by default when you will click the "Multimedia system" button of the "Render movie" menu</string>
- </property>
- </widget>
- </item>
- <item row="6" column="2">
- <widget class="QComboBox" name="ForTheWModelCB">
- <property name="toolTip">
- <string>Select the model of equipment which will be proposed by default when you will click the "For the WEB" button of the "Render movie" menu</string>
- </property>
- </widget>
- </item>
- <item row="24" column="1" colspan="2">
- <widget class="QComboBox" name="FileFormatCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string>Select the default file type to use for the rendering among the proposed list.</string>
- </property>
- </widget>
- </item>
- <item row="26" column="0">
- <widget class="QLabel" name="label_20">
- <property name="text">
- <string>Video standard :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- <property name="buddy">
- <cstring>StandardCombo</cstring>
- </property>
- </widget>
- </item>
- <item row="26" column="1" colspan="2">
- <layout class="QHBoxLayout" name="horizontalLayout_17">
- <item>
- <widget class="QComboBox" name="StandardCombo">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string>Select the default video standard to use, PAL or NTSC.</string>
- </property>
- <item>
- <property name="text">
- <string>PAL</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>NTSC</string>
- </property>
- </item>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_43">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="29" column="0">
- <widget class="QLabel" name="label_19">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Format :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- <property name="buddy">
- <cstring>SizeCombo</cstring>
- </property>
- </widget>
- </item>
- <item row="29" column="1" colspan="2">
- <widget class="QComboBox" name="SizeCombo">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string>Select the default image format to use for the rendering among the proposed list. </string>
- </property>
- <property name="currentIndex">
- <number>-1</number>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_91">
- <property name="text">
- <string>Default video name :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="3" column="0" colspan="4">
- <widget class="QLabel" name="label_28">
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Default device mode rendering options</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1" colspan="2">
- <widget class="QComboBox" name="DefaultNameProjectNameCB">
- <item>
- <property name="text">
- <string>Use project folder's name as video name</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Use project name as video name</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Use title project as video name</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="1" column="3">
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>0</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="7" column="0">
- <widget class="QLabel" name="label_35">
- <property name="text">
- <string>Lossless :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="7" column="1" colspan="2">
- <widget class="QComboBox" name="LosslessSizeCombo">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string>Select the default image format to use for the rendering among the proposed list. </string>
- </property>
- <property name="currentIndex">
- <number>-1</number>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <property name="spacing">
- <number>4</number>
- </property>
- <item>
- <widget class="QPushButton" name="CheckConfigBT">
- <property name="text">
- <string>Check Configuration</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/config.png</normaloff>:/img/config.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="DBManageDevicesBT">
- <property name="text">
- <string>Manage Devices</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/db.png</normaloff>:/img/db.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="OkBt">
- <property name="toolTip">
- <string>Accept modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Ok</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="CancelBt">
- <property name="toolTip">
- <string>Cancel modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Cancel</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="HelpBT">
- <property name="toolTip">
- <string>Open help page describing this dialog box</string>
- </property>
- <property name="text">
- <string>&Help</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
- </property>
- <property name="shortcut">
- <string>F1</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <tabstops>
- <tabstop>RandomTransitionRD</tabstop>
- <tabstop>NoTransitionRD</tabstop>
- <tabstop>BasicTransitionRD</tabstop>
- <tabstop>PreviewFrameRateCB</tabstop>
- <tabstop>GeometryCombo</tabstop>
- <tabstop>NoShotED</tabstop>
- <tabstop>StaticShotED</tabstop>
- <tabstop>SpeedWaveCombo</tabstop>
- <tabstop>OkBt</tabstop>
- <tabstop>CancelBt</tabstop>
- </tabstops>
- <resources>
- <include location="../../RSCffDiaporama.qrc"/>
- <include location="../../RSCffDiaporama.qrc"/>
- </resources>
- <connections/>
- <buttongroups>
- <buttongroup name="TransitionButtons"/>
- </buttongroups>
-</ui>
diff --git a/src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp b/src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp
new file mode 100755
index 0000000..875d980
--- /dev/null
+++ b/src/ffDiaporama/DlgBackground/DlgBackgroundProperties.cpp
@@ -0,0 +1,457 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "../DlgImage/DlgImageCorrection.h"
+#include "DlgBackgroundProperties.h"
+#include "ui_DlgBackgroundProperties.h"
+
+#include <QFileDialog>
+
+// Undo actions
+#define UNDOACTION_BACKGROUNDTYPE 1
+#define UNDOACTION_BRUSHTYPE 2
+#define UNDOACTION_BRUSHFILE 3
+#define UNDOACTION_INTERMPOS 4
+#define UNDOACTION_PATTERN 5
+#define UNDOACTION_ORIENTATION 6
+#define UNDOACTION_FIRSTCOLOR 7
+#define UNDOACTION_LASTCOLOR 8
+#define UNDOACTION_INTERMCOLOR 9
+#define UNDOACTION_LIBBRUSH 10
+#define UNDOACTION_EDITIMG 11
+#define UNDOACTION_FULLFILL 12
+#define UNDOACTION_KEEPRATIO 13
+
+//====================================================================================================================
+
+DlgBackgroundProperties::DlgBackgroundProperties(cDiaporamaObject *TheDiaporamaObject,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent):
+ QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent),ui(new Ui::DlgBackgroundProperties) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::DlgBackgroundProperties");
+ ui->setupUi(this);
+ OkBt =ui->OKBT;
+ CancelBt =ui->CancelBt;
+ HelpBt =ui->HelpBT;
+ UndoBt =ui->UndoBT;
+ DiaporamaObject = TheDiaporamaObject;
+ StopMAJSpinbox = false;
+}
+
+//====================================================================================================================
+
+DlgBackgroundProperties::~DlgBackgroundProperties() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::~DlgBackgroundProperties");
+ delete ui;
+}
+
+//====================================================================================================================
+// Initialise dialog
+
+void DlgBackgroundProperties::DoInitDialog() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::DoInitDialog");
+
+ ui->SameBackgroundRD->setChecked(!DiaporamaObject->BackgroundType);
+ ui->NewBackgroundRD->setChecked(DiaporamaObject->BackgroundType);
+
+ // Init combo box Background type
+ ui->BrushTypeCombo->addItem(QApplication::translate("DlgBackgroundProperties","Solid brush"));
+ ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_SOLID)));
+ ui->BrushTypeCombo->addItem(QApplication::translate("DlgBackgroundProperties","Gradient 2 colors"));
+ ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_GRADIENT2)));
+ ui->BrushTypeCombo->addItem(QApplication::translate("DlgBackgroundProperties","Gradient 3 colors"));
+ ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_GRADIENT3)));
+ ui->BrushTypeCombo->addItem(QApplication::translate("DlgBackgroundProperties","Image from library"));
+ ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_IMAGELIBRARY)));
+ ui->BrushTypeCombo->addItem(QApplication::translate("DlgBackgroundProperties","Image from disk"));
+ ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_IMAGEDISK)));
+
+ RefreshControls();
+
+ // Connect signals
+ connect(ui->SameBackgroundRD,SIGNAL(clicked()),this,SLOT(s_SameBackground()));
+ connect(ui->NewBackgroundRD,SIGNAL(clicked()),this,SLOT(s_NewBackground()));
+ connect(ui->BrushTypeCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChangeBrushTypeCombo(int)));
+
+ // Handler for custom color/brush/pattern/gradient combo box index change
+ connect(ui->PatternBrushCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexPatternBrushCombo(int)));
+ connect(ui->OrientationCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientOrientationCombo(int)));
+ connect(ui->FirstColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientFirstColorCombo(int)));
+ connect(ui->FinalColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientFinalColorCombo(int)));
+ connect(ui->IntermColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientIntermColorCombo(int)));
+ connect(ui->BackgroundCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexBackgroundCombo(int)));
+
+ // Intermediate position for gradient 3 colors
+ connect(ui->IntermPosSlider,SIGNAL(valueChanged(int)),this,SLOT(s_IntermPosSliderMoved(int)));
+ connect(ui->IntermPosED,SIGNAL(valueChanged(int)),this,SLOT(s_IntermPosED(int)));
+
+ // Image file
+ connect(ui->ImageFileBT,SIGNAL(pressed()),this,SLOT(s_SelectFile()));
+ connect(ui->ImageEditCorrectBT,SIGNAL(pressed()),this,SLOT(s_ImageEditCorrect()));
+ connect(ui->FullFillRB,SIGNAL(clicked()),this,SLOT(s_FullFill()));
+ connect(ui->KeepRatioRB,SIGNAL(clicked()),this,SLOT(s_KeepRatio()));
+}
+
+//====================================================================================================================
+// Initiale Undo
+
+void DlgBackgroundProperties::PrepareGlobalUndo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::PrepareGlobalUndo");
+
+ Undo=new QDomDocument(APPLICATION_NAME);
+ QDomElement root=Undo->createElement("UNDO-DLG");
+ DiaporamaObject->SaveToXML(root,"UNDO-DLG-OBJECT","",NULL);
+ Undo->appendChild(root);
+}
+
+//====================================================================================================================
+// Apply Undo : call when user click on Cancel button
+
+void DlgBackgroundProperties::DoGlobalUndo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::DoGlobalUndo");
+
+ QDomElement root=Undo->documentElement();
+ if (root.tagName()=="UNDO-DLG") DiaporamaObject->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL);
+}
+
+//====================================================================================================================
+
+void DlgBackgroundProperties::PreparePartialUndo(int /*ActionType*/,QDomElement root) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::PreparePartialUndo");
+ DiaporamaObject->SaveToXML(root,"UNDO-DLG-OBJECT","",NULL);
+}
+
+//====================================================================================================================
+
+void DlgBackgroundProperties::ApplyPartialUndo(int /*ActionType*/,QDomElement root) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::ApplyPartialUndo");
+ DiaporamaObject->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL);
+ RefreshControls();
+}
+
+//====================================================================================================================
+
+void DlgBackgroundProperties::showEvent(QShowEvent *) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::showEvent");
+ RefreshControls();
+}
+
+//====================================================================================================================
+
+void DlgBackgroundProperties::RefreshControls() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::RefreshControls");
+
+ ui->SameBackgroundRD->setChecked(!DiaporamaObject->BackgroundType);
+ ui->NewBackgroundRD->setChecked(DiaporamaObject->BackgroundType);
+ ui->KeepRatioRB->setChecked(!DiaporamaObject->BackgroundBrush->FullFilling);
+ ui->FullFillRB->setChecked(DiaporamaObject->BackgroundBrush->FullFilling);
+
+ bool Allowed=ui->NewBackgroundRD->isChecked();
+ if (Allowed) {
+
+ // Ensure BrushImage is valide
+ if ((BackgroundList.SearchImage(DiaporamaObject->BackgroundBrush->BrushImage)==-1)&&(BackgroundList.List.count()>0)) DiaporamaObject->BackgroundBrush->BrushImage=BackgroundList.List[0].Name;
+
+ StopMAJSpinbox=true; // Disable reintrence in this RefreshControls function
+ for (int i=0;i<ui->BrushTypeCombo->count();i++) if (ui->BrushTypeCombo->itemData(i).toInt()==DiaporamaObject->BackgroundBrush->BrushType) ui->BrushTypeCombo->setCurrentIndex(i);
+ ui->FirstColorCombo->SetCurrentColor(&DiaporamaObject->BackgroundBrush->ColorD);
+ ui->FinalColorCombo->SetCurrentColor(&DiaporamaObject->BackgroundBrush->ColorF);
+ ui->IntermColorCombo->SetCurrentColor(&DiaporamaObject->BackgroundBrush->ColorIntermed);
+ ui->PatternBrushCombo->SetCurrentBrush(DiaporamaObject->BackgroundBrush);
+ ui->OrientationCombo->SetCurrentBrush(DiaporamaObject->BackgroundBrush);
+ ui->BackgroundCombo->SetCurrentBackground(DiaporamaObject->BackgroundBrush->BrushImage);
+ ui->IntermPosSlider->setValue(DiaporamaObject->BackgroundBrush->Intermediate*100);
+ ui->IntermPosED->setValue(DiaporamaObject->BackgroundBrush->Intermediate*100);
+ StopMAJSpinbox=false;
+
+ ui->BrushTypeLabel->setVisible(Allowed);
+ ui->BrushTypeCombo->setVisible(Allowed);
+ ui->BrushTypeCombo->setEnabled(Allowed);
+
+ bool FirstColorAllowed=(Allowed)&&((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_SOLID)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_PATTERN)||
+ (DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3));
+ ui->FirstColorLabel->setVisible((Allowed)&&(FirstColorAllowed));
+ ui->FirstColorSpacer->setVisible((Allowed)&&(FirstColorAllowed));
+ ui->FirstColorCombo->setVisible((Allowed)&&(FirstColorAllowed));
+ ui->FirstColorCombo->setEnabled((Allowed)&&(FirstColorAllowed));
+
+ ui->PatternSpacer->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_PATTERN));
+ ui->PatternLabel->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_PATTERN));
+ ui->PatternBrushCombo->setEnabled((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_PATTERN));
+ ui->PatternBrushCombo->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_PATTERN));
+
+ ui->FinalColorCombo->setVisible((Allowed)&&((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3)));
+ ui->FinalColorCombo->setEnabled((Allowed)&&((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3)));
+
+ ui->IntermColorCombo->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3));
+ ui->IntermColorCombo->setEnabled((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3));
+
+ ui->IntermPosSlider->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3));
+ ui->IntermPosSlider->setEnabled((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3));
+ ui->IntermPosED->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3));
+ ui->IntermPosED->setEnabled((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3));
+
+ ui->OrientationSpacer->setVisible((Allowed)&&((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3)));
+ ui->OrientationLabel->setVisible((Allowed)&&((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3)));
+ ui->OrientationCombo->setVisible((Allowed)&&((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3)));
+ ui->OrientationCombo->setEnabled((Allowed)&&((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3)));
+
+ ui->ImageLibraryLabel->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGELIBRARY));
+ ui->ImageLibraryLabel2->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGELIBRARY));
+ ui->BackgroundCombo->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGELIBRARY));
+ ui->BackgroundComboSpacer->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGELIBRARY));
+
+ ui->ImageFileLabel->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK));
+ ui->ImageFileED->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK));
+ ui->ImageFileBT->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK));
+ ui->ImageEditCorrectBT->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK));
+ ui->KeepRatioRB->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK));
+
+ ui->ImageEditCorrectBT->setEnabled((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)&&(DiaporamaObject->BackgroundBrush->Image!=NULL)&&(!DiaporamaObject->BackgroundBrush->FullFilling));
+
+ ui->FullFillRB->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK));
+ ui->ImageFileED->setText(DiaporamaObject->BackgroundBrush->Image?DiaporamaObject->BackgroundBrush->Image->FileName:"");
+
+ ui->Preview->setVisible(true);
+ ui->scrollArea->setVisible(true);
+ QApplication::processEvents();
+
+
+ int W=ui->Preview->width();
+ int H=DiaporamaObject->Parent->GetHeightForWidth(W);
+ if (H>ui->Preview->height()) {
+ H=ui->Preview->height();
+ W=DiaporamaObject->Parent->GetWidthForHeight(H);
+ }
+ QImage Background=QImage(ui->Preview->width(),ui->Preview->height(),QImage::Format_ARGB32_Premultiplied);
+ QPainter Painter;
+ Painter.begin(&Background);
+ Painter.fillRect(0,0,Background.width(),Background.height(),Qt::black);
+ DiaporamaObject->Parent->PrepareBackground(DiaporamaObject->Parent->GetObjectIndex(DiaporamaObject),W,H,&Painter,(Background.width()-W)/2,(Background.height()-H)/2);
+ Painter.end();
+ ui->Preview->setPixmap(QPixmap::fromImage(Background));
+
+ } else {
+ ui->BrushTypeLabel->setVisible(false);
+ ui->BrushTypeCombo->setDisabled(true); ui->BrushTypeCombo->setVisible(false);
+ ui->FirstColorLabel->setVisible(false); ui->FirstColorSpacer->setVisible(false);
+ ui->FirstColorCombo->setEnabled(false); ui->FirstColorCombo->setVisible(false);
+ ui->PatternLabel->setVisible(false); ui->PatternSpacer->setVisible(false);
+ ui->PatternBrushCombo->setEnabled(false); ui->PatternBrushCombo->setVisible(false);
+ ui->FinalColorCombo->setVisible(false); ui->FinalColorCombo->setEnabled(false);
+ ui->IntermColorCombo->setVisible(false); ui->IntermColorCombo->setEnabled(false);
+ ui->IntermPosSlider->setVisible(false); ui->IntermPosSlider->setEnabled(false);
+ ui->IntermPosED->setVisible(false); ui->IntermPosED->setEnabled(false);
+ ui->OrientationLabel->setVisible(false); ui->OrientationSpacer->setVisible(false);
+ ui->OrientationCombo->setVisible(false); ui->OrientationCombo->setEnabled(false);
+ ui->ImageLibraryLabel->setVisible(false); ui->ImageLibraryLabel2->setVisible(false);
+ ui->BackgroundCombo->setVisible(false); ui->BackgroundComboSpacer->setVisible(false);
+ ui->ImageFileLabel->setVisible(false); ui->ImageFileED->setVisible(false); ui->ImageFileBT->setVisible(false);
+ ui->ImageEditCorrectBT->setVisible(false);
+ ui->KeepRatioRB->setVisible(false);
+ ui->FullFillRB->setVisible(false);
+
+ ui->Preview->setVisible(false);
+ ui->scrollArea->setVisible(false);
+ }
+ emit RefreshDisplay();
+}
+
+//====================================================================================================================
+
+void DlgBackgroundProperties::s_SameBackground() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_SameBackground");
+ if (DiaporamaObject==NULL) return;
+ AppendPartialUndo(UNDOACTION_BACKGROUNDTYPE,ui->NewBackgroundRD,true);
+ DiaporamaObject->BackgroundType=false;
+ RefreshControls();
+}
+
+//====================================================================================================================
+
+void DlgBackgroundProperties::s_NewBackground() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_NewBackground");
+ if (DiaporamaObject==NULL) return;
+ AppendPartialUndo(UNDOACTION_BACKGROUNDTYPE,ui->NewBackgroundRD,true);
+ DiaporamaObject->BackgroundType=true;
+ RefreshControls();
+}
+
+//====================================================================================================================
+
+void DlgBackgroundProperties::s_ChangeBrushTypeCombo(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ChangeBrushTypeCombo");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_BRUSHTYPE,ui->BrushTypeCombo,true);
+ DiaporamaObject->BackgroundBrush->BrushType=ui->BrushTypeCombo->itemData(Value).toInt();
+ RefreshControls();
+}
+
+//====================================================================================================================
+
+void DlgBackgroundProperties::s_SelectFile() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_SelectFile");
+ QString NewFile=QFileDialog::getOpenFileName(this,
+ QApplication::translate("DlgBackgroundProperties","Select a file"),
+ ((cApplicationConfig *)BaseApplicationConfig)->RememberLastDirectories?((cApplicationConfig *)BaseApplicationConfig)->LastMediaPath:"",
+ ((cApplicationConfig *)BaseApplicationConfig)->GetFilterForMediaFile(cBaseApplicationConfig::IMAGEFILE));
+ QApplication::processEvents();
+ if (NewFile=="") return;
+ AppendPartialUndo(UNDOACTION_BRUSHFILE,ui->ImageFileBT,true);
+ if (((cApplicationConfig *)BaseApplicationConfig)->RememberLastDirectories) ((cApplicationConfig *)BaseApplicationConfig)->LastMediaPath=QFileInfo(NewFile).absolutePath(); // Keep folder for next use
+ QString BrushFileName=QFileInfo(NewFile).absoluteFilePath();
+ if (DiaporamaObject->BackgroundBrush->Image) {
+ delete DiaporamaObject->BackgroundBrush->Image;
+ DiaporamaObject->BackgroundBrush->Image=NULL;
+ }
+ DiaporamaObject->BackgroundBrush->Image=new cImageFile(((cApplicationConfig *)BaseApplicationConfig));
+ bool IsValide=DiaporamaObject->BackgroundBrush->Image->GetInformationFromFile(BrushFileName,NULL,NULL);
+ if (!IsValide) {
+ delete DiaporamaObject->BackgroundBrush->Image;
+ DiaporamaObject->BackgroundBrush->Image=NULL;
+ } else {
+ QImage *Image=DiaporamaObject->BackgroundBrush->Image->ImageAt(true,&DiaporamaObject->BackgroundBrush->Image->BrushFileTransform);
+ if (Image) {
+ DiaporamaObject->BackgroundBrush->InitDefaultFramingStyle(true,double(DiaporamaObject->Parent->InternalHeight)/double(DiaporamaObject->Parent->InternalWidth));
+ DiaporamaObject->BackgroundBrush->ApplyStyle(true,DiaporamaObject->BackgroundBrush->DefaultFramingF); // Adjust to Full
+ delete Image;
+ } else {
+ delete DiaporamaObject->BackgroundBrush->Image;
+ DiaporamaObject->BackgroundBrush->Image=NULL;
+ }
+ }
+ RefreshControls();
+}
+
+//====================================================================================================================
+
+void DlgBackgroundProperties::s_IntermPosSliderMoved(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_IntermPosSliderMoved");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_INTERMPOS,ui->IntermPosED,false);
+ DiaporamaObject->BackgroundBrush->Intermediate=double(Value)/100;
+ RefreshControls();
+}
+
+//====================================================================================================================
+
+void DlgBackgroundProperties::s_IntermPosED(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_IntermPosED");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_INTERMPOS,ui->IntermPosED,false);
+ DiaporamaObject->BackgroundBrush->Intermediate=double(Value)/100;
+ RefreshControls();
+}
+
+//====================================================================================================================
+// Handler for custom color/brush/pattern/gradient combo box index change
+//====================================================================================================================
+
+//========= Pattern shape combo
+void DlgBackgroundProperties::s_ChIndexPatternBrushCombo(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ChIndexPatternBrushCombo");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_PATTERN,ui->PatternBrushCombo,false);
+ DiaporamaObject->BackgroundBrush->PatternType=ui->PatternBrushCombo->GetCurrentBrush()->PatternType;
+ RefreshControls();
+}
+
+//========= Gradient shape orientation
+void DlgBackgroundProperties::s_ChIndexGradientOrientationCombo(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ChIndexGradientOrientationCombo");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_ORIENTATION,ui->OrientationCombo,false);
+ DiaporamaObject->BackgroundBrush->GradientOrientation=ui->OrientationCombo->GetCurrentBrush()->GradientOrientation;
+ RefreshControls();
+}
+
+//========= Shape/Gradient shape first color
+void DlgBackgroundProperties::s_ChIndexGradientFirstColorCombo(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ChIndexGradientFirstColorCombo");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_FIRSTCOLOR,ui->FirstColorCombo,false);
+ DiaporamaObject->BackgroundBrush->ColorD=ui->FirstColorCombo->GetCurrentColor();
+ RefreshControls();
+}
+
+//========= Gradient shape last color
+void DlgBackgroundProperties::s_ChIndexGradientFinalColorCombo(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ChIndexGradientFinalColorCombo");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_LASTCOLOR,ui->FinalColorCombo,false);
+ DiaporamaObject->BackgroundBrush->ColorF=ui->FinalColorCombo->GetCurrentColor();
+ RefreshControls();
+}
+
+//========= Gradient shape intermediate color
+void DlgBackgroundProperties::s_ChIndexGradientIntermColorCombo(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ChIndexGradientIntermColorCombo");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_INTERMCOLOR,ui->IntermColorCombo,false);
+ DiaporamaObject->BackgroundBrush->ColorIntermed=ui->IntermColorCombo->GetCurrentColor();
+ RefreshControls();
+}
+
+//========= Background image
+void DlgBackgroundProperties::s_ChIndexBackgroundCombo(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ChIndexBackgroundCombo");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_LIBBRUSH,ui->BackgroundCombo,false);
+ DiaporamaObject->BackgroundBrush->BrushImage=ui->BackgroundCombo->GetCurrentBackground();
+ RefreshControls();
+}
+
+//========= Image file correction
+void DlgBackgroundProperties::s_ImageEditCorrect() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ImageEditCorrect");
+ if (DiaporamaObject->BackgroundBrush->Image) {
+ AppendPartialUndo(UNDOACTION_EDITIMG,ui->ImageEditCorrectBT,false);
+
+ //DlgImageCorrection Dlg(NULL,1,DiaporamaObject->BackgroundBrush,0,HELPFILE_DlgImageCorrection,((cApplicationConfig *)BaseApplicationConfig),((cApplicationConfig *)BaseApplicationConfig)->DlgImageCorrectionWSP,this);
+ DlgImageCorrection Dlg(NULL,1,DiaporamaObject->BackgroundBrush,0,DiaporamaObject->Parent->ImageGeometry,
+ HELPFILE_DlgImageCorrection,((cApplicationConfig *)BaseApplicationConfig),((cApplicationConfig *)BaseApplicationConfig)->DlgImageCorrectionWSP,this);
+ Dlg.InitDialog();
+ if (Dlg.exec()==0) {
+ RefreshControls();
+ } else {
+ RemoveLastPartialUndo();
+ }
+ }
+}
+
+//====================================================================================================================
+
+void DlgBackgroundProperties::s_FullFill() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_FullFill");
+ if (DiaporamaObject->BackgroundBrush->Image) {
+ AppendPartialUndo(UNDOACTION_FULLFILL,ui->FullFillRB,true);
+ DiaporamaObject->BackgroundBrush->FullFilling=true;
+ RefreshControls();
+ }
+}
+
+//====================================================================================================================
+
+void DlgBackgroundProperties::s_KeepRatio() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_KeepRatio");
+ if (DiaporamaObject->BackgroundBrush->Image) {
+ AppendPartialUndo(UNDOACTION_KEEPRATIO,ui->KeepRatioRB,true);
+ DiaporamaObject->BackgroundBrush->FullFilling=false;
+ RefreshControls();
+ }
+}
diff --git a/src/ffDiaporama/DlgBackground/DlgBackgroundProperties.h b/src/ffDiaporama/DlgBackground/DlgBackgroundProperties.h
new file mode 100755
index 0000000..2008e63
--- /dev/null
+++ b/src/ffDiaporama/DlgBackground/DlgBackgroundProperties.h
@@ -0,0 +1,87 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef DLGBACKGROUNDPROPERTIES_H
+#define DLGBACKGROUNDPROPERTIES_H
+
+// Basic inclusions (common to all files)
+#include "../../engine/_GlobalDefines.h"
+#include "../../engine/_QCustomDialog.h"
+
+// Specific inclusions
+#include "../_Diaporama.h"
+
+namespace Ui {
+ class DlgBackgroundProperties;
+}
+
+class DlgBackgroundProperties : public QCustomDialog {
+Q_OBJECT
+public:
+ cDiaporamaObject *DiaporamaObject;
+ bool StopMAJSpinbox;
+
+ explicit DlgBackgroundProperties(cDiaporamaObject *DiaporamaObject,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent=0);
+ ~DlgBackgroundProperties();
+
+ void RefreshControls();
+
+ // function to be overloaded
+ virtual void DoInitDialog(); // Initialise dialog
+ virtual void DoAccept() { /* Nothing to do */ } // Call when user click on Ok button
+ virtual void DoRejet() { /* Nothing to do */ } // Call when user click on Cancel button
+ virtual void PrepareGlobalUndo(); // Initiale Undo
+ virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button
+
+ virtual void PreparePartialUndo(int ActionType,QDomElement root);
+ virtual void ApplyPartialUndo(int ActionType,QDomElement root);
+
+protected:
+ virtual void showEvent(QShowEvent *);
+
+private slots:
+ void s_SameBackground();
+ void s_NewBackground();
+ void s_ChangeBrushTypeCombo(int);
+
+ // Intermediate position for gradient 3 colors
+ void s_IntermPosSliderMoved(int);
+ void s_IntermPosED(int);
+
+ // Handler for custom color/brush/pattern/gradient combo box index change
+ void s_ChIndexPatternBrushCombo(int);
+ void s_ChIndexGradientOrientationCombo(int);
+ void s_ChIndexGradientFirstColorCombo(int);
+ void s_ChIndexGradientFinalColorCombo(int);
+ void s_ChIndexGradientIntermColorCombo(int);
+ void s_ChIndexBackgroundCombo(int);
+ void s_SelectFile();
+ void s_ImageEditCorrect();
+ void s_FullFill();
+ void s_KeepRatio();
+
+signals:
+ void RefreshDisplay();
+
+private:
+ Ui::DlgBackgroundProperties *ui;
+};
+
+#endif // DLGBACKGROUNDPROPERTIES_H
diff --git a/src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui b/src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui
new file mode 100755
index 0000000..acfaac0
--- /dev/null
+++ b/src/ffDiaporama/DlgBackground/DlgBackgroundProperties.ui
@@ -0,0 +1,760 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DlgBackgroundProperties</class>
+ <widget class="QDialog" name="DlgBackgroundProperties">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>552</width>
+ <height>408</height>
+ </rect>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>500</width>
+ <height>300</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="windowTitle">
+ <string>Background properties</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <property name="margin">
+ <number>8</number>
+ </property>
+ <item>
+ <widget class="QRadioButton" name="SameBackgroundRD">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Same background as precedent object</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="NewBackgroundRD">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Select a new background</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QWidget" name="widget" native="true">
+ <layout class="QHBoxLayout" name="horizontalLayout_7">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="Preview">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QWidget" name="scrollArea" native="true">
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0">
+ <widget class="QLabel" name="BrushTypeLabel">
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/color_fill.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="cGradientOrientationComboBox" name="OrientationCombo">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>64</width>
+ <height>16</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSlider" name="IntermPosSlider">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>65</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>65</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>10</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="IntermPosED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>55</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>55</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="suffix">
+ <string notr="true">%</string>
+ </property>
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>10</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="OrientationSpacer">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="7" column="1">
+ <widget class="QRadioButton" name="FullFillRB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Full filling (deform image)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="FirstColorLabel">
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/color.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="BrushTypeCombo"/>
+ </item>
+ <item row="6" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_8">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QRadioButton" name="KeepRatioRB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Keep aspect ratio</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="ImageEditCorrectBT">
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/EditImage.png</normaloff>:/img/EditImage.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="cCustomBrushComboBox" name="PatternBrushCombo">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="editable">
+ <bool>false</bool>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>64</width>
+ <height>16</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="PatternSpacer">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="4" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_5">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="cBackgroundComboBox" name="BackgroundCombo">
+ <property name="minimumSize">
+ <size>
+ <width>140</width>
+ <height>76</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>140</width>
+ <height>76</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="BackgroundComboSpacer">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="2" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_6">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="cCustomColorComboBox" name="FirstColorCombo">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="cCustomColorComboBox" name="IntermColorCombo">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="cCustomColorComboBox" name="FinalColorCombo">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="FirstColorSpacer">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="5" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLineEdit" name="ImageFileED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="ImageFileBT">
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/FolderOpen.png</normaloff>:/img/FolderOpen.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="4" column="0">
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="ImageLibraryLabel">
+ <property name="minimumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/object_image.png</pixmap>
+ </property>
+ <property name="scaledContents">
+ <bool>true</bool>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="ImageLibraryLabel2">
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="ImageFileLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/object_image.png</pixmap>
+ </property>
+ <property name="scaledContents">
+ <bool>true</bool>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="PatternLabel">
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/pattern_fill.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="OrientationLabel">
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/Distance.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="1">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="OKBT">
+ <property name="text">
+ <string>&Ok</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>20</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="UndoBT">
+ <property name="toolTip">
+ <string>Undo last action (CTRL+Z)</string>
+ </property>
+ <property name="text">
+ <string>Undo</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo24.png</normaloff>:/img/undo24.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+Z</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="CancelBt">
+ <property name="text">
+ <string>&Cancel</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="HelpBT">
+ <property name="text">
+ <string>&Help</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>F1</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <customwidgets>
+ <customwidget>
+ <class>cCustomColorComboBox</class>
+ <extends>QComboBox</extends>
+ <header>cCustomComboBox.h</header>
+ </customwidget>
+ <customwidget>
+ <class>cCustomBrushComboBox</class>
+ <extends>QComboBox</extends>
+ <header>cCustomComboBox.h</header>
+ </customwidget>
+ <customwidget>
+ <class>cGradientOrientationComboBox</class>
+ <extends>QComboBox</extends>
+ <header>cCustomComboBox.h</header>
+ </customwidget>
+ <customwidget>
+ <class>cBackgroundComboBox</class>
+ <extends>QComboBox</extends>
+ <header>cCustomComboBox.h</header>
+ </customwidget>
+ </customwidgets>
+ <resources>
+ <include location="../../../RSCffDiaporama.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/ffDiaporama/DlgBackgroundProperties.cpp b/src/ffDiaporama/DlgBackgroundProperties.cpp
deleted file mode 100755
index 24f2c8f..0000000
--- a/src/ffDiaporama/DlgBackgroundProperties.cpp
+++ /dev/null
@@ -1,432 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "DlgBackgroundProperties.h"
-#include "DlgImageCorrection.h"
-#include "ui_DlgBackgroundProperties.h"
-#include "mainwindow.h"
-
-#include <QFileDialog>
-
-DlgBackgroundProperties::DlgBackgroundProperties(cDiaporamaObject *TheDiaporamaObject,QWidget *parent):QDialog(parent),ui(new Ui::DlgBackgroundProperties) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::DlgBackgroundProperties");
- ui->setupUi(this);
- DiaporamaObject = TheDiaporamaObject;
- StopMAJSpinbox = false;
- IsFirstInitDone = false;
-
- setWindowFlags((windowFlags()|Qt::CustomizeWindowHint|Qt::WindowSystemMenuHint|Qt::WindowMaximizeButtonHint)&(~Qt::WindowMinimizeButtonHint));
-
- // Save object before modification for cancel button
- Undo=new QDomDocument(APPLICATION_NAME);
- QDomElement root=Undo->createElement("UNDO-DLG"); // Create xml document and root
- DiaporamaObject->SaveToXML(root,"UNDO-DLG-OBJECT",DiaporamaObject->Parent->ProjectFileName,true); // Save object
- Undo->appendChild(root); // Add object to xml document
-
- ui->SameBackgroundRD->setChecked(!DiaporamaObject->BackgroundType);
- ui->NewBackgroundRD->setChecked(DiaporamaObject->BackgroundType);
-
- // Init combo box Background type
- ui->BrushTypeCombo->addItem(QApplication::translate("DlgBackgroundProperties","Solid brush"));
- ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_SOLID)));
- ui->BrushTypeCombo->addItem(QApplication::translate("DlgBackgroundProperties","Gradient 2 colors"));
- ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_GRADIENT2)));
- ui->BrushTypeCombo->addItem(QApplication::translate("DlgBackgroundProperties","Gradient 3 colors"));
- ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_GRADIENT3)));
- ui->BrushTypeCombo->addItem(QApplication::translate("DlgBackgroundProperties","Image from library"));
- ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_IMAGELIBRARY)));
- ui->BrushTypeCombo->addItem(QApplication::translate("DlgBackgroundProperties","Image from disk"));
- ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_IMAGEDISK)));
-
- // Connect signals
- connect(ui->SameBackgroundRD,SIGNAL(clicked()),this,SLOT(s_SameBackground()));
- connect(ui->NewBackgroundRD,SIGNAL(clicked()),this,SLOT(s_NewBackground()));
-
- // Define handler
- connect(ui->CloseBT,SIGNAL(clicked()),this,SLOT(reject()));
- connect(ui->OKBT,SIGNAL(clicked()),this,SLOT(accept()));
- connect(ui->HelpBT,SIGNAL(clicked()),this,SLOT(Help()));
-
- connect(ui->BrushTypeCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChangeBrushTypeCombo(int)));
-
- // Handler for custom color/brush/pattern/gradient combo box index change
- connect(ui->PatternBrushCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexPatternBrushCombo(int)));
- connect(ui->OrientationCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientOrientationCombo(int)));
- connect(ui->FirstColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientFirstColorCombo(int)));
- connect(ui->FinalColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientFinalColorCombo(int)));
- connect(ui->IntermColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientIntermColorCombo(int)));
- connect(ui->BackgroundCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexBackgroundCombo(int)));
-
- // Intermediate position for gradient 3 colors
- connect(ui->IntermPosSlider,SIGNAL(valueChanged(int)),this,SLOT(s_IntermPosSliderMoved(int)));
- connect(ui->IntermPosED,SIGNAL(valueChanged(int)),this,SLOT(s_IntermPosED(int)));
-
- // Image file
- connect(ui->ImageFileBT,SIGNAL(pressed()),this,SLOT(s_SelectFile()));
- connect(ui->ImageEditCorrectBT,SIGNAL(pressed()),this,SLOT(s_ImageEditCorrect()));
- ui->KeepRatioRB->setChecked(!DiaporamaObject->BackgroundBrush->FullFilling);
- ui->FullFillRB->setChecked(DiaporamaObject->BackgroundBrush->FullFilling);
- connect(ui->FullFillRB,SIGNAL(clicked()),this,SLOT(s_FullFill()));
- connect(ui->KeepRatioRB,SIGNAL(clicked()),this,SLOT(s_KeepRatio()));
-
-}
-
-//====================================================================================================================
-
-DlgBackgroundProperties::~DlgBackgroundProperties() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::~DlgBackgroundProperties");
- delete ui;
- delete Undo;
-}
-
-//====================================================================================================================
-
-void DlgBackgroundProperties::Help() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::Help");
- GlobalMainWindow->OpenHelp(HELPFILE_DlgBackgroundProperties);
-}
-
-//====================================================================================================================
-
-void DlgBackgroundProperties::SetSavedWindowGeometry() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::SetSavedWindowGeometry");
- DiaporamaObject->Parent->ApplicationConfig->DlgBackgroundPropertiesWSP->ApplyToWindow(this);
-}
-
-//====================================================================================================================
-
-void DlgBackgroundProperties::resizeEvent(QResizeEvent *) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::resizeEvent");
- if (IsFirstInitDone) RefreshControls(ui->NewBackgroundRD->isChecked());
-}
-
-//====================================================================================================================
-
-void DlgBackgroundProperties::showEvent(QShowEvent *ev) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::showEvent");
- QDialog::showEvent(ev);
- if (IsFirstInitDone) return;
- QTimer::singleShot(0,this,SLOT(SetSavedWindowGeometry()));
- IsFirstInitDone=true; // Set this flag to true to indicate that now we can prepeare display
- RefreshControls(ui->NewBackgroundRD->isChecked());
-}
-
-//====================================================================================================================
-
-void DlgBackgroundProperties::reject() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::reject");
- // Save Window size and position
- DiaporamaObject->Parent->ApplicationConfig->DlgBackgroundPropertiesWSP->SaveWindowState(this);
- QDomElement root=Undo->documentElement();
- if (root.tagName()=="UNDO-DLG") DiaporamaObject->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL);
- done(1);
-}
-
-//====================================================================================================================
-
-void DlgBackgroundProperties::accept() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::accept");
- // Save Window size and position
- DiaporamaObject->Parent->ApplicationConfig->DlgBackgroundPropertiesWSP->SaveWindowState(this);
- done(0);
-}
-
-//====================================================================================================================
-
-void DlgBackgroundProperties::SetupUi() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::SetupUi");
- RefreshControls(ui->NewBackgroundRD->isChecked());
-}
-
-//====================================================================================================================
-
-void DlgBackgroundProperties::s_SameBackground() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_SameBackground");
- if (DiaporamaObject==NULL) return;
- DiaporamaObject->BackgroundType=false;
- RefreshControls(ui->NewBackgroundRD->isChecked());
-}
-
-//====================================================================================================================
-
-void DlgBackgroundProperties::s_NewBackground() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_NewBackground");
- if (DiaporamaObject==NULL) return;
- DiaporamaObject->BackgroundType=true;
- RefreshControls(ui->NewBackgroundRD->isChecked());
-}
-
-//====================================================================================================================
-
-void DlgBackgroundProperties::RefreshControls(bool Allowed) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::RefreshControls");
- if (!IsFirstInitDone) return;
-
- if (Allowed) {
-
- // Ensure BrushImage is valide
- if ((BackgroundList.SearchImage(DiaporamaObject->BackgroundBrush->BrushImage)==-1)&&(BackgroundList.List.count()>0)) DiaporamaObject->BackgroundBrush->BrushImage=BackgroundList.List[0].Name;
-
- StopMAJSpinbox=true; // Disable reintrence in this RefreshControls function
- for (int i=0;i<ui->BrushTypeCombo->count();i++) if (ui->BrushTypeCombo->itemData(i).toInt()==DiaporamaObject->BackgroundBrush->BrushType) ui->BrushTypeCombo->setCurrentIndex(i);
- ui->FirstColorCombo->SetCurrentColor(&DiaporamaObject->BackgroundBrush->ColorD);
- ui->FinalColorCombo->SetCurrentColor(&DiaporamaObject->BackgroundBrush->ColorF);
- ui->IntermColorCombo->SetCurrentColor(&DiaporamaObject->BackgroundBrush->ColorIntermed);
- ui->PatternBrushCombo->SetCurrentBrush(DiaporamaObject->BackgroundBrush);
- ui->OrientationCombo->SetCurrentBrush(DiaporamaObject->BackgroundBrush);
- ui->BackgroundCombo->SetCurrentBackground(DiaporamaObject->BackgroundBrush->BrushImage);
- ui->IntermPosSlider->setValue(DiaporamaObject->BackgroundBrush->Intermediate*100);
- ui->IntermPosED->setValue(DiaporamaObject->BackgroundBrush->Intermediate*100);
- StopMAJSpinbox=false;
-
- ui->BrushTypeLabel->setVisible(Allowed);
- ui->BrushTypeCombo->setVisible(Allowed);
- ui->BrushTypeCombo->setEnabled(Allowed);
-
- bool FirstColorAllowed=(Allowed)&&((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_SOLID)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_PATTERN)||
- (DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3));
- ui->FirstColorLabel->setVisible((Allowed)&&(FirstColorAllowed));
- ui->FirstColorSpacer->setVisible((Allowed)&&(FirstColorAllowed));
- ui->FirstColorCombo->setVisible((Allowed)&&(FirstColorAllowed));
- ui->FirstColorCombo->setEnabled((Allowed)&&(FirstColorAllowed));
-
- ui->PatternSpacer->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_PATTERN));
- ui->PatternLabel->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_PATTERN));
- ui->PatternBrushCombo->setEnabled((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_PATTERN));
- ui->PatternBrushCombo->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_PATTERN));
-
- ui->FinalColorCombo->setVisible((Allowed)&&((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3)));
- ui->FinalColorCombo->setEnabled((Allowed)&&((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3)));
-
- ui->IntermColorCombo->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3));
- ui->IntermColorCombo->setEnabled((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3));
-
- ui->IntermPosSlider->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3));
- ui->IntermPosSlider->setEnabled((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3));
- ui->IntermPosED->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3));
- ui->IntermPosED->setEnabled((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3));
-
- ui->OrientationSpacer->setVisible((Allowed)&&((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3)));
- ui->OrientationLabel->setVisible((Allowed)&&((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3)));
- ui->OrientationCombo->setVisible((Allowed)&&((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3)));
- ui->OrientationCombo->setEnabled((Allowed)&&((DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3)));
-
- ui->ImageLibraryLabel->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGELIBRARY));
- ui->ImageLibraryLabel2->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGELIBRARY));
- ui->BackgroundCombo->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGELIBRARY));
- ui->BackgroundComboSpacer->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGELIBRARY));
-
- ui->ImageFileLabel->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK));
- ui->ImageFileED->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK));
- ui->ImageFileBT->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK));
- ui->ImageEditCorrectBT->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK));
- ui->KeepRatioRB->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK));
-
- ui->ImageEditCorrectBT->setEnabled((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)&&(DiaporamaObject->BackgroundBrush->Image!=NULL)&&(!DiaporamaObject->BackgroundBrush->FullFilling));
-
- ui->FullFillRB->setVisible((Allowed)&&(DiaporamaObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK));
- ui->ImageFileED->setText(DiaporamaObject->BackgroundBrush->Image?DiaporamaObject->BackgroundBrush->Image->FileName:"");
-
- ui->Preview->setVisible(true);
- ui->scrollArea->setVisible(true);
- QApplication::processEvents();
-
-
- int W=ui->Preview->width();
- int H=DiaporamaObject->Parent->GetHeightForWidth(W);
- if (H>ui->Preview->height()) {
- H=ui->Preview->height();
- W=DiaporamaObject->Parent->GetWidthForHeight(H);
- }
- QImage Background=QImage(ui->Preview->width(),ui->Preview->height(),QImage::Format_ARGB32_Premultiplied);
- QPainter Painter;
- Painter.begin(&Background);
- Painter.fillRect(0,0,Background.width(),Background.height(),Qt::black);
- DiaporamaObject->Parent->PrepareBackground(DiaporamaObject->Parent->GetObjectIndex(DiaporamaObject),W,H,&Painter,(Background.width()-W)/2,(Background.height()-H)/2);
- Painter.end();
- ui->Preview->setPixmap(QPixmap::fromImage(Background));
-
- } else {
- ui->BrushTypeLabel->setVisible(false);
- ui->BrushTypeCombo->setDisabled(true); ui->BrushTypeCombo->setVisible(false);
- ui->FirstColorLabel->setVisible(false); ui->FirstColorSpacer->setVisible(false);
- ui->FirstColorCombo->setEnabled(false); ui->FirstColorCombo->setVisible(false);
- ui->PatternLabel->setVisible(false); ui->PatternSpacer->setVisible(false);
- ui->PatternBrushCombo->setEnabled(false); ui->PatternBrushCombo->setVisible(false);
- ui->FinalColorCombo->setVisible(false); ui->FinalColorCombo->setEnabled(false);
- ui->IntermColorCombo->setVisible(false); ui->IntermColorCombo->setEnabled(false);
- ui->IntermPosSlider->setVisible(false); ui->IntermPosSlider->setEnabled(false);
- ui->IntermPosED->setVisible(false); ui->IntermPosED->setEnabled(false);
- ui->OrientationLabel->setVisible(false); ui->OrientationSpacer->setVisible(false);
- ui->OrientationCombo->setVisible(false); ui->OrientationCombo->setEnabled(false);
- ui->ImageLibraryLabel->setVisible(false); ui->ImageLibraryLabel2->setVisible(false);
- ui->BackgroundCombo->setVisible(false); ui->BackgroundComboSpacer->setVisible(false);
- ui->ImageFileLabel->setVisible(false); ui->ImageFileED->setVisible(false); ui->ImageFileBT->setVisible(false);
- ui->ImageEditCorrectBT->setVisible(false);
- ui->KeepRatioRB->setVisible(false);
- ui->FullFillRB->setVisible(false);
-
- ui->Preview->setVisible(false);
- ui->scrollArea->setVisible(false);
- }
-}
-
-//====================================================================================================================
-
-void DlgBackgroundProperties::s_ChangeBrushTypeCombo(int Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ChangeBrushTypeCombo");
- if (StopMAJSpinbox) return;
- DiaporamaObject->BackgroundBrush->BrushType=ui->BrushTypeCombo->itemData(Value).toInt();
- RefreshControls(ui->NewBackgroundRD->isChecked());
-}
-
-//====================================================================================================================
-
-void DlgBackgroundProperties::s_SelectFile() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_SelectFile");
- QString NewFile=QFileDialog::getOpenFileName(this,
- QApplication::translate("DlgBackgroundProperties","Select a file"),
- GlobalMainWindow->ApplicationConfig->RememberLastDirectories?GlobalMainWindow->ApplicationConfig->LastMediaPath:"",
- GlobalMainWindow->ApplicationConfig->GetFilterForMediaFile(cBaseApplicationConfig::IMAGEFILE));
- QApplication::processEvents();
- if (NewFile=="") return;
- if (GlobalMainWindow->ApplicationConfig->RememberLastDirectories) GlobalMainWindow->ApplicationConfig->LastMediaPath=QFileInfo(NewFile).absolutePath(); // Keep folder for next use
- QString BrushFileName=QFileInfo(NewFile).absoluteFilePath();
- if (DiaporamaObject->BackgroundBrush->Image) {
- delete DiaporamaObject->BackgroundBrush->Image;
- DiaporamaObject->BackgroundBrush->Image=NULL;
- }
- DiaporamaObject->BackgroundBrush->Image=new cImageFile(GlobalMainWindow->ApplicationConfig);
- bool IsValide=DiaporamaObject->BackgroundBrush->Image->GetInformationFromFile(BrushFileName,NULL,NULL);
- if (!IsValide) {
- delete DiaporamaObject->BackgroundBrush->Image;
- DiaporamaObject->BackgroundBrush->Image=NULL;
- } else {
- QImage *Image=DiaporamaObject->BackgroundBrush->Image->ImageAt(true,&DiaporamaObject->BackgroundBrush->Image->BrushFileTransform);
- if (Image) {
- DiaporamaObject->BackgroundBrush->InitDefaultFramingStyle(true,double(DiaporamaObject->Parent->InternalHeight)/double(DiaporamaObject->Parent->InternalWidth));
- DiaporamaObject->BackgroundBrush->ApplyStyle(true,DiaporamaObject->BackgroundBrush->DefaultFramingF); // Adjust to Full
- delete Image;
- } else {
- delete DiaporamaObject->BackgroundBrush->Image;
- DiaporamaObject->BackgroundBrush->Image=NULL;
- }
- }
- RefreshControls(ui->NewBackgroundRD->isChecked());
-}
-
-//====================================================================================================================
-
-void DlgBackgroundProperties::s_IntermPosSliderMoved(int Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_IntermPosSliderMoved");
- if (StopMAJSpinbox) return;
- DiaporamaObject->BackgroundBrush->Intermediate=double(Value)/100;
- RefreshControls(ui->NewBackgroundRD->isChecked());
-}
-
-//====================================================================================================================
-
-void DlgBackgroundProperties::s_IntermPosED(int Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_IntermPosED");
- if (StopMAJSpinbox) return;
- DiaporamaObject->BackgroundBrush->Intermediate=double(Value)/100;
- RefreshControls(ui->NewBackgroundRD->isChecked());
-}
-
-//====================================================================================================================
-// Handler for custom color/brush/pattern/gradient combo box index change
-//====================================================================================================================
-
-//========= Pattern shape combo
-void DlgBackgroundProperties::s_ChIndexPatternBrushCombo(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ChIndexPatternBrushCombo");
- if (StopMAJSpinbox) return;
- DiaporamaObject->BackgroundBrush->PatternType=ui->PatternBrushCombo->GetCurrentBrush()->PatternType;
- RefreshControls(ui->NewBackgroundRD->isChecked());
-}
-
-//========= Gradient shape orientation
-void DlgBackgroundProperties::s_ChIndexGradientOrientationCombo(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ChIndexGradientOrientationCombo");
- if (StopMAJSpinbox) return;
- DiaporamaObject->BackgroundBrush->GradientOrientation=ui->OrientationCombo->GetCurrentBrush()->GradientOrientation;
- RefreshControls(ui->NewBackgroundRD->isChecked());
-}
-
-//========= Shape/Gradient shape first color
-void DlgBackgroundProperties::s_ChIndexGradientFirstColorCombo(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ChIndexGradientFirstColorCombo");
- if (StopMAJSpinbox) return;
- DiaporamaObject->BackgroundBrush->ColorD=ui->FirstColorCombo->GetCurrentColor();
- RefreshControls(ui->NewBackgroundRD->isChecked());
-}
-
-//========= Gradient shape last color
-void DlgBackgroundProperties::s_ChIndexGradientFinalColorCombo(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ChIndexGradientFinalColorCombo");
- if (StopMAJSpinbox) return;
- DiaporamaObject->BackgroundBrush->ColorF=ui->FinalColorCombo->GetCurrentColor();
- RefreshControls(ui->NewBackgroundRD->isChecked());
-}
-
-//========= Gradient shape intermediate color
-void DlgBackgroundProperties::s_ChIndexGradientIntermColorCombo(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ChIndexGradientIntermColorCombo");
- if (StopMAJSpinbox) return;
- DiaporamaObject->BackgroundBrush->ColorIntermed=ui->IntermColorCombo->GetCurrentColor();
- RefreshControls(ui->NewBackgroundRD->isChecked());
-}
-
-//========= Background image
-void DlgBackgroundProperties::s_ChIndexBackgroundCombo(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ChIndexBackgroundCombo");
- if (StopMAJSpinbox) return;
- DiaporamaObject->BackgroundBrush->BrushImage=ui->BackgroundCombo->GetCurrentBackground();
- RefreshControls(ui->NewBackgroundRD->isChecked());
-}
-
-//========= Image file correction
-void DlgBackgroundProperties::s_ImageEditCorrect() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_ImageEditCorrect");
- if (DiaporamaObject->BackgroundBrush->Image) {
- DlgImageCorrection(NULL,1,DiaporamaObject->BackgroundBrush,0,this).exec();
- RefreshControls(ui->NewBackgroundRD->isChecked());
- }
-}
-
-//====================================================================================================================
-
-void DlgBackgroundProperties::s_FullFill() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_FullFill");
- if (DiaporamaObject->BackgroundBrush->Image) {
- DiaporamaObject->BackgroundBrush->FullFilling=true;
- RefreshControls(ui->NewBackgroundRD->isChecked());
- }
-}
-
-//====================================================================================================================
-
-void DlgBackgroundProperties::s_KeepRatio() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgBackgroundProperties::s_KeepRatio");
- if (DiaporamaObject->BackgroundBrush->Image) {
- DiaporamaObject->BackgroundBrush->FullFilling=false;
- RefreshControls(ui->NewBackgroundRD->isChecked());
- }
-}
diff --git a/src/ffDiaporama/DlgBackgroundProperties.h b/src/ffDiaporama/DlgBackgroundProperties.h
deleted file mode 100755
index def559e..0000000
--- a/src/ffDiaporama/DlgBackgroundProperties.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef DLGBACKGROUNDPROPERTIES_H
-#define DLGBACKGROUNDPROPERTIES_H
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-#include "../sharedfiles/_QCustomDialog.h"
-
-// Specific inclusions
-#include "_Diaporama.h"
-
-namespace Ui {
- class DlgBackgroundProperties;
-}
-
-class DlgBackgroundProperties : public QDialog {
-Q_OBJECT
-public:
- cDiaporamaObject *DiaporamaObject;
- QDomDocument *Undo; // Save object before modification for cancel button
- bool StopMAJSpinbox;
- bool IsFirstInitDone;
-
- explicit DlgBackgroundProperties(cDiaporamaObject *DiaporamaObject,QWidget *parent = 0);
- ~DlgBackgroundProperties();
-
- void RefreshControls(bool Allowed);
-
-protected:
- virtual void showEvent(QShowEvent *);
- virtual void resizeEvent(QResizeEvent *);
- virtual void reject();
- virtual void accept();
-
-private slots:
- void Help();
- void SetSavedWindowGeometry();
- void s_SameBackground();
- void s_NewBackground();
- void SetupUi();
-
- void s_ChangeBrushTypeCombo(int);
-
- // Intermediate position for gradient 3 colors
- void s_IntermPosSliderMoved(int);
- void s_IntermPosED(int);
-
- // Handler for custom color/brush/pattern/gradient combo box index change
- void s_ChIndexPatternBrushCombo(int);
- void s_ChIndexGradientOrientationCombo(int);
- void s_ChIndexGradientFirstColorCombo(int);
- void s_ChIndexGradientFinalColorCombo(int);
- void s_ChIndexGradientIntermColorCombo(int);
- void s_ChIndexBackgroundCombo(int);
- void s_SelectFile();
- void s_ImageEditCorrect();
- void s_FullFill();
- void s_KeepRatio();
-
-private:
- Ui::DlgBackgroundProperties *ui;
-};
-
-#endif // DLGBACKGROUNDPROPERTIES_H
diff --git a/src/ffDiaporama/DlgBackgroundProperties.ui b/src/ffDiaporama/DlgBackgroundProperties.ui
deleted file mode 100755
index 07a6be1..0000000
--- a/src/ffDiaporama/DlgBackgroundProperties.ui
+++ /dev/null
@@ -1,716 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>DlgBackgroundProperties</class>
- <widget class="QDialog" name="DlgBackgroundProperties">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>552</width>
- <height>408</height>
- </rect>
- </property>
- <property name="minimumSize">
- <size>
- <width>500</width>
- <height>300</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- </font>
- </property>
- <property name="windowTitle">
- <string>Background properties</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>4</number>
- </property>
- <property name="margin">
- <number>8</number>
- </property>
- <item>
- <widget class="QRadioButton" name="SameBackgroundRD">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Same background as precedent object</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QRadioButton" name="NewBackgroundRD">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Select a new background</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QWidget" name="widget" native="true">
- <layout class="QHBoxLayout" name="horizontalLayout_7">
- <property name="spacing">
- <number>4</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="Preview">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="frameShape">
- <enum>QFrame::Box</enum>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QWidget" name="scrollArea" native="true">
- <layout class="QGridLayout" name="gridLayout_2">
- <item row="0" column="0">
- <widget class="QLabel" name="BrushTypeLabel">
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/color_fill.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_3">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="cGradientOrientationComboBox" name="OrientationCombo">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="iconSize">
- <size>
- <width>64</width>
- <height>16</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSlider" name="IntermPosSlider">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>65</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>65</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="value">
- <number>10</number>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="IntermPosED">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>55</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>55</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="suffix">
- <string notr="true">%</string>
- </property>
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="value">
- <number>10</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="OrientationSpacer">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="7" column="1">
- <widget class="QRadioButton" name="FullFillRB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Full filling (deform image)</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="FirstColorLabel">
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/color.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="BrushTypeCombo"/>
- </item>
- <item row="6" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_8">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QRadioButton" name="KeepRatioRB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Keep aspect ratio</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="ImageEditCorrectBT">
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/EditImage.png</normaloff>:/img/EditImage.png</iconset>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="1" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="cCustomBrushComboBox" name="PatternBrushCombo">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="editable">
- <bool>false</bool>
- </property>
- <property name="iconSize">
- <size>
- <width>64</width>
- <height>16</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="PatternSpacer">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="4" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_5">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="cBackgroundComboBox" name="BackgroundCombo">
- <property name="minimumSize">
- <size>
- <width>140</width>
- <height>76</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>140</width>
- <height>76</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="BackgroundComboSpacer">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="2" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_6">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="cCustomColorComboBox" name="FirstColorCombo">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="cCustomColorComboBox" name="IntermColorCombo">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="cCustomColorComboBox" name="FinalColorCombo">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="FirstColorSpacer">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="5" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_4">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLineEdit" name="ImageFileED">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="readOnly">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="ImageFileBT">
- <property name="text">
- <string notr="true">...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/FolderOpen.png</normaloff>:/img/FolderOpen.png</iconset>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="4" column="0">
- <layout class="QVBoxLayout" name="verticalLayout_2">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="ImageLibraryLabel">
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/object_image.png</pixmap>
- </property>
- <property name="scaledContents">
- <bool>true</bool>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="ImageLibraryLabel2">
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="5" column="0">
- <widget class="QLabel" name="ImageFileLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/object_image.png</pixmap>
- </property>
- <property name="scaledContents">
- <bool>true</bool>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="PatternLabel">
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/pattern_fill.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="OrientationLabel">
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/Distance.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="8" column="1">
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <property name="spacing">
- <number>4</number>
- </property>
- <item>
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="OKBT">
- <property name="text">
- <string>&Ok</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="CloseBT">
- <property name="text">
- <string>&Cancel</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="HelpBT">
- <property name="text">
- <string>&Help</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
- </property>
- <property name="shortcut">
- <string>F1</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>cCustomColorComboBox</class>
- <extends>QComboBox</extends>
- <header>cCustomComboBox.h</header>
- </customwidget>
- <customwidget>
- <class>cCustomBrushComboBox</class>
- <extends>QComboBox</extends>
- <header>cCustomComboBox.h</header>
- </customwidget>
- <customwidget>
- <class>cGradientOrientationComboBox</class>
- <extends>QComboBox</extends>
- <header>cCustomComboBox.h</header>
- </customwidget>
- <customwidget>
- <class>cBackgroundComboBox</class>
- <extends>QComboBox</extends>
- <header>cCustomComboBox.h</header>
- </customwidget>
- </customwidgets>
- <resources/>
- <connections/>
-</ui>
diff --git a/src/ffDiaporama/DlgCheckConfig/DlgCheckConfig.cpp b/src/ffDiaporama/DlgCheckConfig/DlgCheckConfig.cpp
new file mode 100755
index 0000000..a62b7ff
--- /dev/null
+++ b/src/ffDiaporama/DlgCheckConfig/DlgCheckConfig.cpp
@@ -0,0 +1,199 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "DlgCheckConfig.h"
+#include "ui_DlgCheckConfig.h"
+#include "../../engine/cBaseMediaFile.h"
+
+#define ICON_GREEN ":/img/SmallGreen.png"
+#define ICON_RED ":/img/SmallRed.png"
+#define ICON_YELLOW ":/img/SmallYellow.png"
+
+//====================================================================================================================
+
+bool Checkffmpeg(QString &StatusStr,cBaseApplicationConfig *BaseApplicationConfig) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:Checkffmpeg");
+
+ bool ffmpegOK=true;
+ QProcess Process;
+ #ifdef Q_OS_WIN
+ QString ffmpegCommand="\""+BaseApplicationConfig->BinaryEncoderPath+"\"";
+ #elif defined(Q_OS_UNIX) && !defined(Q_OS_MACX)
+ QString ffmpegCommand=BaseApplicationConfig->BinaryEncoderPath;
+ #endif
+
+ //Process.setProcessChannelMode(QProcess::MergedChannels);
+
+ Process.start(ffmpegCommand,QString("-version").split(";"));
+ if (!Process.waitForStarted(-1)) {
+ ToLog(LOGMSG_CRITICAL,QString("Impossible to start %1").arg(BaseApplicationConfig->BinaryEncoderPath));
+ ffmpegOK=false;
+ }
+ if (ffmpegOK && !Process.waitForFinished()) {
+ Process.kill();
+ ToLog(LOGMSG_CRITICAL,QString("Error during %1 process").arg(BaseApplicationConfig->BinaryEncoderPath));
+ ffmpegOK=false;
+ }
+ if (ffmpegOK && (Process.exitStatus()<0)) {
+ ToLog(LOGMSG_CRITICAL,QString("%1 return error %2").arg(BaseApplicationConfig->BinaryEncoderPath).arg(Process.exitStatus()));
+ ffmpegOK=false;
+ }
+ if (ffmpegOK) {
+ QString Info=QString().fromLocal8Bit(Process.readAllStandardOutput())+
+ QString().fromLocal8Bit(Process.readAllStandardError());
+ if (Info.indexOf(QString("%1 version ").arg(BaseApplicationConfig->BinaryEncoderPath)>=0)) {
+ StatusStr=Info.mid(Info.indexOf(QString("%1 version ").arg(BaseApplicationConfig->BinaryEncoderPath))+QString(QString("%1 version ").arg(BaseApplicationConfig->BinaryEncoderPath)).length());
+ StatusStr=StatusStr.left(StatusStr.indexOf("\n"));
+ if (StatusStr.indexOf(QString(char(13)))>0) StatusStr=StatusStr.left(StatusStr.indexOf(QString(char(13))));
+ StatusStr=BaseApplicationConfig->BinaryEncoderPath+" "+StatusStr;
+ } else {
+ StatusStr=QApplication::translate("DlgCheckConfig","Unable to determine %1 version").arg(BaseApplicationConfig->BinaryEncoderPath);
+ //ffmpegOK=false;
+ }
+ } else StatusStr=QApplication::translate("DlgCheckConfig","%1 not found - critical - application will stop !").arg(BaseApplicationConfig->BinaryEncoderPath);
+
+ Process.terminate();
+ Process.close();
+
+ return ffmpegOK;
+}
+
+//====================================================================================================================
+
+DlgCheckConfig::DlgCheckConfig(QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent)
+ :QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent),ui(new Ui::DlgCheckConfig) {
+
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgCheckConfig::DlgCheckConfig");
+
+ ui->setupUi(this);
+ OkBt =ui->OKBT;
+ //CancelBt=;
+ HelpBt =ui->HelpBT;
+}
+
+//====================================================================================================================
+
+DlgCheckConfig::~DlgCheckConfig() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgCheckConfig::~DlgCheckConfig");
+
+ delete ui;
+}
+
+//====================================================================================================================
+// Initialise dialog
+
+void DlgCheckConfig::DoInitDialog() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgCheckConfig::DoInitDialog");
+
+ QString StatusStr;
+ bool Status;
+
+ // exiv2
+ #ifdef Q_OS_LINUX
+ StatusStr=QApplication::translate("DlgCheckConfig","LibExiv2 version:")+QString("%1.%2.%3").arg(EXIV2_MAJOR_VERSION).arg(EXIV2_MINOR_VERSION).arg(EXIV2_PATCH_VERSION);
+ #else
+ StatusStr=QApplication::translate("DlgCheckConfig","LibExiv2/Exiv2 binary version");
+ #endif
+ ui->ListWidget->addItem(new QListWidgetItem(StatusStr));
+ #ifdef EXIV2WITHPREVIEW
+ Status=true;
+ #else
+ Status=false;
+ #endif
+ StatusStr=QApplication::translate("DlgCheckConfig","LibExiv2 support for preview image")+" "+(Status?QApplication::translate("DlgCheckConfig","available"):QApplication::translate("DlgCheckConfig","not available"));
+ ui->ListWidget->addItem(new QListWidgetItem(Status?QIcon(ICON_GREEN):QIcon(ICON_YELLOW),StatusStr));
+
+ ui->ListWidget->addItem(new QListWidgetItem(""));
+
+ // taglib
+ StatusStr=QApplication::translate("DlgCheckConfig","TAGLib version:")+QString("%1.%2.%3").arg(TAGLIB_MAJOR_VERSION).arg(TAGLIB_MINOR_VERSION).arg(TAGLIB_PATCH_VERSION);
+ ui->ListWidget->addItem(new QListWidgetItem(StatusStr));
+ #ifdef TAGLIBWITHFLAC
+ Status=true;
+ #else
+ Status=false;
+ #endif
+ StatusStr=QApplication::translate("DlgCheckConfig","TAGLib support for FLAC")+" "+(Status?QApplication::translate("DlgCheckConfig","available"):QApplication::translate("DlgCheckConfig","not available"));
+ ui->ListWidget->addItem(new QListWidgetItem(Status?QIcon(ICON_GREEN):QIcon(ICON_YELLOW),StatusStr));
+ #ifdef TAGLIBWITHASF
+ Status=true;
+ #else
+ Status=false;
+ #endif
+ StatusStr=QApplication::translate("DlgCheckConfig","TAGLib support for ASF/WMA")+" "+(Status?QApplication::translate("DlgCheckConfig","available"):QApplication::translate("DlgCheckConfig","not available"));
+ ui->ListWidget->addItem(new QListWidgetItem(Status?QIcon(ICON_GREEN):QIcon(ICON_YELLOW),StatusStr));
+ #ifdef TAGLIB_WITH_MP4
+ Status=true;
+ #else
+ Status=false;
+ #endif
+ StatusStr=QApplication::translate("DlgCheckConfig","TAGLib support for M4A/MP4")+" "+(Status?QApplication::translate("DlgCheckConfig","available"):QApplication::translate("DlgCheckConfig","not available"));
+ ui->ListWidget->addItem(new QListWidgetItem(Status?QIcon(ICON_GREEN):QIcon(ICON_YELLOW),StatusStr));
+
+
+ ui->ListWidget->addItem(new QListWidgetItem(""));
+
+ // libav
+ ui->ListWidget->addItem(new QListWidgetItem("libav"));
+ Status=Checkffmpeg(StatusStr,BaseApplicationConfig);
+ ui->ListWidget->addItem(new QListWidgetItem(Status?QIcon(ICON_GREEN):QIcon(ICON_RED),QApplication::translate("DlgCheckConfig","encoder version:")+StatusStr));
+ ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","LIBAVCODEC version:")+QString("%1").arg(LIBAVCODEC_VERSION_MAJOR)+"."+QString("%1").arg(LIBAVCODEC_VERSION_MINOR)+"."+QString("%1").arg(LIBAVCODEC_VERSION_MICRO)+"."+QString("%1").arg(avcodec_version())));
+ ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","LIBAVFORMAT version:")+QString("%1").arg(LIBAVFORMAT_VERSION_MAJOR)+"."+QString("%1").arg(LIBAVFORMAT_VERSION_MINOR)+"."+QString("%1").arg(LIBAVFORMAT_VERSION_MICRO)+"."+QString("%1").arg(avformat_version())));
+ ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","LIBSWSCALE version:")+QString("%1").arg(LIBSWSCALE_VERSION_MAJOR)+"."+QString("%1").arg(LIBSWSCALE_VERSION_MINOR)+"."+QString("%1").arg(LIBSWSCALE_VERSION_MICRO)+"."+QString("%1").arg(swscale_version())));
+
+ #ifdef LIBAV_TAGCHAPTERS
+ Status=true;
+ #else
+ Status=false;
+ #endif
+ StatusStr=QApplication::translate("DlgCheckConfig","LIBAV support for TAG and CHAPTERS")+" "+(Status?QApplication::translate("DlgCheckConfig","available"):QApplication::translate("DlgCheckConfig","not available"));
+ ui->ListWidget->addItem(new QListWidgetItem(Status?QIcon(ICON_GREEN):QIcon(ICON_YELLOW),StatusStr));
+
+ ui->ListWidget->addItem(new QListWidgetItem(""));
+
+ // libav
+ ui->ListWidget->addItem(new QListWidgetItem(QApplication::translate("DlgCheckConfig","libav Audio Codecs")));
+ for (int i=0;i<NBR_AUDIOCODECDEF;i++) ui->ListWidget->addItem(new QListWidgetItem(AUDIOCODECDEF[i].IsFind?QIcon(ICON_GREEN):QIcon(ICON_RED),QString(AUDIOCODECDEF[i].LongName)+" "+(AUDIOCODECDEF[i].IsFind?QApplication::translate("DlgCheckConfig","available")+QString(" - Codec=%1").arg(QString(AUDIOCODECDEF[i].ShortName)):QApplication::translate("DlgCheckConfig","not available"))));
+
+ ui->ListWidget->addItem(new QListWidgetItem(""));
+ ui->ListWidget->addItem(new QListWidgetItem(QApplication::translate("DlgCheckConfig","libav Video Codecs")));
+ for (int i=0;i<NBR_VIDEOCODECDEF;i++) ui->ListWidget->addItem(new QListWidgetItem(VIDEOCODECDEF[i].IsFind?QIcon(ICON_GREEN):QIcon(ICON_RED),QString(VIDEOCODECDEF[i].LongName)+" "+(VIDEOCODECDEF[i].IsFind?QApplication::translate("DlgCheckConfig","available")+QString(" - Codec=%1").arg(QString(VIDEOCODECDEF[i].ShortName)):QApplication::translate("DlgCheckConfig","not available"))));
+
+ ui->ListWidget->addItem(new QListWidgetItem(""));
+ ui->ListWidget->addItem(new QListWidgetItem(QApplication::translate("DlgCheckConfig","libav Container Formats")));
+ for (int i=0;i<NBR_FORMATDEF;i++) ui->ListWidget->addItem(new QListWidgetItem(FORMATDEF[i].IsFind?QIcon(ICON_GREEN):QIcon(ICON_RED),QString(FORMATDEF[i].LongName)+" "+(FORMATDEF[i].IsFind?QApplication::translate("DlgCheckConfig","available"):QApplication::translate("DlgCheckConfig","not available"))));
+
+ ui->ListWidget->addItem(new QListWidgetItem(""));
+
+ ui->ListWidget->addItem(new QListWidgetItem(QApplication::translate("DlgCheckConfig","Lossless")));
+ if ((AUDIOCODECDEF[7].IsFind)&&(VIDEOCODECDEF[8].IsFind)&&(FORMATDEF[2].IsFind)) ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","Lossless rendering")+" "+QApplication::translate("DlgCheckConfig","available")));
+ else ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_RED),QApplication::translate("DlgCheckConfig","Lossless rendering")+" "+QApplication::translate("DlgCheckConfig","not available")));
+
+ ui->CheckConfigAtStartupCB->setChecked(BaseApplicationConfig->CheckConfigAtStartup);
+}
+
+//====================================================================================================================
+// Call when user click on Ok button
+
+void DlgCheckConfig::DoAccept() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgCheckConfig::DoAccept");
+
+ BaseApplicationConfig->CheckConfigAtStartup=ui->CheckConfigAtStartupCB->isChecked();
+}
diff --git a/src/ffDiaporama/DlgCheckConfig/DlgCheckConfig.h b/src/ffDiaporama/DlgCheckConfig/DlgCheckConfig.h
new file mode 100755
index 0000000..2bd9088
--- /dev/null
+++ b/src/ffDiaporama/DlgCheckConfig/DlgCheckConfig.h
@@ -0,0 +1,61 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef DLGCHECKCONFIG_H
+#define DLGCHECKCONFIG_H
+
+// Basic inclusions (common to all files)
+#include "../../engine/_GlobalDefines.h"
+#include "../../engine/_QCustomDialog.h"
+
+// Include some additional standard class
+#include <QString>
+
+// Include some common various class
+#include "../../engine/cBaseApplicationConfig.h"
+#include "../../engine/cDeviceModelDef.h"
+#include "../../engine/cSaveWindowPosition.h"
+
+namespace Ui {
+ class DlgCheckConfig;
+}
+
+//bool CheckExiv2(QString &StatusStr,cBaseApplicationConfig *BaseApplicationConfig);
+bool Checkffmpeg(QString &StatusStr,cBaseApplicationConfig *BaseApplicationConfig);
+
+
+class DlgCheckConfig : public QCustomDialog {
+Q_OBJECT
+public:
+ explicit DlgCheckConfig(QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent = 0);
+ ~DlgCheckConfig();
+
+ // function to be overloaded
+ virtual void DoInitDialog(); // Initialise dialog
+ virtual void DoAccept(); // Call when user click on Ok button
+ virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button
+ virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo
+ virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button
+
+private:
+ Ui::DlgCheckConfig *ui;
+};
+
+#endif // DLGCHECKCONFIG_H
diff --git a/src/ffDiaporama/DlgCheckConfig/DlgCheckConfig.ui b/src/ffDiaporama/DlgCheckConfig/DlgCheckConfig.ui
new file mode 100755
index 0000000..ea206b0
--- /dev/null
+++ b/src/ffDiaporama/DlgCheckConfig/DlgCheckConfig.ui
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DlgCheckConfig</class>
+ <widget class="QDialog" name="DlgCheckConfig">
+ <property name="windowModality">
+ <enum>Qt::WindowModal</enum>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>488</width>
+ <height>300</height>
+ </rect>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ </font>
+ </property>
+ <property name="windowTitle">
+ <string>Check configuration</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <property name="margin">
+ <number>8</number>
+ </property>
+ <item>
+ <widget class="QListWidget" name="ListWidget"/>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <item>
+ <widget class="QCheckBox" name="CheckConfigAtStartupCB">
+ <property name="text">
+ <string>Check configuration at startup</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="OKBT">
+ <property name="toolTip">
+ <string>Accept modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Ok</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="HelpBT">
+ <property name="toolTip">
+ <string>Open help page describing this dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Help</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>F1</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="../../../RSCffDiaporama.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/ffDiaporama/DlgImage/DlgImageCorrection.cpp b/src/ffDiaporama/DlgImage/DlgImageCorrection.cpp
new file mode 100755
index 0000000..ce097de
--- /dev/null
+++ b/src/ffDiaporama/DlgImage/DlgImageCorrection.cpp
@@ -0,0 +1,856 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "DlgImageCorrection.h"
+#include "ui_DlgImageCorrection.h"
+
+#include "cImgInteractiveZone.h"
+
+#include <QMessageBox>
+#include <QFileDialog>
+#include <QSplashScreen>
+
+#define ICON_RULER_ON ":/img/ruler_ok.png"
+#define ICON_RULER_OFF ":/img/ruler_ko.png"
+#define ICON_GEOMETRY_LOCKED ":/img/Geometry_Lock.png"
+#define ICON_GEOMETRY_UNLOCKED ":/img/Geometry_Unlock.png"
+#define ICON_GEOMETRY_PROJECT ":/img/Geometry_ProjectLock.png"
+#define ICON_GEOMETRY_IMAGE ":/img/Geometry_ImageLock.png"
+#define ICON_OBJECT_MOVIE ":/img/object_movie.png"
+
+#define UNDOACTION_INTERACTIVEMOVERESIZE 1
+#define UNDOACTION_EDITZONE_XVALUE 2
+#define UNDOACTION_EDITZONE_YVALUE 3
+#define UNDOACTION_EDITZONE_WVALUE 4
+#define UNDOACTION_EDITZONE_HVALUE 5
+#define UNDOACTION_EDITZONE_ROTATEVALUE 6
+#define UNDOACTION_EDITZONE_FRAMING 7
+#define UNDOACTION_EDITZONE_FILE 8
+#define UNDOACTION_EDITZONE_TRANSFO 9
+#define UNDOACTION_EDITZONE_BLUR 10
+#define UNDOACTION_EDITZONE_BLURRD 11
+#define UNDOACTION_EDITZONE_BRIGHTNESS 12
+#define UNDOACTION_EDITZONE_CONTRAST 13
+#define UNDOACTION_EDITZONE_GAMMA 14
+#define UNDOACTION_EDITZONE_RED 15
+#define UNDOACTION_EDITZONE_GREEN 16
+#define UNDOACTION_EDITZONE_BLUE 17
+#define UNDOACTION_EDITZONE_GEOMETRY 18
+
+DlgImageCorrection::DlgImageCorrection(cCompositionObject *TheCompoObject,int TheBackgroundForm,cBrushDefinition *TheCurrentBrush,int TheVideoPosition,int TheImageGeometry,
+ QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent):
+ QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent),ui(new Ui::DlgImageCorrection) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::DlgImageCorrection");
+
+ ui->setupUi(this);
+
+ OkBt =ui->OKBT;
+ CancelBt =ui->CancelBt;
+ HelpBt =ui->HelpBT;
+ UndoBt =ui->UndoBT;
+ UndoReloadImage =false;
+ FLAGSTOPED =false;
+ FLAGSTOPSPIN =false;
+ ffDPrjGeometry =TheImageGeometry;
+ CurrentBrush =TheCurrentBrush;
+ CompoObject =TheCompoObject;
+ ui->InteractiveZone->MagneticRuler=((cApplicationConfig *)BaseApplicationConfig)->FramingRuler;
+ ui->InteractiveZone->InitCachedImage(TheCompoObject,TheBackgroundForm,TheCurrentBrush,TheVideoPosition);
+}
+
+//====================================================================================================================
+
+DlgImageCorrection::~DlgImageCorrection() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::~DlgImageCorrection");
+ delete ui; // Deleting this make deletion of scene and all included object
+}
+
+//====================================================================================================================
+// Initialise dialog
+
+void DlgImageCorrection::DoInitDialog() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::DoInitDialog");
+
+ if (CurrentBrush->Image) {
+ InitialFilteredString=CurrentBrush->Image->BrushFileTransform.FilterToString();
+ ((cApplicationConfig *)BaseApplicationConfig)->StyleImageFramingCollection.SetImageGeometryFilter(ffDPrjGeometry,CurrentBrush->Image->ObjectGeometry);
+ } else if (CurrentBrush->Video) {
+ InitialFilteredString=CurrentBrush->Video->BrushFileTransform.FilterToString();
+ ((cApplicationConfig *)BaseApplicationConfig)->StyleImageFramingCollection.SetImageGeometryFilter(ffDPrjGeometry,CurrentBrush->Video->ObjectGeometry);
+ }
+
+ ui->LockGeometryCB->view()->setFixedWidth(300);
+
+ ui->LockGeometryCB->addItem(QIcon(ICON_GEOMETRY_UNLOCKED),QApplication::translate("DlgImageCorrection","Unlock"));
+ ui->LockGeometryCB->addItem(QIcon(ICON_GEOMETRY_LOCKED), QApplication::translate("DlgImageCorrection","Lock to this geometry"));
+ ui->LockGeometryCB->addItem(QIcon(ICON_GEOMETRY_PROJECT), QApplication::translate("DlgImageCorrection","Lock to project geometry"));
+ ui->LockGeometryCB->addItem(QIcon(ICON_GEOMETRY_IMAGE), QApplication::translate("DlgImageCorrection","Lock to image geometry"));
+
+ switch (ffDPrjGeometry) {
+ case GEOMETRY_4_3 : ProjectGeometry=double(1440)/double(1920); break;
+ case GEOMETRY_16_9 : ProjectGeometry=double(1080)/double(1920); break;
+ case GEOMETRY_40_17 : ProjectGeometry=double(816)/double(1920); break;
+
+ }
+ ProjectGeometry=QString("%1").arg(ProjectGeometry,0,'e').toDouble(); // Rounded to same number as style managment
+
+ if (CurrentBrush->Image) ImageGeometry=double(CurrentBrush->Image->ImageHeight)/double(CurrentBrush->Image->ImageWidth);
+ else if (CurrentBrush->Video) ImageGeometry=double(CurrentBrush->Video->ImageHeight)/double(CurrentBrush->Video->ImageWidth);
+ ImageGeometry=QString("%1").arg(ImageGeometry,0,'e').toDouble(); // Rounded to same number as style managment
+ ui->RulersBT->setIcon(QIcon(((cApplicationConfig *)BaseApplicationConfig)->FramingRuler?QString(ICON_RULER_ON):QString(ICON_RULER_OFF)));
+
+ ui->RotateED->setMinimum(-180);
+ ui->RotateED->setMaximum(180);
+
+ ui->XValue->setSingleStep(1); ui->XValue->setRange(-200,200);
+ ui->YValue->setSingleStep(1); ui->YValue->setRange(-200,200);
+ ui->WValue->setSingleStep(1); ui->WValue->setRange(1,200);
+ ui->HValue->setSingleStep(1); ui->HValue->setRange(1,200);
+
+ OnOffFilter=CurrentBrush->Video?CurrentBrush->Video->BrushFileTransform.OnOffFilter:CurrentBrush->Image->BrushFileTransform.OnOffFilter;
+ ui->TransformationCB->SetCurrentFilter(ui->InteractiveZone->CachedImage,&OnOffFilter);
+
+ // If it's not an image then disable blur/sharpen
+ if (CurrentBrush->Image==NULL) {
+ ui->BlurLabel->setVisible(false);
+ ui->BlurSigmaSlider->setVisible(false);
+ ui->BlurSigmaSB->setVisible(false);
+ ui->BlurSharpenResetBT->setVisible(false);
+ ui->BlurRadiusLabel->setVisible(false);
+ ui->BlurRadiusSlider->setVisible(false);
+ ui->BlurRadiusED->setVisible(false);
+ ui->RadiusResetBT->setVisible(false);
+ ui->FileLabel->setPixmap(QPixmap(ICON_OBJECT_MOVIE));
+ }
+
+ // Define handler
+ connect(ui->RotateED,SIGNAL(valueChanged(double)),this,SLOT(s_RotationEDChanged(double)));
+ connect(ui->XValue,SIGNAL(valueChanged(double)),this,SLOT(s_XValueEDChanged(double)));
+ connect(ui->YValue,SIGNAL(valueChanged(double)),this,SLOT(s_YValueEDChanged(double)));
+ connect(ui->WValue,SIGNAL(valueChanged(double)),this,SLOT(s_WValueEDChanged(double)));
+ connect(ui->HValue,SIGNAL(valueChanged(double)),this,SLOT(s_HValueEDChanged(double)));
+ connect(ui->RotateLeftBT,SIGNAL(clicked()),this,SLOT(s_RotateLeft()));
+ connect(ui->RotateRightBT,SIGNAL(clicked()),this,SLOT(s_RotateRight()));
+ connect(ui->AdjustHBT,SIGNAL(clicked()),this,SLOT(s_AdjustH()));
+ connect(ui->AdjustWBT,SIGNAL(clicked()),this,SLOT(s_AdjustW()));
+ connect(ui->AdjustWHBT,SIGNAL(clicked()),this,SLOT(s_AdjustWH()));
+ connect(ui->RulersBT,SIGNAL(clicked()),this,SLOT(s_RulersBT()));
+
+ connect(ui->BrightnessSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BrightnessSliderMoved(int)));
+ connect(ui->BrightnessValue,SIGNAL(valueChanged(int)),this,SLOT(s_BrightnessSliderMoved(int)));
+ connect(ui->BrightnessResetBT,SIGNAL(clicked()),this,SLOT(s_BrightnessReset()));
+ connect(ui->ContrastSlider,SIGNAL(valueChanged(int)),this,SLOT(s_ContrastSliderMoved(int)));
+ connect(ui->ContrastValue,SIGNAL(valueChanged(int)),this,SLOT(s_ContrastSliderMoved(int)));
+ connect(ui->ContrastResetBT,SIGNAL(clicked()),this,SLOT(s_ContrastReset()));
+ connect(ui->GammaSlider,SIGNAL(valueChanged(int)),this,SLOT(s_GammaSliderMoved(int)));
+ connect(ui->GammaValue,SIGNAL(valueChanged(double)),this,SLOT(s_GammaValueED(double)));
+ connect(ui->GammaResetBT,SIGNAL(clicked()),this,SLOT(s_GammaReset()));
+ connect(ui->RedSlider,SIGNAL(valueChanged(int)),this,SLOT(s_RedSliderMoved(int)));
+ connect(ui->RedValue,SIGNAL(valueChanged(int)),this,SLOT(s_RedSliderMoved(int)));
+ connect(ui->RedResetBT,SIGNAL(clicked()),this,SLOT(s_RedReset()));
+ connect(ui->GreenSlider,SIGNAL(valueChanged(int)),this,SLOT(s_GreenSliderMoved(int)));
+ connect(ui->GreenValue,SIGNAL(valueChanged(int)),this,SLOT(s_GreenSliderMoved(int)));
+ connect(ui->GreenResetBT,SIGNAL(clicked()),this,SLOT(s_GreenReset()));
+ connect(ui->BlueSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlueSliderMoved(int)));
+ connect(ui->BlueValue,SIGNAL(valueChanged(int)),this,SLOT(s_BlueSliderMoved(int)));
+ connect(ui->BlueResetBT,SIGNAL(clicked()),this,SLOT(s_BlueReset()));
+
+ connect(ui->TransformationCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChTransformationCB(int)));
+ connect(ui->BlurRadiusSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlurRadiusSliderMoved(int)));
+ connect(ui->BlurRadiusED,SIGNAL(valueChanged(int)),this,SLOT(s_BlurRadiusSliderMoved(int)));
+ connect(ui->BlurSigmaSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlurSigmaSliderMoved(int)));
+ connect(ui->BlurSigmaSB,SIGNAL(valueChanged(double)),this,SLOT(s_BlurSigmaValueED(double)));
+ connect(ui->BlurSharpenResetBT,SIGNAL(clicked()),this,SLOT(s_BlurSharpenReset()));
+ connect(ui->RadiusResetBT,SIGNAL(clicked()),this,SLOT(s_RadiusReset()));
+
+ connect(ui->LockGeometryCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_LockGeometryCB(int)));
+ connect(ui->FramingStyleBT,SIGNAL(pressed()),this,SLOT(s_FramingStyleBT()));
+
+ connect(ui->FileNameBT,SIGNAL(clicked()),this,SLOT(ChangeBrushDiskFile()));
+ connect(ui->InteractiveZone,SIGNAL(TransformBlock(double,double,double,double)),this,SLOT(s_IntZoneTransformBlocks(double,double,double,double)));
+ connect(ui->InteractiveZone,SIGNAL(DisplayTransformBlock(double,double,double,double)),this,SLOT(s_DisplayIntZoneTransformBlocks(double,double,double,double)));
+
+ ui->InteractiveZone->setFocus();
+}
+
+//====================================================================================================================
+// Initiale Undo
+
+void DlgImageCorrection::PrepareGlobalUndo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::PrepareGlobalUndo");
+
+ // Save objects before modification for cancel button
+ UndoBrushFileName=(CurrentBrush->Image!=NULL)?CurrentBrush->Image->FileName:CurrentBrush->Video->FileName;
+
+ Undo=new QDomDocument(APPLICATION_NAME);
+ QDomElement root=Undo->createElement("UNDO-DLG"); // Create xml document and root
+ CurrentBrush->SaveToXML(root,"UNDO-DLG-OBJECT","",true); // Save object
+ if (CurrentBrush->Video) CurrentBrush->Video->BrushFileTransform.SaveToXML(root,"ImageTransformation");
+ else CurrentBrush->Image->BrushFileTransform.SaveToXML(root,"ImageTransformation");
+ Undo->appendChild(root); // Add object to xml document
+}
+
+//====================================================================================================================
+// Apply Undo : call when user click on Cancel button
+
+void DlgImageCorrection::DoGlobalUndo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::DoGlobalUndo");
+
+ QDomElement root=Undo->documentElement();
+ if (root.tagName()=="UNDO-DLG") CurrentBrush->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL,NULL);
+ if (CurrentBrush->Video) CurrentBrush->Video->BrushFileTransform.LoadFromXML(root,"ImageTransformation");
+ else CurrentBrush->Image->BrushFileTransform.LoadFromXML(root,"ImageTransformation");
+ if (UndoReloadImage) {
+ if (CurrentBrush->Image) CurrentBrush->Image->GetInformationFromFile(UndoBrushFileName,NULL,NULL);
+ else if (CurrentBrush->Video) CurrentBrush->Video->GetInformationFromFile(UndoBrushFileName,NULL,NULL);
+ }
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::PreparePartialUndo(int /*ActionType*/,QDomElement root) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::PreparePartialUndo");
+
+ QString BrushFileName=(CurrentBrush->Image!=NULL)?CurrentBrush->Image->FileName:CurrentBrush->Video->FileName;
+ root.setAttribute("BrushFileName",BrushFileName);
+ CurrentBrush->SaveToXML(root,"UNDO-DLG-OBJECT","",true); // Save object
+ if (CurrentBrush->Video) CurrentBrush->Video->BrushFileTransform.SaveToXML(root,"ImageTransformation");
+ else CurrentBrush->Image->BrushFileTransform.SaveToXML(root,"ImageTransformation");
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::ApplyPartialUndo(int /*ActionType*/,QDomElement root) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::ApplyPartialUndo");
+
+
+ QString BrushFileName=root.attribute("BrushFileName");
+ CurrentBrush->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL,NULL);
+ if (CurrentBrush->Video) CurrentBrush->Video->BrushFileTransform.LoadFromXML(root,"ImageTransformation");
+ else CurrentBrush->Image->BrushFileTransform.LoadFromXML(root,"ImageTransformation");
+ if (BrushFileName!=((CurrentBrush->Image!=NULL)?CurrentBrush->Image->FileName:CurrentBrush->Video->FileName)) {
+ if (CurrentBrush->Image) CurrentBrush->Image->GetInformationFromFile(BrushFileName,NULL,NULL);
+ else if (CurrentBrush->Video) CurrentBrush->Video->GetInformationFromFile(BrushFileName,NULL,NULL);
+ }
+ RefreshControls();
+ ui->InteractiveZone->RefreshDisplay();
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_BrightnessReset() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_BrightnessReset");
+ s_BrightnessSliderMoved(0);
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_ContrastReset() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_ContrastReset");
+ s_ContrastSliderMoved(0);
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_GammaReset() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_GammaReset");
+ s_GammaValueED(1);
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_RedReset() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_RedReset");
+ s_RedSliderMoved(0);
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_GreenReset() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_GreenReset");
+ s_GreenSliderMoved(0);
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_BlueReset() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_BlueReset");
+ s_BlueSliderMoved(0);
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_BlurSharpenReset() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_BlurSharpenReset");
+ s_BlurSigmaSliderMoved(0);
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_RadiusReset() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_RadiusReset");
+ s_BlurRadiusSliderMoved(5);
+}
+
+
+//====================================================================================================================
+
+void DlgImageCorrection::resizeEvent(QResizeEvent *) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::resizeEvent");
+ ui->InteractiveZone->InitCachedImage(ui->InteractiveZone->CompoObject,ui->InteractiveZone->BackgroundForm,ui->InteractiveZone->CurrentBrush,ui->InteractiveZone->VideoPosition);
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::showEvent(QShowEvent *ev) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::showEvent");
+ QCustomDialog::showEvent(ev);
+ ui->InteractiveZone->InitCachedImage(ui->InteractiveZone->CompoObject,ui->InteractiveZone->BackgroundForm,ui->InteractiveZone->CurrentBrush,ui->InteractiveZone->VideoPosition);
+ RefreshControls();
+ }
+
+//====================================================================================================================
+
+void DlgImageCorrection::DoAccept() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::DoAccept");
+
+ // Check if cached filtered file exist
+ QString CachedFile=CurrentBrush->Image?CurrentBrush->Image->FileName:CurrentBrush->Video->FileName;
+ CachedFile=CachedFile.replace("."+QFileInfo(CachedFile).suffix(),"_ffd.jpg");
+ QString NewFilter=CurrentBrush->Image?CurrentBrush->Image->BrushFileTransform.FilterToString():CurrentBrush->Video->BrushFileTransform.FilterToString();
+ if ((NewFilter!="")&&(CurrentBrush->Image)&&((InitialFilteredString!=NewFilter)||((((cApplicationConfig *)BaseApplicationConfig)->AllowCachedTransfoImages)&&(!QFileInfo(CachedFile).exists())))) {
+ if (QFileInfo(CachedFile).exists()) QFile::remove(CachedFile);
+ if (((cApplicationConfig *)BaseApplicationConfig)->AllowCachedTransfoImages) {
+ QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
+ QSplashScreen screen(this,QPixmap(":/img/splash.png"));
+ screen.showMessage(QApplication::translate("DlgImageCorrection","Creating cached filtered file ..."),Qt::AlignHCenter|Qt::AlignBottom);
+ screen.show();
+ QApplication::processEvents();
+ cLuLoImageCacheObject *ImageObject=((cApplicationConfig *)BaseApplicationConfig)->ImagesCache.FindObject(CurrentBrush->Image->FileName,CurrentBrush->Image->ModifDateTime,CurrentBrush->Image->ImageOrientation,NULL,true,true);
+ QImage *UnfilteredImage=new QImage(ImageObject->ValidateCacheRenderImage()->copy());
+ if (UnfilteredImage->format()!=QImage::Format_ARGB32_Premultiplied) {
+ QImage *NewUnfiltered=new QImage(UnfilteredImage->convertToFormat(QImage::Format_ARGB32_Premultiplied));
+ delete UnfilteredImage;
+ UnfilteredImage=NewUnfiltered;
+ }
+ CurrentBrush->Image->BrushFileTransform.ApplyFilter(UnfilteredImage);
+ UnfilteredImage->save(CachedFile,"jpg",100);
+ delete UnfilteredImage;
+ screen.hide();
+ QApplication::restoreOverrideCursor();
+ }
+ }
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_XValueEDChanged(double Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_XValueEDChanged");
+ if (FLAGSTOPED) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_XVALUE,ui->InteractiveZone,false);
+ CurrentBrush->X=Value/100;
+ ui->InteractiveZone->RefreshDisplay();
+ RefreshControls();
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_YValueEDChanged(double Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_YValueEDChanged");
+ if (FLAGSTOPED) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_YVALUE,ui->InteractiveZone,false);
+ CurrentBrush->Y=Value/100;
+ ui->InteractiveZone->RefreshDisplay();
+ RefreshControls();
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_WValueEDChanged(double Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_WValueEDChanged");
+ if (FLAGSTOPED) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_WVALUE,ui->InteractiveZone,false);
+ if (CurrentBrush->LockGeometry) {
+ CurrentBrush->ZoomFactor=Value/100;
+ } else {
+ double newH=CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio*ui->InteractiveZone->dmax;
+ CurrentBrush->ZoomFactor=Value/100;
+ double newW=CurrentBrush->ZoomFactor*ui->InteractiveZone->dmax;
+ CurrentBrush->AspectRatio=newH/newW;
+ }
+ ui->InteractiveZone->RefreshDisplay();
+ RefreshControls();
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_HValueEDChanged(double Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_HValueEDChanged");
+ if (FLAGSTOPED) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_HVALUE,ui->InteractiveZone,false);
+ double newH=(Value/100)*ui->InteractiveZone->dmax;
+ if (CurrentBrush->LockGeometry) {
+ double newW=newH/CurrentBrush->AspectRatio;
+ CurrentBrush->ZoomFactor=newW/ui->InteractiveZone->dmax;
+ } else {
+ double newW=CurrentBrush->ZoomFactor*ui->InteractiveZone->dmax;
+ CurrentBrush->AspectRatio=newH/newW;
+ }
+ ui->InteractiveZone->RefreshDisplay();
+ RefreshControls();
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_RotationEDChanged(double Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_RotationEDChanged");
+ if (FLAGSTOPED) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_ROTATEVALUE,ui->InteractiveZone,false);
+ if (Value<-180) Value=360-Value;
+ if (Value>180) Value=-360-Value;
+ CurrentBrush->ImageRotation=Value;
+ ui->InteractiveZone->RefreshDisplay();
+ RefreshControls();
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_RotateLeft() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_RotateLeft");
+ AppendPartialUndo(UNDOACTION_EDITZONE_ROTATEVALUE,ui->InteractiveZone,true);
+ double Value=(int((CurrentBrush->ImageRotation-90)/90)*90);
+ if (Value<=-180) Value=360-Value;
+ ui->RotateED->setValue(Value);
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_RotateRight() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_RotateRight");
+ AppendPartialUndo(UNDOACTION_EDITZONE_ROTATEVALUE,ui->InteractiveZone,true);
+ double Value=(int((CurrentBrush->ImageRotation+90)/90)*90);
+ if (Value>180) Value=-360+Value;
+ ui->RotateED->setValue(Value);
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_AdjustW() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_AdjustW");
+ AppendPartialUndo(UNDOACTION_EDITZONE_FRAMING,ui->InteractiveZone,true);
+
+ double W=ui->InteractiveZone->maxw;
+ double H=W*CurrentBrush->AspectRatio;
+ CurrentBrush->X=((ui->InteractiveZone->dmax-W)/2)/ui->InteractiveZone->dmax;
+ CurrentBrush->Y=((ui->InteractiveZone->dmax-H)/2)/ui->InteractiveZone->dmax;
+ CurrentBrush->ZoomFactor=W/ui->InteractiveZone->dmax;
+ RefreshControls();
+
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_AdjustH() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_AdjustH");
+ AppendPartialUndo(UNDOACTION_EDITZONE_FRAMING,ui->InteractiveZone,true);
+
+ double H=ui->InteractiveZone->maxh;
+ double W=H/CurrentBrush->AspectRatio;
+ CurrentBrush->X=((ui->InteractiveZone->dmax-W)/2)/ui->InteractiveZone->dmax;
+ CurrentBrush->Y=((ui->InteractiveZone->dmax-H)/2)/ui->InteractiveZone->dmax;
+ CurrentBrush->ZoomFactor=W/ui->InteractiveZone->dmax;
+ RefreshControls();
+
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_AdjustWH() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_AdjustWH");
+
+ // Special case for custom geometry -> use all the image then change aspect ratio to image aspect ratio
+ if (!CurrentBrush->LockGeometry) {
+ AppendPartialUndo(UNDOACTION_EDITZONE_FRAMING,ui->InteractiveZone,true);
+ double W=ui->InteractiveZone->maxw;
+ double H=ui->InteractiveZone->maxh;
+ CurrentBrush->AspectRatio=H/W;
+ CurrentBrush->X=((ui->InteractiveZone->dmax-W)/2)/ui->InteractiveZone->dmax;
+ CurrentBrush->Y=((ui->InteractiveZone->dmax-H)/2)/ui->InteractiveZone->dmax;
+ CurrentBrush->ZoomFactor=W/ui->InteractiveZone->dmax;
+ RefreshControls();
+ } else {
+ double W=ui->InteractiveZone->maxw;
+ double H=W*CurrentBrush->AspectRatio;
+ if (H<ui->InteractiveZone->maxh) s_AdjustH(); else s_AdjustW();
+ }
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::RefreshControls() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::RefreshControls");
+ if (FLAGSTOPED) return;
+ FLAGSTOPED=true;
+
+ if (((CurrentBrush->Image==NULL)&&(CurrentBrush->Video==NULL))||
+ ((CurrentBrush->Image!=NULL)&&(CurrentBrush->Image->ObjectGeometry==IMAGE_GEOMETRY_UNKNOWN))||
+ ((CurrentBrush->Video!=NULL)&&(CurrentBrush->Video->ObjectGeometry==IMAGE_GEOMETRY_UNKNOWN))) {
+ ui->FramingStyleED->setText(QApplication::translate("DlgImageCorrection","No style for nonstandard geometry image"));
+ ui->FramingStyleBT->setEnabled(false);
+ } else {
+ ui->FramingStyleED->setText(((cApplicationConfig *)BaseApplicationConfig)->StyleImageFramingCollection.GetStyleName(CurrentBrush->GetFramingStyle()));
+ ui->FramingStyleBT->setEnabled(true);
+ }
+
+ ui->XValue->setValue(CurrentBrush->X*100);
+ ui->YValue->setValue(CurrentBrush->Y*100);
+ ui->WValue->setValue(CurrentBrush->ZoomFactor*100);
+ ui->HValue->setValue(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio*100);
+
+ if (!CurrentBrush->LockGeometry) ui->LockGeometryCB->setCurrentIndex(0);
+ else if (CurrentBrush->AspectRatio==ProjectGeometry) ui->LockGeometryCB->setCurrentIndex(2);
+ else if (CurrentBrush->AspectRatio==ImageGeometry) ui->LockGeometryCB->setCurrentIndex(3);
+ else ui->LockGeometryCB->setCurrentIndex(1);
+
+ ui->RotateED->setValue(CurrentBrush->ImageRotation);
+
+ // FilterCorrection
+ ui->BrightnessSlider->setValue(CurrentBrush->Brightness); ui->BrightnessValue->setValue(CurrentBrush->Brightness);
+ ui->ContrastSlider->setValue(CurrentBrush->Contrast); ui->ContrastValue->setValue(CurrentBrush->Contrast);
+ ui->GammaSlider->setValue(CurrentBrush->Gamma*100); ui->GammaValue->setValue(CurrentBrush->Gamma);
+ ui->RedSlider->setValue(CurrentBrush->Red); ui->RedValue->setValue(CurrentBrush->Red);
+ ui->GreenSlider->setValue(CurrentBrush->Green); ui->GreenValue->setValue(CurrentBrush->Green);
+ ui->BlueSlider->setValue(CurrentBrush->Blue); ui->BlueValue->setValue(CurrentBrush->Blue);
+
+ ui->BlurSigmaSlider->setValue((CurrentBrush->Video?&CurrentBrush->Video->BrushFileTransform:&CurrentBrush->Image->BrushFileTransform)->BlurSigma*10);
+ ui->BlurSigmaSB->setValue((CurrentBrush->Video?&CurrentBrush->Video->BrushFileTransform:&CurrentBrush->Image->BrushFileTransform)->BlurSigma);
+ ui->BlurRadiusSlider->setValue(int((CurrentBrush->Video?&CurrentBrush->Video->BrushFileTransform:&CurrentBrush->Image->BrushFileTransform)->BlurRadius));
+ ui->BlurRadiusED->setValue(int((CurrentBrush->Video?&CurrentBrush->Video->BrushFileTransform:&CurrentBrush->Image->BrushFileTransform)->BlurRadius));
+
+ ui->FileNameED->setText(CurrentBrush->Image?CurrentBrush->Image->FileName:CurrentBrush->Video?CurrentBrush->Video->FileName:"");
+
+ OnOffFilter=CurrentBrush->Video?CurrentBrush->Video->BrushFileTransform.OnOffFilter:CurrentBrush->Image->BrushFileTransform.OnOffFilter;
+ ui->TransformationCB->SetCurrentFilter(ui->InteractiveZone->CachedImage,&OnOffFilter);
+
+ ui->InteractiveZone->repaint();
+
+ FLAGSTOPED=false;
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::ChangeBrushDiskFile() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::ChangeBrushDiskFile");
+ QString ActualFilePath=QFileInfo(CurrentBrush->Image?CurrentBrush->Image->FileName:CurrentBrush->Video->FileName).absolutePath();
+
+ QString NewFile=QFileDialog::getOpenFileName(this,
+ QApplication::translate("DlgImageCorrection","Select a file"),
+ ActualFilePath,//((cApplicationConfig *)BaseApplicationConfig)->RememberLastDirectories?((cApplicationConfig *)BaseApplicationConfig)->LastMediaPath:"",
+ ((cApplicationConfig *)BaseApplicationConfig)->GetFilterForMediaFile(CurrentBrush->Image?cBaseApplicationConfig::IMAGEFILE:cBaseApplicationConfig::VIDEOFILE));
+ QApplication::processEvents();
+ if (NewFile=="") return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_FILE,ui->InteractiveZone,true);
+ if (((cApplicationConfig *)BaseApplicationConfig)->RememberLastDirectories) ((cApplicationConfig *)BaseApplicationConfig)->LastMediaPath=QFileInfo(NewFile).absolutePath(); // Keep folder for next use
+
+ QString NewBrushFileName=QFileInfo(NewFile).absoluteFilePath();
+ QString OldBrushFileName=CurrentBrush->Image?CurrentBrush->Image->FileName:CurrentBrush->Video->FileName;
+
+ if (CurrentBrush->Image) {
+ CurrentBrush->Image->GetInformationFromFile(NewBrushFileName,NULL,NULL);
+ if (CurrentBrush->Image->IsValide) ui->InteractiveZone->InitCachedImage(ui->InteractiveZone->CompoObject,ui->InteractiveZone->BackgroundForm,ui->InteractiveZone->CurrentBrush,ui->InteractiveZone->VideoPosition);
+ UndoReloadImage=true;
+ } else if (CurrentBrush->Video) {
+ QString ErrorMessage=QApplication::translate("MainWindow","Format not supported","Error message");
+ bool IsValide=true;
+ if (CurrentBrush->Video->GetInformationFromFile(NewBrushFileName,NULL,NULL)&&(CurrentBrush->Video->OpenCodecAndFile())) {
+ // Check if file have at least one sound track compatible
+ if ((CurrentBrush->Video->AudioStreamNumber!=-1)&&(!(
+ (CurrentBrush->Video->ffmpegAudioFile->streams[CurrentBrush->Video->AudioStreamNumber]->codec->sample_fmt!=AV_SAMPLE_FMT_S16)||
+ (CurrentBrush->Video->ffmpegAudioFile->streams[CurrentBrush->Video->AudioStreamNumber]->codec->sample_fmt!=AV_SAMPLE_FMT_U8)
+ ))) {
+ ErrorMessage=ErrorMessage+"\n"+QApplication::translate("MainWindow","This application support only audio track with unsigned 8 bits or signed 16 bits sample format","Error message");
+ IsValide=false;
+ }
+ if ((CurrentBrush->Video->AudioStreamNumber!=-1)&&(CurrentBrush->Video->ffmpegAudioFile->streams[CurrentBrush->Video->AudioStreamNumber]->codec->channels>2)) {
+ ErrorMessage=ErrorMessage+"\n"+QApplication::translate("MainWindow","This application support only mono or stereo audio track","Error message");
+ IsValide=false;
+ }
+ if (IsValide) ui->InteractiveZone->InitCachedImage(ui->InteractiveZone->CompoObject,ui->InteractiveZone->BackgroundForm,ui->InteractiveZone->CurrentBrush,ui->InteractiveZone->VideoPosition);
+
+ if (!IsValide) {
+ CustomMessageBox(NULL,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),NewFile+"\n\n"+ErrorMessage,QMessageBox::Close);
+ CurrentBrush->Video->GetInformationFromFile(OldBrushFileName,NULL,NULL);
+ CurrentBrush->Video->OpenCodecAndFile();
+ } else UndoReloadImage=true;
+ }
+ }
+ RefreshControls();
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_ChTransformationCB(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_ChTransformationCB");
+ if ((FLAGSTOPSPIN)||(FLAGSTOPED)) return;
+ FLAGSTOPSPIN=true;
+ AppendPartialUndo(UNDOACTION_EDITZONE_TRANSFO,ui->InteractiveZone,true);
+ cFilterTransformObject *Filter=CurrentBrush->Image?&CurrentBrush->Image->BrushFileTransform:&CurrentBrush->Video->BrushFileTransform;
+ Filter->OnOffFilter=ui->TransformationCB->GetCurrentFilter();
+ ui->InteractiveZone->RefreshDisplay();
+ FLAGSTOPSPIN=false;
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_BlurSigmaSliderMoved(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_BlurSigmaSliderMoved");
+ if ((FLAGSTOPSPIN)||(FLAGSTOPED)) return;
+ FLAGSTOPSPIN=true;
+ AppendPartialUndo(UNDOACTION_EDITZONE_BLUR,ui->InteractiveZone,false);
+ cFilterTransformObject *Filter=CurrentBrush->Image?&CurrentBrush->Image->BrushFileTransform:&CurrentBrush->Video->BrushFileTransform;
+ Filter->BlurSigma=double(Value)/10;
+ ui->BlurSigmaSlider->setValue(Filter->BlurSigma*10);
+ ui->BlurSigmaSB->setValue(Filter->BlurSigma);
+ ui->InteractiveZone->RefreshDisplay();
+ FLAGSTOPSPIN=false;
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_BlurSigmaValueED(double Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_BlurSigmaValueED");
+ if ((FLAGSTOPSPIN)||(FLAGSTOPED)) return;
+ FLAGSTOPSPIN=true;
+ AppendPartialUndo(UNDOACTION_EDITZONE_BLUR,ui->InteractiveZone,false);
+ cFilterTransformObject *Filter=CurrentBrush->Image?&CurrentBrush->Image->BrushFileTransform:&CurrentBrush->Video->BrushFileTransform;
+ Filter->BlurSigma=Value;
+ ui->BlurSigmaSlider->setValue(Filter->BlurSigma*10);
+ ui->BlurSigmaSB->setValue(Filter->BlurSigma);
+ ui->InteractiveZone->RefreshDisplay();
+ FLAGSTOPSPIN=false;
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_BlurRadiusSliderMoved(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_BlurRadiusSliderMoved");
+ if ((FLAGSTOPSPIN)||(FLAGSTOPED)) return;
+ FLAGSTOPSPIN=true;
+ AppendPartialUndo(UNDOACTION_EDITZONE_BLURRD,ui->InteractiveZone,false);
+ cFilterTransformObject *Filter=CurrentBrush->Image?&CurrentBrush->Image->BrushFileTransform:&CurrentBrush->Video->BrushFileTransform;
+ Filter->BlurRadius=double(Value);
+ ui->BlurRadiusSlider->setValue(int(Filter->BlurRadius));
+ ui->BlurRadiusED->setValue(int(Filter->BlurRadius));
+ ui->InteractiveZone->RefreshDisplay();
+ FLAGSTOPSPIN=false;
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_RulersBT() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_RulersBT");
+ ((cApplicationConfig *)BaseApplicationConfig)->FramingRuler=!((cApplicationConfig *)BaseApplicationConfig)->FramingRuler;
+ ui->InteractiveZone->MagneticRuler=((cApplicationConfig *)BaseApplicationConfig)->FramingRuler;
+ ui->RulersBT->setIcon(QIcon(((cApplicationConfig *)BaseApplicationConfig)->FramingRuler?QString(ICON_RULER_ON):QString(ICON_RULER_OFF)));
+ ui->InteractiveZone->RefreshDisplay();
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_BrightnessSliderMoved(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_BrightnessSliderMoved");
+ if ((FLAGSTOPSPIN)||(FLAGSTOPED)) return;
+ FLAGSTOPSPIN=true;
+ AppendPartialUndo(UNDOACTION_EDITZONE_BRIGHTNESS,ui->InteractiveZone,false);
+ CurrentBrush->Brightness=Value;
+ ui->BrightnessSlider->setValue(CurrentBrush->Brightness);
+ ui->BrightnessValue->setValue(CurrentBrush->Brightness);
+ ui->InteractiveZone->RefreshDisplay();
+ FLAGSTOPSPIN=false;
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_ContrastSliderMoved(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_ContrastSliderMoved");
+ if ((FLAGSTOPSPIN)||(FLAGSTOPED)) return;
+ FLAGSTOPSPIN=true;
+ AppendPartialUndo(UNDOACTION_EDITZONE_CONTRAST,ui->InteractiveZone,false);
+ CurrentBrush->Contrast=Value;
+ ui->ContrastSlider->setValue(CurrentBrush->Contrast);
+ ui->ContrastValue->setValue(CurrentBrush->Contrast);
+ ui->InteractiveZone->RefreshDisplay();
+ FLAGSTOPSPIN=false;
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_GammaSliderMoved(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_GammaSliderMoved");
+ if ((FLAGSTOPSPIN)||(FLAGSTOPED)) return;
+ FLAGSTOPSPIN=true;
+ AppendPartialUndo(UNDOACTION_EDITZONE_GAMMA,ui->InteractiveZone,false);
+ CurrentBrush->Gamma=double(Value)/100;
+ ui->GammaSlider->setValue(CurrentBrush->Gamma*100);
+ ui->GammaValue->setValue(CurrentBrush->Gamma);
+ ui->InteractiveZone->RefreshDisplay();
+ FLAGSTOPSPIN=false;
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_GammaValueED(double Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_GammaValueED");
+ if ((FLAGSTOPSPIN)||(FLAGSTOPED)) return;
+ FLAGSTOPSPIN=true;
+ AppendPartialUndo(UNDOACTION_EDITZONE_GAMMA,ui->InteractiveZone,false);
+ CurrentBrush->Gamma=Value;
+ ui->GammaSlider->setValue(CurrentBrush->Gamma*100);
+ ui->GammaValue->setValue(CurrentBrush->Gamma);
+ ui->InteractiveZone->RefreshDisplay();
+ FLAGSTOPSPIN=false;
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_RedSliderMoved(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_RedSliderMoved");
+ if (FLAGSTOPED) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_RED,ui->InteractiveZone,false);
+ CurrentBrush->Red=Value;
+ ui->RedSlider->setValue(CurrentBrush->Red);
+ ui->RedValue->setValue(CurrentBrush->Red);
+ ui->InteractiveZone->RefreshDisplay();
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_GreenSliderMoved(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_GreenSliderMoved");
+ if (FLAGSTOPED) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_GREEN,ui->InteractiveZone,false);
+ CurrentBrush->Green=Value;
+ ui->GreenSlider->setValue(CurrentBrush->Green);
+ ui->GreenValue->setValue(CurrentBrush->Green);
+ ui->InteractiveZone->RefreshDisplay();
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_BlueSliderMoved(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_BlueSliderMoved");
+ if (FLAGSTOPED) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_BLUE,ui->InteractiveZone,false);
+ CurrentBrush->Blue=Value;
+ ui->BlueSlider->setValue(CurrentBrush->Blue);
+ ui->BlueValue->setValue(CurrentBrush->Blue);
+ ui->InteractiveZone->RefreshDisplay();
+}
+
+//====================================================================================================================
+
+void DlgImageCorrection::s_LockGeometryCB(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_LockGeometryCB");
+ if (FLAGSTOPED) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_GEOMETRY,ui->InteractiveZone,true);
+ switch (Value) {
+ case 0 :
+ CurrentBrush->LockGeometry=false;
+ break;
+ case 1 :
+ CurrentBrush->LockGeometry=true;
+ break;
+ case 2 :
+ CurrentBrush->LockGeometry=true;
+ CurrentBrush->AspectRatio =ProjectGeometry;
+ break;
+ case 3 :
+ CurrentBrush->LockGeometry=true;
+ CurrentBrush->AspectRatio =ImageGeometry;
+ break;
+ }
+ RefreshControls();
+}
+
+//====================================================================================================================
+// Handler for style sheet management
+//====================================================================================================================
+
+void DlgImageCorrection::s_FramingStyleBT() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_FramingStyleBT");
+ if (!CompoObject) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_FRAMING,ui->InteractiveZone,true);
+ QString ActualStyle=CompoObject->GetFramingStyle();
+ QString Item=((cApplicationConfig *)BaseApplicationConfig)->StyleImageFramingCollection.PopupCollectionMenu(this,BaseApplicationConfig,ActualStyle);
+ ui->FramingStyleBT->setDown(false);
+ if (Item!="") {
+ QStringList List;
+ ((cApplicationConfig *)BaseApplicationConfig)->StyleImageFramingCollection.StringToStringList(Item,List);
+ for (int i=0;i<List.count();i++) {
+ if (List[i].startsWith("X:")) CurrentBrush->X =List[i].mid(QString("X:").length()).toDouble();
+ else if (List[i].startsWith("Y:")) CurrentBrush->Y =List[i].mid(QString("Y:").length()).toDouble();
+ else if (List[i].startsWith("ZoomFactor:")) CurrentBrush->ZoomFactor =List[i].mid(QString("ZoomFactor:").length()).toDouble();
+ else if (List[i].startsWith("LockGeometry:")) CurrentBrush->LockGeometry =List[i].mid(QString("LockGeometry:").length()).toInt()==1;
+ else if (List[i].startsWith("AspectRatio:")) CurrentBrush->AspectRatio =List[i].mid(QString("AspectRatio:").length()).toDouble();
+ }
+ }
+ RefreshControls();
+}
+
+//====================================================================================================================
+// Handler for interactive zone
+//====================================================================================================================
+
+void DlgImageCorrection::s_IntZoneTransformBlocks(double Move_X,double Move_Y,double Scale_X,double Scale_Y) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_IntZoneTransformBlocks");
+ AppendPartialUndo(UNDOACTION_INTERACTIVEMOVERESIZE,ui->InteractiveZone,true);
+
+ CurrentBrush->X=CurrentBrush->X+Move_X;
+ CurrentBrush->Y=CurrentBrush->Y+Move_Y;
+ if (!CurrentBrush->LockGeometry) {
+ double NewH=CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio+Scale_Y;
+ CurrentBrush->AspectRatio=NewH/(CurrentBrush->ZoomFactor+Scale_X);
+ }
+ CurrentBrush->ZoomFactor=CurrentBrush->ZoomFactor+Scale_X;
+
+ ui->InteractiveZone->Move_X =0;
+ ui->InteractiveZone->Move_Y =0;
+ ui->InteractiveZone->Scale_X=0;
+ ui->InteractiveZone->Scale_Y=0;
+
+ RefreshControls();
+}
+
+void DlgImageCorrection::s_DisplayIntZoneTransformBlocks(double Move_X,double Move_Y,double Scale_X,double Scale_Y) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_DisplayIntZoneTransformBlocks");
+
+ double NewX=CurrentBrush->X+Move_X;
+ double NewY=CurrentBrush->Y+Move_Y;
+ double NewW=CurrentBrush->ZoomFactor+Scale_X;
+ double NewH=(CurrentBrush->LockGeometry?(CurrentBrush->ZoomFactor+Scale_X)*CurrentBrush->AspectRatio:CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio+Scale_Y);
+
+ FLAGSTOPED=true;
+ ui->XValue->setValue(NewX*100);
+ ui->YValue->setValue(NewY*100);
+ ui->WValue->setValue(NewW*100);
+ ui->HValue->setValue(NewH*100);
+ FLAGSTOPED=false;
+
+}
diff --git a/src/ffDiaporama/DlgImage/DlgImageCorrection.h b/src/ffDiaporama/DlgImage/DlgImageCorrection.h
new file mode 100755
index 0000000..6651371
--- /dev/null
+++ b/src/ffDiaporama/DlgImage/DlgImageCorrection.h
@@ -0,0 +1,111 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef DLGIMAGECORRECTION_H
+#define DLGIMAGECORRECTION_H
+
+// Basic inclusions (common to all files)
+#include "../../engine/_GlobalDefines.h"
+#include "../../engine/_QCustomDialog.h"
+
+// Specific inclusions
+#include "../_Diaporama.h"
+#include "../_ApplicationDefinitions.h"
+
+namespace Ui {
+ class DlgImageCorrection;
+}
+
+class DlgImageCorrection : public QCustomDialog {
+Q_OBJECT
+public:
+ cBrushDefinition *CurrentBrush;
+ cCompositionObject *CompoObject;
+ int ffDPrjGeometry; // Project image geometry define in ffDiaporama project
+ bool UndoReloadImage; // True if image change and undo must reload it
+ QString UndoBrushFileName; // Name of previous file is undo
+ bool FLAGSTOPED; // Flag to stop spin box during settings
+ bool FLAGSTOPSPIN; // Flag to stop spin box during blur change
+ double ImageGeometry;
+ double ProjectGeometry;
+ QString InitialFilteredString;
+ int OnOffFilter;
+
+ explicit DlgImageCorrection(cCompositionObject *TheCurrentTextItem,int BackgroundForm,cBrushDefinition *CurrentBrush,int TheVideoPosition,int ImageGeometry,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent=0);
+ ~DlgImageCorrection();
+
+ // function to be overloaded
+ virtual void DoInitDialog(); // Initialise dialog
+ virtual void DoAccept(); // Call when user click on Ok button
+ virtual void DoRejet() { /* Nothing to do */ } // Call when user click on Cancel button
+ virtual void PrepareGlobalUndo(); // Initiale Undo
+ virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button
+
+ virtual void PreparePartialUndo(int ActionType,QDomElement root);
+ virtual void ApplyPartialUndo(int ActionType,QDomElement root);
+
+ void RefreshControls();
+
+protected:
+ virtual void resizeEvent(QResizeEvent *);
+ virtual void showEvent(QShowEvent *);
+
+private slots:
+ void s_RulersBT();
+ void s_RotationEDChanged(double Value);
+ void s_XValueEDChanged(double Value);
+ void s_YValueEDChanged(double Value);
+ void s_WValueEDChanged(double Value);
+ void s_HValueEDChanged(double Value);
+ void s_RotateLeft();
+ void s_RotateRight();
+ void s_AdjustW();
+ void s_AdjustH();
+ void s_AdjustWH();
+ void s_BrightnessSliderMoved(int Value);
+ void s_ContrastSliderMoved(int Value);
+ void s_GammaSliderMoved(int Value);
+ void s_GammaValueED(double Value);
+ void s_RedSliderMoved(int Value);
+ void s_GreenSliderMoved(int Value);
+ void s_BlueSliderMoved(int Value);
+ void s_BrightnessReset();
+ void s_ContrastReset();
+ void s_GammaReset();
+ void s_RedReset();
+ void s_GreenReset();
+ void s_BlueReset();
+ void s_ChTransformationCB(int);
+ void s_BlurSigmaSliderMoved(int Value);
+ void s_BlurSigmaValueED(double Value);
+ void s_BlurRadiusSliderMoved(int Value);
+ void s_BlurSharpenReset();
+ void s_RadiusReset();
+ void ChangeBrushDiskFile();
+ void s_LockGeometryCB(int value);
+ void s_FramingStyleBT();
+ void s_IntZoneTransformBlocks(double Move_X,double Move_Y,double Scale_X,double Scale_Y);
+ void s_DisplayIntZoneTransformBlocks(double Move_X,double Move_Y,double Scale_X,double Scale_Y);
+
+private:
+ Ui::DlgImageCorrection *ui;
+};
+
+#endif // DLGIMAGECORRECTION_H
diff --git a/src/ffDiaporama/DlgImage/DlgImageCorrection.ui b/src/ffDiaporama/DlgImage/DlgImageCorrection.ui
new file mode 100755
index 0000000..e192482
--- /dev/null
+++ b/src/ffDiaporama/DlgImage/DlgImageCorrection.ui
@@ -0,0 +1,2024 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DlgImageCorrection</class>
+ <widget class="QDialog" name="DlgImageCorrection">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>600</width>
+ <height>450</height>
+ </rect>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>600</width>
+ <height>450</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="windowTitle">
+ <string>Image framing and correction</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <property name="margin">
+ <number>8</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_8">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="cImgInteractiveZone" name="InteractiveZone" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QScrollArea" name="scrollArea">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>270</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>270</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="verticalScrollBarPolicy">
+ <enum>Qt::ScrollBarAlwaysOn</enum>
+ </property>
+ <property name="horizontalScrollBarPolicy">
+ <enum>Qt::ScrollBarAlwaysOff</enum>
+ </property>
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>254</width>
+ <height>600</height>
+ </rect>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <property name="margin">
+ <number>4</number>
+ </property>
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <item row="0" column="0" colspan="2">
+ <widget class="QLabel" name="label_14">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Properties for this shot</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_15">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/PosSize_X.png</pixmap>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QDoubleSpinBox" name="XValue">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>80</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Define the horizontal position from the left (X).</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="suffix">
+ <string notr="true">%</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_12">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/PosSize_Y.png</pixmap>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDoubleSpinBox" name="YValue">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>80</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Define the vertical position from the top of the image ( Y ).</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="suffix">
+ <string notr="true">%</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="7" column="0">
+ <widget class="QLabel" name="label_7">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip">
+ <string>Define the width</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/PosSize_Width.png</pixmap>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_5">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QDoubleSpinBox" name="WValue">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>80</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="suffix">
+ <string notr="true">%</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_10">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip">
+ <string>Define the height</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/PosSize_Height.png</pixmap>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDoubleSpinBox" name="HValue">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>80</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="suffix">
+ <string notr="true">%</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="29" column="0">
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="12" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QSlider" name="BrightnessSlider">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Adjust luminosity</string>
+ </property>
+ <property name="minimum">
+ <number>-250</number>
+ </property>
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="tickPosition">
+ <enum>QSlider::TicksBelow</enum>
+ </property>
+ <property name="tickInterval">
+ <number>50</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="BrightnessValue">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Adjust luminosity</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="minimum">
+ <number>-254</number>
+ </property>
+ <property name="maximum">
+ <number>254</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="BrightnessResetBT">
+ <property name="toolTip">
+ <string>Reset to zero</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="12" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/Brightness.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="13" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/Contrast.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="13" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_7">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QSlider" name="ContrastSlider">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Adjust contrast</string>
+ </property>
+ <property name="minimum">
+ <number>-250</number>
+ </property>
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="tickPosition">
+ <enum>QSlider::TicksBelow</enum>
+ </property>
+ <property name="tickInterval">
+ <number>50</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="ContrastValue">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Adjust contrast</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="minimum">
+ <number>-250</number>
+ </property>
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="ContrastResetBT">
+ <property name="toolTip">
+ <string>Reset to zero</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="14" column="0">
+ <widget class="QLabel" name="label_8">
+ <property name="text">
+ <string/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/Gamma.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="14" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_9">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QSlider" name="GammaSlider">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Adjust gamma</string>
+ </property>
+ <property name="maximum">
+ <number>590</number>
+ </property>
+ <property name="singleStep">
+ <number>10</number>
+ </property>
+ <property name="pageStep">
+ <number>100</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="tickPosition">
+ <enum>QSlider::TicksBelow</enum>
+ </property>
+ <property name="tickInterval">
+ <number>50</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDoubleSpinBox" name="GammaValue">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Adjust gamma</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="decimals">
+ <number>1</number>
+ </property>
+ <property name="maximum">
+ <double>5.900000000000000</double>
+ </property>
+ <property name="singleStep">
+ <double>0.100000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="GammaResetBT">
+ <property name="toolTip">
+ <string>Reset to zero</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="16" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/Red.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="16" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_10">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QSlider" name="RedSlider">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Adjust red chanel</string>
+ </property>
+ <property name="minimum">
+ <number>-250</number>
+ </property>
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="tickPosition">
+ <enum>QSlider::TicksBelow</enum>
+ </property>
+ <property name="tickInterval">
+ <number>50</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="RedValue">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Adjust red chanel</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="minimum">
+ <number>-250</number>
+ </property>
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="RedResetBT">
+ <property name="toolTip">
+ <string>Reset to zero</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="17" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/Green.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="17" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_11">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QSlider" name="GreenSlider">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Adjust green chanel</string>
+ </property>
+ <property name="minimum">
+ <number>-250</number>
+ </property>
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="tickPosition">
+ <enum>QSlider::TicksBelow</enum>
+ </property>
+ <property name="tickInterval">
+ <number>50</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="GreenValue">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Adjust green chanel</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="minimum">
+ <number>-250</number>
+ </property>
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="GreenResetBT">
+ <property name="toolTip">
+ <string>Reset to zero</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="18" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/Blue.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="18" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_12">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QSlider" name="BlueSlider">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Adjust blue chanel</string>
+ </property>
+ <property name="minimum">
+ <number>-250</number>
+ </property>
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="tickPosition">
+ <enum>QSlider::TicksBelow</enum>
+ </property>
+ <property name="tickInterval">
+ <number>50</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="BlueValue">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Adjust blue chanel</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="minimum">
+ <number>-250</number>
+ </property>
+ <property name="maximum">
+ <number>250</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="BlueResetBT">
+ <property name="toolTip">
+ <string>Reset to zero</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="22" column="1">
+ <widget class="cOnOffFilterComboBox" name="TransformationCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>175</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Apply a filter to the photo or the images of the video</string>
+ </property>
+ </widget>
+ </item>
+ <item row="22" column="0">
+ <widget class="QLabel" name="TransformationLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/Transform.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="23" column="0">
+ <widget class="QLabel" name="BlurLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/Blur.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="23" column="1">
+ <layout class="QHBoxLayout" name="BlurSharpenFrame">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="sizeConstraint">
+ <enum>QLayout::SetMinimumSize</enum>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QSlider" name="BlurSigmaSlider">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Define a blur/sharpen filter to the photo</string>
+ </property>
+ <property name="minimum">
+ <number>-100</number>
+ </property>
+ <property name="maximum">
+ <number>100</number>
+ </property>
+ <property name="singleStep">
+ <number>5</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="tickPosition">
+ <enum>QSlider::TicksBelow</enum>
+ </property>
+ <property name="tickInterval">
+ <number>10</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDoubleSpinBox" name="BlurSigmaSB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>55</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>55</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="decimals">
+ <number>1</number>
+ </property>
+ <property name="minimum">
+ <double>-10.000000000000000</double>
+ </property>
+ <property name="maximum">
+ <double>10.000000000000000</double>
+ </property>
+ <property name="singleStep">
+ <double>0.500000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="BlurSharpenResetBT">
+ <property name="toolTip">
+ <string>Reset to zero</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="24" column="1">
+ <layout class="QHBoxLayout" name="RadiusFrame">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="sizeConstraint">
+ <enum>QLayout::SetMinimumSize</enum>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="BlurRadiusLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/Radius.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSlider" name="BlurRadiusSlider">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Define a blur/sharpen filter to the photo</string>
+ </property>
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="maximum">
+ <number>10</number>
+ </property>
+ <property name="singleStep">
+ <number>1</number>
+ </property>
+ <property name="pageStep">
+ <number>1</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="tickPosition">
+ <enum>QSlider::TicksBelow</enum>
+ </property>
+ <property name="tickInterval">
+ <number>1</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="BlurRadiusED">
+ <property name="minimumSize">
+ <size>
+ <width>55</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>55</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Define a blur/sharpen filter to the photo</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="maximum">
+ <number>10</number>
+ </property>
+ <property name="singleStep">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>5</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="RadiusResetBT">
+ <property name="toolTip">
+ <string>Reset to 5</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="19" column="0" colspan="2">
+ <widget class="QLabel" name="label_13">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Properties for all shots</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="2">
+ <widget class="Line" name="line_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="20" column="0" colspan="2">
+ <widget class="Line" name="line_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="21" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_13">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="sizeConstraint">
+ <enum>QLayout::SetMinimumSize</enum>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLineEdit" name="FileNameED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Name of image/video file</string>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="FileNameBT">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Select another file</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/FolderOpen.png</normaloff>:/img/FolderOpen.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="21" column="0">
+ <widget class="QLabel" name="FileLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/object_image.png</pixmap>
+ </property>
+ <property name="scaledContents">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <widget class="QLabel" name="label_11">
+ <property name="font">
+ <font>
+ <italic>true</italic>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Framing :</string>
+ </property>
+ </widget>
+ </item>
+ <item row="10" column="0" colspan="2">
+ <widget class="QLabel" name="label_16">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <italic>true</italic>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Image correction :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QToolButton" name="FramingStyleBT">
+ <property name="minimumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/db_menu.png</normaloff>:/img/db_menu.png</iconset>
+ </property>
+ <property name="arrowType">
+ <enum>Qt::NoArrow</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLabel" name="FramingStyleED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>210</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>210</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true">StyleName</string>
+ </property>
+ </widget>
+ </item>
+ <item row="11" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/RotateZ.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="11" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QToolButton" name="RotateLeftBT">
+ <property name="minimumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Turn the image to the left (on the multiple fellow man of 90°).</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/rotationg.png</normaloff>:/img/rotationg.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDoubleSpinBox" name="RotateED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>80</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Define the rotation angle for z axis.</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="suffix">
+ <string notr="true">°</string>
+ </property>
+ <property name="decimals">
+ <number>1</number>
+ </property>
+ <property name="singleStep">
+ <double>0.500000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="RotateRightBT">
+ <property name="minimumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Turn the image to the right (on the multiple fellow man of 90°).</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/rotationd.png</normaloff>:/img/rotationd.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_4">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="4" column="1">
+ <widget class="QComboBox" name="LockGeometryCB">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_17">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/Geometry.png</pixmap>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_6">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QToolButton" name="AdjustWBT">
+ <property name="toolTip">
+ <string>Define automatically the framing to the width of the image.</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/AdjustW.png</normaloff>:/img/AdjustW.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>16</width>
+ <height>16</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="AdjustHBT">
+ <property name="toolTip">
+ <string>Define automatically the framing to the height of the image.</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/AdjustH.png</normaloff>:/img/AdjustH.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>16</width>
+ <height>16</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="AdjustWHBT">
+ <property name="minimumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Define automatically the framing to the diagonal of the image.</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/AdjustWH.png</normaloff>:/img/AdjustWH.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_5">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="RulersBT">
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>7</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Enable or disable rulers corresponding to the margins of television sets.</string>
+ </property>
+ <property name="text">
+ <string>Rullers</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/ruler_ok.png</normaloff>:/img/ruler_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="OKBT">
+ <property name="toolTip">
+ <string>Accept modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Ok</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_9">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>20</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="UndoBT">
+ <property name="toolTip">
+ <string>Undo last action (CTRL+Z)</string>
+ </property>
+ <property name="text">
+ <string>Undo</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo24.png</normaloff>:/img/undo24.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+Z</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="CancelBt">
+ <property name="toolTip">
+ <string>Cancel modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Cancel</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="HelpBT">
+ <property name="toolTip">
+ <string>Open help page describing this dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Help</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>F1</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <customwidgets>
+ <customwidget>
+ <class>cOnOffFilterComboBox</class>
+ <extends>QComboBox</extends>
+ <header>cCustomComboBox.h</header>
+ </customwidget>
+ <customwidget>
+ <class>cImgInteractiveZone</class>
+ <extends>QWidget</extends>
+ <header>DlgImage/cImgInteractiveZone.h</header>
+ <container>1</container>
+ </customwidget>
+ </customwidgets>
+ <tabstops>
+ <tabstop>scrollArea</tabstop>
+ <tabstop>FramingStyleBT</tabstop>
+ <tabstop>LockGeometryCB</tabstop>
+ <tabstop>AdjustWBT</tabstop>
+ <tabstop>AdjustHBT</tabstop>
+ <tabstop>AdjustWHBT</tabstop>
+ <tabstop>XValue</tabstop>
+ <tabstop>YValue</tabstop>
+ <tabstop>WValue</tabstop>
+ <tabstop>HValue</tabstop>
+ <tabstop>RotateLeftBT</tabstop>
+ <tabstop>RotateED</tabstop>
+ <tabstop>RotateRightBT</tabstop>
+ <tabstop>BrightnessSlider</tabstop>
+ <tabstop>BrightnessValue</tabstop>
+ <tabstop>BrightnessResetBT</tabstop>
+ <tabstop>ContrastSlider</tabstop>
+ <tabstop>ContrastValue</tabstop>
+ <tabstop>ContrastResetBT</tabstop>
+ <tabstop>GammaSlider</tabstop>
+ <tabstop>GammaValue</tabstop>
+ <tabstop>GammaResetBT</tabstop>
+ <tabstop>RedSlider</tabstop>
+ <tabstop>RedValue</tabstop>
+ <tabstop>RedResetBT</tabstop>
+ <tabstop>GreenSlider</tabstop>
+ <tabstop>GreenValue</tabstop>
+ <tabstop>GreenResetBT</tabstop>
+ <tabstop>BlueSlider</tabstop>
+ <tabstop>BlueValue</tabstop>
+ <tabstop>BlueResetBT</tabstop>
+ <tabstop>FileNameED</tabstop>
+ <tabstop>FileNameBT</tabstop>
+ <tabstop>TransformationCB</tabstop>
+ <tabstop>BlurSigmaSlider</tabstop>
+ <tabstop>BlurSigmaSB</tabstop>
+ <tabstop>BlurSharpenResetBT</tabstop>
+ <tabstop>BlurRadiusSlider</tabstop>
+ <tabstop>BlurRadiusED</tabstop>
+ <tabstop>RadiusResetBT</tabstop>
+ <tabstop>RulersBT</tabstop>
+ <tabstop>OKBT</tabstop>
+ <tabstop>CancelBt</tabstop>
+ <tabstop>HelpBT</tabstop>
+ </tabstops>
+ <resources>
+ <include location="../../../RSCffDiaporama.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/ffDiaporama/DlgImage/cImgInteractiveZone.cpp b/src/ffDiaporama/DlgImage/cImgInteractiveZone.cpp
new file mode 100755
index 0000000..a1d1811
--- /dev/null
+++ b/src/ffDiaporama/DlgImage/cImgInteractiveZone.cpp
@@ -0,0 +1,680 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "cImgInteractiveZone.h"
+
+#include <QKeyEvent>
+#include <QMouseEvent>
+
+#define HANDLESIZEX 8
+#define HANDLESIZEY 8
+#define HANDLEMAGNETX 14
+#define HANDLEMAGNETY 10
+
+#define MINVALUE 0.002 // Never less than this value for width or height
+#define PI 3.14159265
+
+//====================================================================================================================
+
+cImgInteractiveZone::cImgInteractiveZone(QWidget *parent):QWidget(parent) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cImgInteractiveZone::cImgInteractiveZone");
+ ForegroundImage =NULL;
+ CachedImage =NULL;
+ IsCapture =false;
+ TransfoType =NOTYETDEFINED;
+
+ CompoObject =NULL;
+ BackgroundForm =0;
+ CurrentBrush =NULL;
+ VideoPosition =0;
+
+ Move_X =0;
+ Scale_X =0;
+ Move_Y =0;
+ Scale_Y =0;
+ SceneRect =QRectF(0,0,0,0);
+ setMouseTracking(true);
+}
+
+//====================================================================================================================
+
+cImgInteractiveZone::~cImgInteractiveZone() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cImgInteractiveZone::~cImgInteractiveZone");
+ if (ForegroundImage!=NULL) {
+ delete ForegroundImage;
+ ForegroundImage=NULL;
+ }
+ if (CachedImage!=NULL) {
+ delete CachedImage;
+ CachedImage=NULL;
+ }
+}
+
+//====================================================================================================================
+
+void cImgInteractiveZone::InitCachedImage(cCompositionObject *TheCompoObject,int TheBackgroundForm,cBrushDefinition *TheCurrentBrush,int TheVideoPosition) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cImgInteractiveZone::InitCachedImage");
+
+ CompoObject =TheCompoObject;
+ BackgroundForm =TheBackgroundForm;
+ CurrentBrush =TheCurrentBrush;
+ VideoPosition =TheVideoPosition;
+
+ if (CachedImage!=NULL) {
+ delete CachedImage;
+ CachedImage=NULL;
+ }
+
+ if (CurrentBrush->Image) {
+ CachedImage=CurrentBrush->Image->ImageAt(true,NULL);
+ } else if (CurrentBrush->Video) {
+ CachedImage=CurrentBrush->Video->ImageAt(true,VideoPosition,QTime(0,0,0,0).msecsTo(CurrentBrush->Video->StartPos),NULL,1,false,NULL,false);
+ if (CachedImage->format()!=QImage::Format_ARGB32_Premultiplied) {
+ QImage *NewCachedImage=new QImage(CachedImage->convertToFormat(QImage::Format_ARGB32_Premultiplied));
+ delete CachedImage;
+ CachedImage=NewCachedImage;
+ }
+ }
+
+ RefreshDisplay();
+}
+
+//====================================================================================================================
+
+void cImgInteractiveZone::paintEvent(QPaintEvent *) {
+ if ((!ForegroundImage)||(SceneRect.width()==0)||(SceneRect.height()==0)) return;
+
+ QPainter Painter(this);
+ Painter.save();
+ Painter.translate(SceneRect.left(),SceneRect.top());
+ Painter.drawImage(0,0,*ForegroundImage);
+
+ CurSelRect=QRectF((CurrentBrush->X+Move_X)*dmax,
+ (CurrentBrush->Y+Move_Y)*dmax,
+ (CurrentBrush->ZoomFactor+Scale_X)*dmax,
+ (CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio+Scale_Y)*dmax);
+
+ QImage Image(ForegroundImage->width(),ForegroundImage->height(),QImage::Format_ARGB32_Premultiplied);
+
+ QPainter PainterImg;
+ PainterImg.begin(&Image);
+ PainterImg.setPen(Qt::NoPen);
+ PainterImg.fillRect(QRect(0,0,Image.width(),Image.height()),QBrush(0x555555));
+ PainterImg.setBrush(Qt::transparent);
+ PainterImg.setCompositionMode(QPainter::CompositionMode_Source);
+ DrawShape(PainterImg,BackgroundForm,CurSelRect.left(),CurSelRect.top(),CurSelRect.width(),CurSelRect.height(),CurSelRect.width()/2+CurSelRect.left(),CurSelRect.height()/2+CurSelRect.top());
+ PainterImg.setCompositionMode(QPainter::CompositionMode_SourceOver);
+ PainterImg.end();
+
+ Painter.setOpacity(0.75);
+ Painter.drawImage(0,0,Image);
+ Painter.setOpacity(1);
+
+ Painter.setBrush(Qt::NoBrush);
+ Painter.setCompositionMode(QPainter::RasterOp_SourceXorDestination);
+
+ // Draw rulers if they was enabled
+ if (MagneticRuler) {
+ QPen pen=QPen(QColor(0,255,0));
+ pen.setWidth(1);
+ pen.setStyle(Qt::DotLine);
+ Painter.setPen(pen);
+ for (int i=0;i<MagnetVert.count();i++) Painter.drawLine(MagnetVert[i],0,MagnetVert[i],SceneRect.height());
+ for (int i=0;i<MagnetHoriz.count();i++) Painter.drawLine(0,MagnetHoriz[i],SceneRect.width(),MagnetHoriz[i]);
+ }
+
+ QPen pen(Qt::red);
+ pen.setWidth(2);
+ pen.setStyle(Qt::DashLine);
+ Painter.setPen(pen);
+ DrawSelect(Painter,QRectF(CurSelRect.left()-1,CurSelRect.top()-1,CurSelRect.width(),CurSelRect.height()),true);
+
+ Painter.restore();
+}
+
+void cImgInteractiveZone::DrawSelect(QPainter &Painter,QRectF Rect,bool WithHandles) {
+ Painter.drawRect(Rect);
+ if (WithHandles) {
+ QPen OldPen=Painter.pen();
+ QPen pen=OldPen;
+ pen.setStyle(Qt::SolidLine);
+ Painter.setPen(pen);
+ Painter.drawRect(QRectF(Rect.left()-HANDLESIZEX/2, Rect.top()-HANDLESIZEY/2, HANDLESIZEX,HANDLESIZEY)); // Top left
+ Painter.drawRect(QRectF(Rect.left()-HANDLESIZEX/2, Rect.top()+Rect.height()/2-HANDLESIZEY/2, HANDLESIZEX,HANDLESIZEY)); // Left
+ Painter.drawRect(QRectF(Rect.left()-HANDLESIZEX/2, Rect.bottom()-HANDLESIZEY/2, HANDLESIZEX,HANDLESIZEY)); // Bottom left
+ Painter.drawRect(QRectF(Rect.right()-HANDLESIZEX/2,Rect.top()-HANDLESIZEY/2, HANDLESIZEX,HANDLESIZEY)); // Top right
+ Painter.drawRect(QRectF(Rect.right()-HANDLESIZEX/2,Rect.top()+Rect.height()/2-HANDLESIZEY/2, HANDLESIZEX,HANDLESIZEY)); // right
+ Painter.drawRect(QRectF(Rect.right()-HANDLESIZEX/2,Rect.bottom()-HANDLESIZEY/2, HANDLESIZEX,HANDLESIZEY)); // Bottom right
+ Painter.drawRect(QRectF(Rect.left()+Rect.width()/2-HANDLESIZEX/2,Rect.top()-HANDLESIZEY/2, HANDLESIZEX,HANDLESIZEY)); // Top
+ Painter.drawRect(QRectF(Rect.left()+Rect.width()/2-HANDLESIZEX/2,Rect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)); // Bottom
+ Painter.setPen(OldPen);
+ }
+}
+
+//====================================================================================================================
+
+void cImgInteractiveZone::RefreshDisplay() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cImgInteractiveZone::RefreshDisplay");
+ if (!CurrentBrush) return;
+
+ if (ForegroundImage!=NULL) {
+ delete ForegroundImage;
+ ForegroundImage=NULL;
+ }
+
+ if (width()<height()) dmax=width(); else dmax=height();
+
+ QImage *SourceImage=NULL;
+ double Hyp =sqrt(CachedImage->width()*CachedImage->width()+CachedImage->height()*CachedImage->height()); // Calc hypothenuse of the image to define full canvas
+
+ // calc rectangle before rotation
+ double rx=double(CachedImage->width())*(dmax/Hyp)/2;
+ double ry=double(CachedImage->height())*(dmax/Hyp)/2;
+
+ //RotatePoint.X = ((Pt.X - Centre.X) * Cos(AngCrad) - (Pt.Y - Centre.Y) * Sin(AngCrad) + Centre.X)
+ //RotatePoint.Y = ((Pt.X - Centre.X) * Sin(AngCrad) + (Pt.Y - Centre.Y) * Cos(AngCrad) + Centre.Y)
+
+ double x1=-rx*cos((CurrentBrush->ImageRotation)*PI/180)+ry*sin(CurrentBrush->ImageRotation*PI/180)+dmax/2;
+ double x2=+rx*cos((CurrentBrush->ImageRotation)*PI/180)+ry*sin(CurrentBrush->ImageRotation*PI/180)+dmax/2;
+ double x3=-rx*cos((CurrentBrush->ImageRotation)*PI/180)-ry*sin(CurrentBrush->ImageRotation*PI/180)+dmax/2;
+ double x4=+rx*cos((CurrentBrush->ImageRotation)*PI/180)-ry*sin(CurrentBrush->ImageRotation*PI/180)+dmax/2;
+ double y1=-rx*sin((CurrentBrush->ImageRotation)*PI/180)+ry*cos(CurrentBrush->ImageRotation*PI/180)+dmax/2;
+ double y2=+rx*sin((CurrentBrush->ImageRotation)*PI/180)+ry*cos(CurrentBrush->ImageRotation*PI/180)+dmax/2;
+ double y3=-rx*sin((CurrentBrush->ImageRotation)*PI/180)-ry*cos(CurrentBrush->ImageRotation*PI/180)+dmax/2;
+ double y4=+rx*sin((CurrentBrush->ImageRotation)*PI/180)-ry*cos(CurrentBrush->ImageRotation*PI/180)+dmax/2;
+
+ double minx=x1; if (minx>x2) minx=x2; if (minx>x3) minx=x3; if (minx>x4) minx=x4;
+ double maxx=x1; if (maxx<x2) maxx=x2; if (maxx<x3) maxx=x3; if (maxx<x4) maxx=x4;
+ double miny=y1; if (miny>y2) miny=y2; if (miny>y3) miny=y3; if (miny>y4) miny=y4;
+ double maxy=y1; if (maxy<y2) maxy=y2; if (maxy<y3) maxy=y3; if (maxy<y4) maxy=y4;
+
+ maxw=maxx-minx;
+ maxh=maxy-miny;
+
+ // Rotate image if needed and create a SourceImage
+ if (CurrentBrush->ImageRotation!=0) {
+ QTransform matrix;
+ matrix.rotate(CurrentBrush->ImageRotation,Qt::ZAxis);
+ SourceImage=new QImage(CachedImage->transformed(matrix,Qt::SmoothTransformation));
+
+ // If no rotation then SourceImage=CachedImage
+ } else SourceImage=CachedImage;
+
+ // Calc coordinates of the part in the source image
+ double RealImageW=double(SourceImage->width()); // Get real image widht
+ double RealImageH=double(SourceImage->height()); // Get real image height
+
+ DstX=((Hyp-RealImageW)/2)*(dmax/Hyp);
+ DstY=((Hyp-RealImageH)/2)*(dmax/Hyp);
+ DstW=RealImageW*(dmax/Hyp);
+ DstH=RealImageH*(dmax/Hyp);
+
+ QImage ToUseImage=SourceImage->scaled(DstW,DstH);
+ if (SourceImage!=CachedImage) delete SourceImage;
+
+ if (ToUseImage.format()!=QImage::Format_ARGB32_Premultiplied) ToUseImage=ToUseImage.convertToFormat(QImage::Format_ARGB32_Premultiplied);
+
+ // On/Off filters and blur/sharpen
+ if (CurrentBrush->Image) CurrentBrush->Image->BrushFileTransform.ApplyFilter(&ToUseImage);
+ else if (CurrentBrush->Video) CurrentBrush->Video->BrushFileTransform.ApplyFilter(&ToUseImage);
+
+ // Brightness, contrast, gamma and colors adjustments
+ CurrentBrush->ApplyFilter(&ToUseImage);
+
+ ForegroundImage=new QImage(dmax,dmax,QImage::Format_ARGB32_Premultiplied);
+ QPainter P;
+ P.begin(ForegroundImage);
+ P.fillRect(QRectF(0,0,dmax,dmax),Transparent);
+ P.drawImage(QRectF(DstX,DstY,DstW,DstH),ToUseImage,QRectF(0,0,DstW,DstH));
+ P.end();
+
+ SceneRect=QRect((this->width()-ForegroundImage->width())/2,(this->height()-ForegroundImage->height())/2,ForegroundImage->width(),ForegroundImage->height());
+
+ // *************************************************************************
+ // Create rulers
+ // *************************************************************************
+
+ MagnetHoriz.clear();
+ MagnetVert.clear();
+ if (MagneticRuler) {
+ MagnetVert.append(dmax/2);
+ MagnetVert.append(x1);
+ MagnetVert.append(x2);
+ MagnetVert.append(x3);
+ MagnetVert.append(x4);
+ MagnetHoriz.append(dmax/2);
+ MagnetHoriz.append(y1);
+ MagnetHoriz.append(y2);
+ MagnetHoriz.append(y3);
+ MagnetHoriz.append(y4);
+ }
+ // Clean collections
+ for (int i=MagnetHoriz.count()-1;i>=0;i--) for (int j=0;j<i;j++) if (int(MagnetHoriz[j])==int(MagnetHoriz[i])) { MagnetHoriz.removeAt(i); break; }
+ for (int i=MagnetVert.count()-1;i>=0;i--) for (int j=0;j<i;j++) if (int(MagnetVert[j]) ==int(MagnetVert[i])) { MagnetVert.removeAt(i); break; }
+
+ repaint();
+}
+
+//====================================================================================================================
+
+bool cImgInteractiveZone::IsInRect(QPoint Pos,QRect Rect) {
+ return ((Pos.x()-SceneRect.left()>=Rect.left())&&(Pos.x()-SceneRect.left()<=Rect.right())&&(Pos.y()-SceneRect.top()>=Rect.top())&&(Pos.y()-SceneRect.top()<=Rect.bottom()));
+}
+
+//====================================================================================================================
+
+bool cImgInteractiveZone::IsInSelectedRect(QPoint Pos) {
+ if ((Pos.x()-SceneRect.left()>=CurSelRect.left())&&(Pos.x()-SceneRect.left()<=CurSelRect.right())&&
+ (Pos.y()-SceneRect.top()>=CurSelRect.top())&&(Pos.y()-SceneRect.top()<=CurSelRect.bottom())) return true;
+ return false;
+}
+
+//====================================================================================================================
+
+void cImgInteractiveZone::ManageCursor(QPoint Pos,Qt::KeyboardModifiers Modifiers) {
+ if (IsInRect(Pos,QRect(CurSelRect.left()-HANDLESIZEX/2, CurSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeBDiagCursor); // Bottom left
+ else if (IsInRect(Pos,QRect(CurSelRect.left()-HANDLESIZEX/2,CurSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeFDiagCursor); // Top left
+ else if (IsInRect(Pos,QRect(CurSelRect.left()-HANDLESIZEX/2, CurSelRect.top()+CurSelRect.height()/2-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeHorCursor); // Left
+ else if (IsInRect(Pos,QRect(CurSelRect.right()-HANDLESIZEX/2,CurSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeBDiagCursor); // Top right
+ else if (IsInRect(Pos,QRect(CurSelRect.right()-HANDLESIZEX/2,CurSelRect.top()+CurSelRect.height()/2-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeHorCursor); // Right
+ else if (IsInRect(Pos,QRect(CurSelRect.right()-HANDLESIZEX/2,CurSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeFDiagCursor); // Bottom right
+ else if (IsInRect(Pos,QRect(CurSelRect.left()+CurSelRect.width()/2-HANDLESIZEX/2,CurSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeVerCursor); // Top
+ else if (IsInRect(Pos,QRect(CurSelRect.left()+CurSelRect.width()/2-HANDLESIZEX/2,CurSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(Qt::SizeVerCursor); // Bottom
+ else if ((IsInSelectedRect(Pos))&&(Modifiers==Qt::NoModifier)) setCursor(Qt::OpenHandCursor);
+ else setCursor(Qt::ArrowCursor); // standard
+}
+
+//====================================================================================================================
+
+QRect cImgInteractiveZone::ComputeNewCurSelRect() {
+ if (CurrentBrush->LockGeometry) {
+ return QRect((CurrentBrush->X+Move_X)*dmax,
+ (CurrentBrush->Y+Move_Y)*dmax,
+ (CurrentBrush->ZoomFactor+Scale_X)*dmax,
+ (CurrentBrush->ZoomFactor+Scale_X)*CurrentBrush->AspectRatio*dmax);
+ } else {
+ return QRect((CurrentBrush->X+Move_X)*dmax,
+ (CurrentBrush->Y+Move_Y)*dmax,
+ (CurrentBrush->ZoomFactor+Scale_X)*dmax,
+ ((CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio)+Scale_Y)*dmax);
+ }
+}
+
+
+//====================================================================================================================
+
+void cImgInteractiveZone::keyPressEvent(QKeyEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cImgInteractiveZone::keyPressEvent");
+ if (!CurrentBrush) return;
+
+ ManageCursor(mapFromGlobal(QCursor::pos()),event->modifiers());
+ double StepX=double(1)/SceneRect.width();
+ double StepY=double(1)/SceneRect.height();
+
+ Move_X =0;
+ Scale_X=0;
+ Move_Y =0;
+ Scale_Y=0;
+
+ switch (event->key()) {
+ case Qt::Key_Left:
+ if (event->modifiers()==Qt::ShiftModifier) {Move_X =-StepX; Scale_X=StepX; Move_Y=CurrentBrush->LockGeometry?(Move_X*SceneRect.width()*CurrentBrush->AspectRatio)/SceneRect.height():0; Scale_Y=CurrentBrush->LockGeometry?(Scale_X*SceneRect.width()*CurrentBrush->AspectRatio)/SceneRect.height():0;}
+ else if (event->modifiers()==Qt::ControlModifier) {Scale_X=-StepX; Scale_Y=CurrentBrush->LockGeometry?(CurrentBrush->AspectRatio*Scale_X*SceneRect.width())/SceneRect.height():0; }
+ else Move_X=-StepX;
+ break;
+ case Qt::Key_Right:
+ if (event->modifiers()==Qt::ShiftModifier) {Move_X =StepX; Scale_X=-StepX; Move_Y=CurrentBrush->LockGeometry?(Move_X*SceneRect.width()*CurrentBrush->AspectRatio)/SceneRect.height():0; Scale_Y=CurrentBrush->LockGeometry?(Scale_X*SceneRect.width()*CurrentBrush->AspectRatio)/SceneRect.height():0;}
+ else if (event->modifiers()==Qt::ControlModifier) {Scale_X=StepX; Scale_Y=CurrentBrush->LockGeometry?(Scale_X*SceneRect.width()*CurrentBrush->AspectRatio)/SceneRect.height():0; }
+ else Move_X=StepX;
+ break;
+ case Qt::Key_Up:
+ if (event->modifiers()==Qt::ShiftModifier) {Move_Y =-StepY; Scale_Y=StepY; Move_X=CurrentBrush->LockGeometry?((Move_Y*SceneRect.height())/CurrentBrush->AspectRatio)/SceneRect.width():0; Scale_X=CurrentBrush->LockGeometry?((Scale_Y*SceneRect.height())/CurrentBrush->AspectRatio)/SceneRect.width():0;}
+ else if (event->modifiers()==Qt::ControlModifier) {Scale_Y=-StepY; Scale_X=CurrentBrush->LockGeometry?((Scale_Y*SceneRect.height())*CurrentBrush->AspectRatio)/SceneRect.width():0; }
+ else Move_Y=-StepY;
+ break;
+ case Qt::Key_Down:
+ if (event->modifiers()==Qt::ShiftModifier) {Move_Y =StepY; Scale_Y=-StepY; Move_X=CurrentBrush->LockGeometry?((Move_Y*SceneRect.height())/CurrentBrush->AspectRatio)/SceneRect.width():0; Scale_X=CurrentBrush->LockGeometry?((Scale_Y*SceneRect.height())/CurrentBrush->AspectRatio)/SceneRect.width():0;}
+ else if (event->modifiers()==Qt::ControlModifier) {Scale_Y=StepY; Scale_X=CurrentBrush->LockGeometry?((Scale_Y*SceneRect.height())/CurrentBrush->AspectRatio)/SceneRect.width():0; }
+ else Move_Y=StepY;
+ break;
+ default :
+ QWidget::keyPressEvent(event);
+ break;
+ }
+ if ((Move_X!=0)||(Move_Y!=0)||(Scale_X!=0)||(Scale_Y!=0)) emit TransformBlock(Move_X,Move_Y,Scale_X,Scale_Y);
+}
+
+//====================================================================================================================
+
+void cImgInteractiveZone::keyReleaseEvent(QKeyEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cImgInteractiveZone::keyReleaseEvent");
+ if (!CurrentBrush) return;
+
+ ManageCursor(mapFromGlobal(QCursor::pos()),event->modifiers());
+ QWidget::keyReleaseEvent(event);
+}
+
+//====================================================================================================================
+
+void cImgInteractiveZone::mouseMoveEvent(QMouseEvent *event) {
+ //ToLog(LOGMSG_DEBUGTRACE,"IN:cImgInteractiveZone::mouseMoveEvent"); // Remove : too much
+ if (!CurrentBrush) return;
+
+ if (!IsCapture) {
+
+ ManageCursor(event->pos(),event->modifiers());
+
+ } else {
+
+ // *************************************************************************
+ // Calc transformation
+ // *************************************************************************
+
+ double DX=double(event->pos().x()-CapturePos.x())/SceneRect.width();
+ double DY=double(event->pos().y()-CapturePos.y())/SceneRect.height();
+ QRect NewCurSelRect;
+
+ // Top left
+ if (TransfoType==RESIZEUPLEFT) {
+ // Adjust DX and DY for resize not less than 0
+ if (DX>=CurrentBrush->ZoomFactor-MINVALUE) DX=CurrentBrush->ZoomFactor-MINVALUE;
+ if (DY>=CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE) DY=CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE;
+ Move_X =DX;
+ Move_Y =CurrentBrush->LockGeometry?(Move_X*SceneRect.width()*CurrentBrush->AspectRatio)/SceneRect.height():DY;
+ Scale_X =-Move_X;
+ Scale_Y =-Move_Y;
+ NewCurSelRect=ComputeNewCurSelRect();
+
+ // Apply magnetic rules vertical
+ for (int Ruller=0;Ruller<MagnetVert.count();Ruller++) if ((MagnetVert[Ruller]<NewCurSelRect.right())&&(NewCurSelRect.left()>=MagnetVert[Ruller]-HANDLEMAGNETX)&&(NewCurSelRect.left()<=MagnetVert[Ruller]+HANDLEMAGNETX)) {
+ Move_X =(MagnetVert[Ruller]-CurrentBrush->X*SceneRect.width())/SceneRect.width();
+ if (CurrentBrush->LockGeometry) Move_Y=(Move_X*SceneRect.width()*CurrentBrush->AspectRatio)/SceneRect.height();
+ Scale_Y=-Move_Y;
+ Scale_X=-Move_X;
+ break;
+ }
+
+ // Apply magnetic rules horizontal
+ for (int Ruller=0;Ruller<MagnetHoriz.count();Ruller++) if ((MagnetHoriz[Ruller]<NewCurSelRect.bottom())&&(NewCurSelRect.top()>=MagnetHoriz[Ruller]-HANDLEMAGNETY)&&(NewCurSelRect.top()<=MagnetHoriz[Ruller]+HANDLEMAGNETY)) {
+ Move_Y =(MagnetHoriz[Ruller]-CurrentBrush->Y*SceneRect.height())/SceneRect.height();
+ if (CurrentBrush->LockGeometry) Move_X=(Move_Y*SceneRect.height()/CurrentBrush->AspectRatio)/SceneRect.width();
+ Scale_Y=-Move_Y;
+ Scale_X=-Move_X;
+ break;
+ }
+
+ // Left
+ } else if (TransfoType==RESIZELEFT) {
+ // Adjust DX and DY for resize not less than 0
+ if (DX>=CurrentBrush->ZoomFactor-MINVALUE) DX=CurrentBrush->ZoomFactor-MINVALUE;
+ if (DY>=CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE) DY=CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE;
+ Move_X =DX;
+ Scale_X=-Move_X;
+ if (CurrentBrush->LockGeometry) {
+ Scale_Y=(Scale_X*SceneRect.width()*CurrentBrush->AspectRatio)/SceneRect.height();
+ Move_Y =-Scale_Y/2;
+ }
+ NewCurSelRect=ComputeNewCurSelRect();
+
+ // Apply magnetic rules vertical
+ for (int Ruller=0;Ruller<MagnetVert.count();Ruller++) if ((MagnetVert[Ruller]<NewCurSelRect.right())&&(NewCurSelRect.left()>=MagnetVert[Ruller]-HANDLEMAGNETX)&&(NewCurSelRect.left()<=MagnetVert[Ruller]+HANDLEMAGNETX)) {
+ Move_X =(MagnetVert[Ruller]-CurrentBrush->X*SceneRect.width())/SceneRect.width();
+ Scale_X=-Move_X;
+ if (CurrentBrush->LockGeometry) {
+ Scale_Y=(Scale_X*SceneRect.width()*CurrentBrush->AspectRatio)/SceneRect.height();
+ Move_Y =-Scale_Y/2;
+ }
+ break;
+ }
+
+ // Bottom left
+ } else if (TransfoType==RESIZEDOWNLEFT) {
+ // Adjust DX and DY for resize not less than 0
+ if (CurrentBrush->ZoomFactor!=0) {
+ if (DX>=CurrentBrush->ZoomFactor-MINVALUE) DX=CurrentBrush->ZoomFactor-MINVALUE;
+ if (DY<=-(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE)) DY=-(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE);
+ }
+ Move_X =DX;
+ Scale_X =-Move_X;
+ Move_Y =0;
+ Scale_Y =CurrentBrush->LockGeometry?(Scale_X*SceneRect.width()*CurrentBrush->AspectRatio)/SceneRect.height():DY;
+
+ NewCurSelRect=ComputeNewCurSelRect();
+
+ // Apply magnetic rules vertical
+ for (int Ruller=0;Ruller<MagnetVert.count();Ruller++) if ((MagnetVert[Ruller]<NewCurSelRect.right())&&(NewCurSelRect.left()>=MagnetVert[Ruller]-HANDLEMAGNETX)&&(NewCurSelRect.left()<=MagnetVert[Ruller]+HANDLEMAGNETX)) {
+ Move_X =(MagnetVert[Ruller]-CurrentBrush->X*SceneRect.width())/SceneRect.width();
+ Scale_X=-Move_X;
+ if (CurrentBrush->LockGeometry) Scale_Y=-(Move_X*SceneRect.width()*CurrentBrush->AspectRatio)/SceneRect.height();
+ break;
+ }
+
+ // Apply magnetic rules horizontal
+ for (int Ruller=0;Ruller<MagnetHoriz.count();Ruller++) if ((MagnetHoriz[Ruller]>NewCurSelRect.top())&&(NewCurSelRect.bottom()>=MagnetHoriz[Ruller]-HANDLEMAGNETY)&&(NewCurSelRect.bottom()<=MagnetHoriz[Ruller]+HANDLEMAGNETY)) {
+ Scale_Y =(MagnetHoriz[Ruller]-(CurrentBrush->Y+CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio)*SceneRect.height())/SceneRect.height();
+ if (CurrentBrush->LockGeometry) {
+ Move_X =-(Scale_Y*SceneRect.height()/CurrentBrush->AspectRatio)/SceneRect.width();
+ Scale_X=-Move_X;
+ }
+ break;
+ }
+
+ // Top right
+ } else if (TransfoType==RESIZEUPRIGHT) {
+ // Adjust DX and DY for resize not less than 0
+ if (DX<=-(CurrentBrush->ZoomFactor-MINVALUE)) DX=-(CurrentBrush->ZoomFactor-MINVALUE);
+ if (DY>=CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE) DY=CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE;
+ Move_X =0;
+ Scale_X =DX;
+ Move_Y =CurrentBrush->LockGeometry?(-Scale_X*SceneRect.width()*CurrentBrush->AspectRatio)/SceneRect.height():DY;
+ Scale_Y =-Move_Y;
+ NewCurSelRect=ComputeNewCurSelRect();
+
+ // Apply magnetic rules vertical
+ for (int Ruller=0;Ruller<MagnetVert.count();Ruller++) if ((MagnetVert[Ruller]>NewCurSelRect.left())&&(NewCurSelRect.right()>=MagnetVert[Ruller]-HANDLEMAGNETX)&&(NewCurSelRect.right()<=MagnetVert[Ruller]+HANDLEMAGNETX)) {
+ Scale_X=(MagnetVert[Ruller]-(CurrentBrush->X+CurrentBrush->ZoomFactor)*SceneRect.width())/SceneRect.width();
+ if (CurrentBrush->LockGeometry) Move_Y=-(Scale_X*SceneRect.width()*CurrentBrush->AspectRatio)/SceneRect.height();
+ Scale_Y=-Move_Y;
+ break;
+ }
+
+ // Apply magnetic rules horizontal
+ for (int Ruller=0;Ruller<MagnetHoriz.count();Ruller++) if ((MagnetHoriz[Ruller]<NewCurSelRect.bottom())&&(NewCurSelRect.top()>=MagnetHoriz[Ruller]-HANDLEMAGNETY)&&(NewCurSelRect.top()<=MagnetHoriz[Ruller]+HANDLEMAGNETY)) {
+ Move_Y =(MagnetHoriz[Ruller]-CurrentBrush->Y*SceneRect.height())/SceneRect.height();
+ if (CurrentBrush->LockGeometry) Scale_X=-(Move_Y*SceneRect.height()/CurrentBrush->AspectRatio)/SceneRect.width();
+ Scale_Y=-Move_Y;
+ break;
+ }
+ // Right
+ } else if (TransfoType==RESIZERIGHT) {
+ // Adjust DX and DY for resize not less than 0
+ if (DX<=-(CurrentBrush->ZoomFactor-MINVALUE)) DX=-(CurrentBrush->ZoomFactor-MINVALUE);
+ if (DY<=-(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE)) DY=-(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE);
+ Move_X =0;
+ Scale_X=DX;
+ if (CurrentBrush->LockGeometry) {
+ Scale_Y=(Scale_X*SceneRect.width()*CurrentBrush->AspectRatio)/SceneRect.height();
+ Move_Y =-Scale_Y/2;
+ }
+ NewCurSelRect=ComputeNewCurSelRect();
+
+ // Apply magnetic rules vertical
+ for (int Ruller=0;Ruller<MagnetVert.count();Ruller++) if ((MagnetVert[Ruller]>NewCurSelRect.left())&&(NewCurSelRect.right()>=MagnetVert[Ruller]-HANDLEMAGNETX)&&(NewCurSelRect.right()<=MagnetVert[Ruller]+HANDLEMAGNETX)) {
+ Scale_X=(MagnetVert[Ruller]-(CurrentBrush->X+CurrentBrush->ZoomFactor)*SceneRect.width())/SceneRect.width();
+ if (CurrentBrush->LockGeometry) {
+ Scale_Y=(Scale_X*SceneRect.width()*CurrentBrush->AspectRatio)/SceneRect.height();
+ Move_Y =-Scale_Y/2;
+ }
+ break;
+ }
+ // Bottom right
+ } else if (TransfoType==RESIZEDOWNRIGHT) {
+ // Adjust DX and DY for resize not less than 0
+ if (DX<=-(CurrentBrush->ZoomFactor-MINVALUE)) DX=-(CurrentBrush->ZoomFactor-MINVALUE);
+ if (DY<=-(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE)) DY=-(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE);
+ Move_X =0;
+ Scale_X =DX;
+ Move_Y =0;
+ Scale_Y =CurrentBrush->LockGeometry?(Scale_X*SceneRect.width()*CurrentBrush->AspectRatio)/SceneRect.height():DY;
+ NewCurSelRect=ComputeNewCurSelRect();
+
+ // Apply magnetic rules vertical
+ for (int Ruller=0;Ruller<MagnetVert.count();Ruller++) if ((MagnetVert[Ruller]>NewCurSelRect.left())&&(NewCurSelRect.right()>=MagnetVert[Ruller]-HANDLEMAGNETX)&&(NewCurSelRect.right()<=MagnetVert[Ruller]+HANDLEMAGNETX)) {
+ Scale_X=(MagnetVert[Ruller]-(CurrentBrush->X+CurrentBrush->ZoomFactor)*SceneRect.width())/SceneRect.width();
+ if (CurrentBrush->LockGeometry) Scale_Y=(Scale_X*SceneRect.width()*CurrentBrush->AspectRatio)/SceneRect.height();
+ break;
+ }
+
+ // Apply magnetic rules horizontal
+ for (int Ruller=0;Ruller<MagnetHoriz.count();Ruller++) if ((MagnetHoriz[Ruller]>NewCurSelRect.top())&&(NewCurSelRect.bottom()>=MagnetHoriz[Ruller]-HANDLEMAGNETY)&&(NewCurSelRect.bottom()<=MagnetHoriz[Ruller]+HANDLEMAGNETY)) {
+ Scale_Y =(MagnetHoriz[Ruller]-(CurrentBrush->Y+CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio)*SceneRect.height())/SceneRect.height();
+ if (CurrentBrush->LockGeometry) Scale_X=(Scale_Y*SceneRect.height()/CurrentBrush->AspectRatio)/SceneRect.width();
+ break;
+ }
+ // Top
+ } else if (TransfoType==RESIZEUP) {
+ // Adjust DX and DY for resize not less than 0
+ if (DY>=CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE) DY=CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE;
+ Move_Y =DY;
+ Scale_Y=-Move_Y;
+ if (CurrentBrush->LockGeometry) {
+ Scale_X=(Scale_Y*SceneRect.height()/CurrentBrush->AspectRatio)/SceneRect.width();
+ Move_X =-Scale_X/2;
+ }
+ NewCurSelRect=ComputeNewCurSelRect();
+
+ // Apply magnetic rules horizontal
+ for (int Ruller=0;Ruller<MagnetHoriz.count();Ruller++) if ((MagnetHoriz[Ruller]<NewCurSelRect.bottom())&&(NewCurSelRect.top()>=MagnetHoriz[Ruller]-HANDLEMAGNETY)&&(NewCurSelRect.top()<=MagnetHoriz[Ruller]+HANDLEMAGNETY)) {
+ Move_Y =(MagnetHoriz[Ruller]-CurrentBrush->Y*SceneRect.height())/SceneRect.height();
+ Scale_Y=-Move_Y;
+ if (CurrentBrush->LockGeometry) {
+ Scale_X=(Scale_Y*SceneRect.height()/CurrentBrush->AspectRatio)/SceneRect.width();
+ Move_X =-Scale_X/2;
+ }
+ break;
+ }
+ // Bottom
+ } else if (TransfoType==RESIZEDOWN) {
+ // Adjust DX and DY for resize not less than 0
+ if (DY<=-(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE)) DY=-(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio-MINVALUE);
+ Move_Y =0;
+ Scale_Y=DY;
+ if (CurrentBrush->LockGeometry) {
+ Scale_X=(Scale_Y*SceneRect.height()/CurrentBrush->AspectRatio)/SceneRect.width();
+ Move_X =-Scale_X/2;
+ }
+ NewCurSelRect=ComputeNewCurSelRect();
+
+ // Apply magnetic rules horizontal
+ for (int Ruller=0;Ruller<MagnetHoriz.count();Ruller++) if ((MagnetHoriz[Ruller]>NewCurSelRect.top())&&(NewCurSelRect.bottom()>=MagnetHoriz[Ruller]-HANDLEMAGNETY)&&(NewCurSelRect.bottom()<=MagnetHoriz[Ruller]+HANDLEMAGNETY)) {
+ Scale_Y =(MagnetHoriz[Ruller]-(CurrentBrush->Y+CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio)*SceneRect.height())/SceneRect.height();
+ if (CurrentBrush->LockGeometry) {
+ Scale_X=(Scale_Y*SceneRect.height()/CurrentBrush->AspectRatio)/SceneRect.width();
+ Move_X =-Scale_X/2;
+ }
+ break;
+ }
+ // Move
+ } else if (TransfoType==MOVEBLOCK) {
+ Move_X =DX;
+ Move_Y =DY;
+ Scale_X=0;
+ Scale_Y=0;
+
+ if (MagneticRuler!=0) {
+ QRect NewCurSelRect=ComputeNewCurSelRect();
+ DX=0;
+ DY=0;
+
+ // Apply magnetic rules vertical
+ for (int Ruller=0;Ruller<MagnetVert.count();Ruller++) {
+ if ((NewCurSelRect.left() >=MagnetVert[Ruller]-HANDLEMAGNETX)&&(NewCurSelRect.left() <=MagnetVert[Ruller]+HANDLEMAGNETX)) { DX=NewCurSelRect.left() -MagnetVert[Ruller]; break; }
+ else if ((NewCurSelRect.right() >=MagnetVert[Ruller]-HANDLEMAGNETX)&&(NewCurSelRect.right() <=MagnetVert[Ruller]+HANDLEMAGNETX)) { DX=NewCurSelRect.right()+1 -MagnetVert[Ruller]; break; }
+ else if ((NewCurSelRect.center().x()>=MagnetVert[Ruller]-HANDLEMAGNETX)&&(NewCurSelRect.center().x()<=MagnetVert[Ruller]+HANDLEMAGNETX)) { DX=NewCurSelRect.center().x()-MagnetVert[Ruller]; break; }
+ }
+
+ // Apply magnetic rules horizontal
+ for (int Ruller=0;Ruller<MagnetHoriz.count();Ruller++) {
+ if ((NewCurSelRect.top() >=MagnetHoriz[Ruller]-HANDLEMAGNETY)&&(NewCurSelRect.top() <=MagnetHoriz[Ruller]+HANDLEMAGNETY)) { DY=NewCurSelRect.top() -MagnetHoriz[Ruller]; break; }
+ else if ((NewCurSelRect.bottom() >=MagnetHoriz[Ruller]-HANDLEMAGNETY)&&(NewCurSelRect.bottom() <=MagnetHoriz[Ruller]+HANDLEMAGNETY)) { DY=NewCurSelRect.bottom()+1 -MagnetHoriz[Ruller]; break; }
+ else if ((NewCurSelRect.center().y()>=MagnetHoriz[Ruller]-HANDLEMAGNETY)&&(NewCurSelRect.center().y()<=MagnetHoriz[Ruller]+HANDLEMAGNETY)) { DY=NewCurSelRect.center().y()-MagnetHoriz[Ruller]; break; }
+ }
+
+ Move_X=double(event->pos().x()-DX-CapturePos.x())/SceneRect.width();
+ Move_Y=double(event->pos().y()-DY-CapturePos.y())/SceneRect.height();
+ }
+ }
+ if ((Move_X!=0)||(Move_Y!=0)||(Scale_X!=0)||(Scale_Y!=0)) {
+ emit DisplayTransformBlock(Move_X,Move_Y,Scale_X,Scale_Y);
+ repaint();
+ }
+ }
+}
+
+//====================================================================================================================
+
+void cImgInteractiveZone::mousePressEvent(QMouseEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cImgInteractiveZone::mousePressEvent");
+ if (!CurrentBrush) return;
+
+ ManageCursor(event->pos(),event->modifiers());
+ setFocus();
+ if ((event->button()==Qt::LeftButton)&&(event->modifiers()==Qt::NoModifier)) {
+ TransfoType=NOTYETDEFINED;
+
+ // Resize
+ if ((IsInRect(event->pos(),QRect(CurSelRect.left()-HANDLESIZEX/2, CurSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEDOWNLEFT; // Bottom left
+ else if ((IsInRect(event->pos(),QRect(CurSelRect.left()-HANDLESIZEX/2,CurSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEUPLEFT; // Top left
+ else if ((IsInRect(event->pos(),QRect(CurSelRect.left()-HANDLESIZEX/2, CurSelRect.top()+CurSelRect.height()/2-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZELEFT; // Left
+ else if ((IsInRect(event->pos(),QRect(CurSelRect.right()-HANDLESIZEX/2,CurSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEUPRIGHT; // Top right
+ else if ((IsInRect(event->pos(),QRect(CurSelRect.right()-HANDLESIZEX/2,CurSelRect.top()+CurSelRect.height()/2-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZERIGHT; // Right
+ else if ((IsInRect(event->pos(),QRect(CurSelRect.right()-HANDLESIZEX/2,CurSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEDOWNRIGHT;// Bottom right
+ else if ((IsInRect(event->pos(),QRect(CurSelRect.left()+CurSelRect.width()/2-HANDLESIZEX/2,CurSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEUP; // Top
+ else if ((IsInRect(event->pos(),QRect(CurSelRect.left()+CurSelRect.width()/2-HANDLESIZEX/2,CurSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEDOWN; // Bottom
+ // Move
+ else if (IsInSelectedRect(event->pos())) {
+ TransfoType=MOVEBLOCK;
+ setCursor(Qt::ClosedHandCursor);
+ }
+
+ if (TransfoType!=NOTYETDEFINED) {
+ IsCapture=true;
+ CapturePos=event->pos();
+ Move_X =0;
+ Move_Y =0;
+ Scale_X=0;
+ Scale_Y=0;
+ }
+ }
+}
+
+//====================================================================================================================
+
+void cImgInteractiveZone::mouseReleaseEvent(QMouseEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cImgInteractiveZone::mouseReleaseEvent");
+ if ((!CurrentBrush)||(!IsCapture)) return;
+
+ IsCapture=false;
+
+ // Block move
+ if (((Move_X!=0)||(Move_Y!=0)||(Scale_X!=0)||(Scale_Y!=0))) emit TransformBlock(Move_X,Move_Y,Scale_X,Scale_Y);
+ ManageCursor(event->pos(),event->modifiers());
+}
+
diff --git a/src/ffDiaporama/DlgImage/cImgInteractiveZone.h b/src/ffDiaporama/DlgImage/cImgInteractiveZone.h
new file mode 100755
index 0000000..8226f85
--- /dev/null
+++ b/src/ffDiaporama/DlgImage/cImgInteractiveZone.h
@@ -0,0 +1,88 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef CIMGINTERACTIVEZONE_H
+#define CIMGINTERACTIVEZONE_H
+
+#include "../../engine/_GlobalDefines.h"
+#include "../_Diaporama.h"
+
+#include <QWidget>
+
+enum TRANSFOTYPE {NOTYETDEFINED,MOVEBLOCK,RESIZEUPLEFT,RESIZEDOWNLEFT,RESIZEUPRIGHT,RESIZEDOWNRIGHT,RESIZELEFT,RESIZERIGHT,RESIZEUP,RESIZEDOWN};
+
+class cImgInteractiveZone : public QWidget {
+Q_OBJECT
+public:
+ int MagneticRuler;
+
+ cCompositionObject *CompoObject;
+ int BackgroundForm;
+ cBrushDefinition *CurrentBrush;
+ int VideoPosition;
+
+ QImage *ForegroundImage;
+ QImage *CachedImage;
+ double dmax;
+ double DstX,DstY,DstW,DstH;
+ double maxw,maxh;
+
+ QRectF SceneRect;
+ QRectF CurSelRect;
+ bool IsCapture; // True if there is an active capture
+ QPoint CapturePos;
+
+ // Transformations
+ TRANSFOTYPE TransfoType;
+ double Move_X,Move_Y; // Blocks move
+ double Scale_X,Scale_Y; // Blocks resize
+
+ // Rulers
+ QList<double> MagnetVert;
+ QList<double> MagnetHoriz;
+
+ explicit cImgInteractiveZone(QWidget *parent = 0);
+ ~cImgInteractiveZone();
+
+ void RefreshDisplay();
+ void InitCachedImage(cCompositionObject *TheCompoObject,int TheBackgroundForm,cBrushDefinition *TheCurrentBrush,int TheVideoPosition);
+
+protected:
+ virtual void paintEvent(QPaintEvent *event);
+
+ virtual void mouseMoveEvent(QMouseEvent *event);
+ virtual void mousePressEvent(QMouseEvent *event);
+ virtual void mouseReleaseEvent(QMouseEvent *event);
+ virtual void keyPressEvent(QKeyEvent *event);
+ virtual void keyReleaseEvent(QKeyEvent *event);
+
+signals:
+ void TransformBlock(double Move_X,double Move_Y,double Scale_X,double Scale_Y);
+ void DisplayTransformBlock(double Move_X,double Move_Y,double Scale_X,double Scale_Y);
+
+private:
+ bool IsInRect(QPoint Pos,QRect Rect);
+ bool IsInSelectedRect(QPoint Pos);
+ void ManageCursor(QPoint Pos,Qt::KeyboardModifiers Modifiers);
+ QRect ComputeNewCurSelRect();
+ void DrawSelect(QPainter &Painter,QRectF Rect,bool WithHandles);
+};
+
+#endif // CIMGINTERACTIVEZONE_H
diff --git a/src/ffDiaporama/DlgImageCorrection.cpp b/src/ffDiaporama/DlgImageCorrection.cpp
deleted file mode 100755
index 1ae9e76..0000000
--- a/src/ffDiaporama/DlgImageCorrection.cpp
+++ /dev/null
@@ -1,1000 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "DlgImageCorrection.h"
-#include "ui_DlgImageCorrection.h"
-#include "mainwindow.h"
-
-#include <QMessageBox>
-#include <QFileDialog>
-#include <QSplashScreen>
-
-#define ICON_RULER_ON ":/img/ruler_ok.png"
-#define ICON_RULER_OFF ":/img/ruler_ko.png"
-#define ICON_GEOMETRY_LOCKED ":/img/Geometry_Lock.png"
-#define ICON_GEOMETRY_UNLOCKED ":/img/Geometry_Unlock.png"
-#define ICON_GEOMETRY_PROJECT ":/img/Geometry_ProjectLock.png"
-#define ICON_GEOMETRY_IMAGE ":/img/Geometry_ImageLock.png"
-#define ICON_OBJECT_MOVIE ":/img/object_movie.png"
-
-DlgImageCorrection::DlgImageCorrection(cCompositionObject *TheCurrentTextItem,int TheBackgroundForm,cBrushDefinition *TheCurrentBrush,int TheVideoPosition,QWidget *parent):QDialog(parent),ui(new Ui::DlgImageCorrection) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::DlgImageCorrection");
- ui->setupUi(this);
- BackgroundForm =TheBackgroundForm;
- CurrentTextItem =TheCurrentTextItem;
- CurrentBrush =TheCurrentBrush;
- VideoPosition =TheVideoPosition;
- UndoReloadImage =false;
-
- setWindowFlags((windowFlags()|Qt::CustomizeWindowHint|Qt::WindowSystemMenuHint|Qt::WindowMaximizeButtonHint)&(~Qt::WindowMinimizeButtonHint));
-
- if (CurrentBrush->Image) {
- InitialFilteredString=CurrentBrush->Image->BrushFileTransform.FilterToString();
- CachedImage=CurrentBrush->Image->ImageAt(true,NULL);
- GlobalMainWindow->ApplicationConfig->StyleImageFramingCollection.SetImageGeometryFilter(GlobalMainWindow->Diaporama->ImageGeometry,CurrentBrush->Image->ObjectGeometry);
- } else if (CurrentBrush->Video) {
- InitialFilteredString=CurrentBrush->Video->BrushFileTransform.FilterToString();
- CachedImage=CurrentBrush->Video->ImageAt(true,VideoPosition,QTime(0,0,0,0).msecsTo(CurrentBrush->Video->StartPos),NULL,1,false,NULL,false);
- if (CachedImage->format()!=QImage::Format_ARGB32_Premultiplied) {
- QImage *NewCachedImage=new QImage(CachedImage->convertToFormat(QImage::Format_ARGB32_Premultiplied));
- delete CachedImage;
- CachedImage=NewCachedImage;
- }
- GlobalMainWindow->ApplicationConfig->StyleImageFramingCollection.SetImageGeometryFilter(GlobalMainWindow->Diaporama->ImageGeometry,CurrentBrush->Video->ObjectGeometry);
- }
-
- ui->LockGeometryCB->view()->setFixedWidth(300);
-
- ui->LockGeometryCB->addItem(QIcon(ICON_GEOMETRY_UNLOCKED),QApplication::translate("DlgImageCorrection","Unlock"));
- ui->LockGeometryCB->addItem(QIcon(ICON_GEOMETRY_LOCKED), QApplication::translate("DlgImageCorrection","Lock to this geometry"));
- ui->LockGeometryCB->addItem(QIcon(ICON_GEOMETRY_PROJECT), QApplication::translate("DlgImageCorrection","Lock to project geometry"));
- ui->LockGeometryCB->addItem(QIcon(ICON_GEOMETRY_IMAGE), QApplication::translate("DlgImageCorrection","Lock to image geometry"));
-
- // Save objects before modification for cancel button
- UndoBrushFileName=(CurrentBrush->Image!=NULL)?CurrentBrush->Image->FileName:CurrentBrush->Video->FileName;
-
- UndoSlide=new QDomDocument(APPLICATION_NAME);
- QDomElement root=UndoSlide->createElement("UNDO-DLG"); // Create xml document and root
- CurrentBrush->SaveToXML(root,"UNDO-DLG-OBJECT",GlobalMainWindow->Diaporama->ProjectFileName,true); // Save object
- UndoSlide->appendChild(root); // Add object to xml document
-
- UndoShot=new QDomDocument(APPLICATION_NAME);
- root=UndoShot->createElement("UNDO-DLG"); // Create xml document and root
- cFilterTransformObject *Filter=CurrentBrush->Image?&CurrentBrush->Image->BrushFileTransform:&CurrentBrush->Video->BrushFileTransform;
- Filter->SaveToXML(root,"UNDO-DLG-OBJECT"); // Save object
- UndoShot->appendChild(root); // Add object to xml document
-
- IsFirstInitDone = false; // true when first show window was done
- FLAGSTOPED = false;
- FLAGSTOPSPIN = false;
- scene = NULL;
- cadre = NULL;
-
- switch (GlobalMainWindow->Diaporama->ImageGeometry) {
- case GEOMETRY_4_3 : ProjectGeometry=double(1440)/double(1920); break;
- case GEOMETRY_16_9 : ProjectGeometry=double(1080)/double(1920); break;
- case GEOMETRY_40_17 : ProjectGeometry=double(816)/double(1920); break;
-
- }
- ProjectGeometry=QString("%1").arg(ProjectGeometry,0,'e').toDouble(); // Rounded to same number as style managment
-
- if (CurrentBrush->Image) ImageGeometry=double(CurrentBrush->Image->ImageHeight)/double(CurrentBrush->Image->ImageWidth);
- else if (CurrentBrush->Video) ImageGeometry=double(CurrentBrush->Video->ImageHeight)/double(CurrentBrush->Video->ImageWidth);
- ImageGeometry=QString("%1").arg(ImageGeometry,0,'e').toDouble(); // Rounded to same number as style managment
-
- MagneticRuler.MagnetX1 = -1;
- MagneticRuler.MagnetY1 = -1;
- MagneticRuler.MagnetX2 = -1;
- MagneticRuler.MagnetY2 = -1;
- MagneticRuler.MagnetX3 = -1000; // Disable centering ruller
- MagneticRuler.MagnetY3 = -1000; // Disable centering ruller
- MagneticRuler.MagneticRuler= GlobalMainWindow->Diaporama->ApplicationConfig->FramingRuler;
-
- ui->RotateED->setMinimum(-180);
- ui->RotateED->setMaximum(180);
-
- ui->XValue->setSingleStep(1); ui->XValue->setRange(-200,200);
- ui->YValue->setSingleStep(1); ui->YValue->setRange(-200,200);
- ui->WValue->setSingleStep(1); ui->WValue->setRange(1,200);
- ui->HValue->setSingleStep(1); ui->HValue->setRange(1,200);
-
- ui->TransformationCB->SetCurrentFilter(CachedImage,CurrentBrush->Video?&CurrentBrush->Video->BrushFileTransform.OnOffFilter:&CurrentBrush->Image->BrushFileTransform.OnOffFilter);
-
- // If it's not an image then disable blur/sharpen
- if (CurrentBrush->Image==NULL) {
- ui->BlurLabel->setVisible(false);
- ui->BlurSigmaSlider->setVisible(false);
- ui->BlurSigmaSB->setVisible(false);
- ui->BlurSharpenResetBT->setVisible(false);
- ui->BlurRadiusLabel->setVisible(false);
- ui->BlurRadiusSlider->setVisible(false);
- ui->BlurRadiusED->setVisible(false);
- ui->RadiusResetBT->setVisible(false);
- ui->FileLabel->setPixmap(QPixmap(ICON_OBJECT_MOVIE));
- }
-
- // Define handler
- connect(ui->CloseBT,SIGNAL(clicked()),this,SLOT(reject()));
- connect(ui->OKBT,SIGNAL(clicked()),this,SLOT(accept()));
- connect(ui->HelpBT,SIGNAL(clicked()),this,SLOT(Help()));
-
- connect(ui->RotateED,SIGNAL(valueChanged(double)),this,SLOT(s_RotationEDChanged(double)));
- connect(ui->XValue,SIGNAL(valueChanged(double)),this,SLOT(s_XValueEDChanged(double)));
- connect(ui->YValue,SIGNAL(valueChanged(double)),this,SLOT(s_YValueEDChanged(double)));
- connect(ui->WValue,SIGNAL(valueChanged(double)),this,SLOT(s_WValueEDChanged(double)));
- connect(ui->HValue,SIGNAL(valueChanged(double)),this,SLOT(s_HValueEDChanged(double)));
- connect(ui->RotateLeftBT,SIGNAL(clicked()),this,SLOT(s_RotateLeft()));
- connect(ui->RotateRightBT,SIGNAL(clicked()),this,SLOT(s_RotateRight()));
- connect(ui->AdjustHBT,SIGNAL(clicked()),this,SLOT(s_AdjustH()));
- connect(ui->AdjustWBT,SIGNAL(clicked()),this,SLOT(s_AdjustW()));
- connect(ui->AdjustWHBT,SIGNAL(clicked()),this,SLOT(s_AdjustWH()));
- connect(ui->MagneticEdgeBt,SIGNAL(clicked()),this,SLOT(s_MagneticEdgeBt()));
-
- connect(ui->BrightnessSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BrightnessSliderMoved(int)));
- connect(ui->BrightnessValue,SIGNAL(valueChanged(int)),this,SLOT(s_BrightnessSliderMoved(int)));
- connect(ui->BrightnessResetBT,SIGNAL(clicked()),this,SLOT(s_BrightnessReset()));
- connect(ui->ContrastSlider,SIGNAL(valueChanged(int)),this,SLOT(s_ContrastSliderMoved(int)));
- connect(ui->ContrastValue,SIGNAL(valueChanged(int)),this,SLOT(s_ContrastSliderMoved(int)));
- connect(ui->ContrastResetBT,SIGNAL(clicked()),this,SLOT(s_ContrastReset()));
- connect(ui->GammaSlider,SIGNAL(valueChanged(int)),this,SLOT(s_GammaSliderMoved(int)));
- connect(ui->GammaValue,SIGNAL(valueChanged(double)),this,SLOT(s_GammaValueED(double)));
- connect(ui->GammaResetBT,SIGNAL(clicked()),this,SLOT(s_GammaReset()));
- connect(ui->RedSlider,SIGNAL(valueChanged(int)),this,SLOT(s_RedSliderMoved(int)));
- connect(ui->RedValue,SIGNAL(valueChanged(int)),this,SLOT(s_RedSliderMoved(int)));
- connect(ui->RedResetBT,SIGNAL(clicked()),this,SLOT(s_RedReset()));
- connect(ui->GreenSlider,SIGNAL(valueChanged(int)),this,SLOT(s_GreenSliderMoved(int)));
- connect(ui->GreenValue,SIGNAL(valueChanged(int)),this,SLOT(s_GreenSliderMoved(int)));
- connect(ui->GreenResetBT,SIGNAL(clicked()),this,SLOT(s_GreenReset()));
- connect(ui->BlueSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlueSliderMoved(int)));
- connect(ui->BlueValue,SIGNAL(valueChanged(int)),this,SLOT(s_BlueSliderMoved(int)));
- connect(ui->BlueResetBT,SIGNAL(clicked()),this,SLOT(s_BlueReset()));
-
- connect(ui->TransformationCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChTransformationCB(int)));
- connect(ui->BlurRadiusSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlurRadiusSliderMoved(int)));
- connect(ui->BlurRadiusED,SIGNAL(valueChanged(int)),this,SLOT(s_BlurRadiusSliderMoved(int)));
- connect(ui->BlurSigmaSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlurSigmaSliderMoved(int)));
- connect(ui->BlurSigmaSB,SIGNAL(valueChanged(double)),this,SLOT(s_BlurSigmaValueED(double)));
- connect(ui->BlurSharpenResetBT,SIGNAL(clicked()),this,SLOT(s_BlurSharpenReset()));
- connect(ui->RadiusResetBT,SIGNAL(clicked()),this,SLOT(s_RadiusReset()));
-
- connect(ui->LockGeometryCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_LockGeometryCB(int)));
- connect(ui->FramingStyleBT,SIGNAL(pressed()),this,SLOT(s_FramingStyleBT()));
-}
-
-DlgImageCorrection::~DlgImageCorrection() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::~DlgImageCorrection");
- ui->GraphicsView->setScene(NULL);
- if (cadre!=NULL) {
- scene->removeItem(cadre);
- delete cadre;
- cadre=NULL;
- }
- if (scene!=NULL) {
- delete scene;
- scene=NULL;
- }
-
- delete ui; // Deleting this make deletion of scene and all included object
-
- delete CachedImage;
- if (UndoSlide) {
- delete UndoSlide;
- UndoSlide=NULL;
- }
- if (UndoShot) {
- delete UndoShot;
- UndoShot=NULL;
- }
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_BrightnessReset() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_BrightnessReset");
- s_BrightnessSliderMoved(0);
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_ContrastReset() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_ContrastReset");
- s_ContrastSliderMoved(0);
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_GammaReset() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_GammaReset");
- s_GammaValueED(1);
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_RedReset() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_RedReset");
- s_RedSliderMoved(0);
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_GreenReset() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_GreenReset");
- s_GreenSliderMoved(0);
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_BlueReset() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_BlueReset");
- s_BlueSliderMoved(0);
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_BlurSharpenReset() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_BlurSharpenReset");
- s_BlurSigmaSliderMoved(0);
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_RadiusReset() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_RadiusReset");
- s_BlurRadiusSliderMoved(5);
-}
-
-
-//====================================================================================================================
-
-void DlgImageCorrection::Help() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::Help");
- GlobalMainWindow->OpenHelp(HELPFILE_DlgImageCorrection);
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::SetSavedWindowGeometry() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::SetSavedWindowGeometry");
- GlobalMainWindow->ApplicationConfig->DlgImageCorrectionWSP->ApplyToWindow(this);
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::resizeEvent(QResizeEvent *) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::resizeEvent");
- if (scene!=NULL) {
- if (cadre!=NULL) {
- scene->removeItem(cadre);
- delete cadre;
- cadre=NULL;
- }
- //Select the most lower between ui->GraphicsView.width and ui->GraphicsView.height as scene rectangle
- if (ui->GraphicsView->width()<ui->GraphicsView->height()) {
- xmax=ui->GraphicsView->width();
- ymax=xmax;
- } else {
- ymax=ui->GraphicsView->height();
- xmax=ymax;
- }
- scene->setSceneRect(QRectF(0,0,xmax,ymax));
- ui->GraphicsView->fitInView(QRectF(0,0,xmax,ymax),Qt::KeepAspectRatio);
- RefreshBackgroundImage();
- }
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::showEvent(QShowEvent *ev) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::showEvent");
- QDialog::showEvent(ev);
- QTimer::singleShot(0,this,SLOT(SetSavedWindowGeometry()));
-
- if (cadre!=NULL) {
- scene->removeItem(cadre);
- delete cadre;
- cadre=NULL;
- }
- if (scene!=NULL) {
- delete scene;
- scene=NULL;
- }
-
- //Select the most lower between ui->GraphicsView.width and ui->GraphicsView.height as scene rectangle
- if (ui->GraphicsView->width()<ui->GraphicsView->height()) {
- xmax=ui->GraphicsView->width();
- ymax=xmax;
- } else {
- ymax=ui->GraphicsView->height();
- xmax=ymax;
- }
- // Create the scene
- scene = new QGraphicsScene();
- scene->setSceneRect(QRectF(0,0,xmax,ymax));
-
- // Setup scene to control
- ui->GraphicsView->setScene(scene);
- ui->GraphicsView->setInteractive(true);
- ui->GraphicsView->setDragMode(QGraphicsView::ScrollHandDrag);
- ui->GraphicsView->fitInView(QRectF(0,0,xmax,ymax),Qt::KeepAspectRatio);
- RefreshControls();
- }
-
-//====================================================================================================================
-
-void DlgImageCorrection::reject() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::reject");
- // Save Window size and position
- GlobalMainWindow->ApplicationConfig->DlgImageCorrectionWSP->SaveWindowState(this);
-
- // Restore objects
- QDomElement root=UndoSlide->documentElement();
- if (root.tagName()=="UNDO-DLG") CurrentBrush->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL,NULL);
-
- root=UndoShot->documentElement();
- if (root.tagName()=="UNDO-DLG") {
- cFilterTransformObject *Filter=CurrentBrush->Image?&CurrentBrush->Image->BrushFileTransform:&CurrentBrush->Video->BrushFileTransform;
- Filter->LoadFromXML(root,"UNDO-DLG-OBJECT");
- }
- if (UndoReloadImage) {
- if (CurrentBrush->Image) CurrentBrush->Image->GetInformationFromFile(UndoBrushFileName,NULL,NULL);
- else if (CurrentBrush->Video) CurrentBrush->Video->GetInformationFromFile(UndoBrushFileName,NULL,NULL);
- }
-
- done(1);
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::accept() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::accept");
- // Save Window size and position
- GlobalMainWindow->ApplicationConfig->DlgImageCorrectionWSP->SaveWindowState(this);
-
- // Check if cached filtered file exist
- QString CachedFile=CurrentBrush->Image?CurrentBrush->Image->FileName:CurrentBrush->Video->FileName;
- CachedFile=CachedFile.replace("."+QFileInfo(CachedFile).suffix(),"_ffd.jpg");
- QString NewFilter=CurrentBrush->Image?CurrentBrush->Image->BrushFileTransform.FilterToString():CurrentBrush->Video->BrushFileTransform.FilterToString();
- if ((NewFilter!="")&&(CurrentBrush->Image)&&((InitialFilteredString!=NewFilter)||((GlobalMainWindow->ApplicationConfig->AllowCachedTransfoImages)&&(!QFileInfo(CachedFile).exists())))) {
- if (QFileInfo(CachedFile).exists()) QFile::remove(CachedFile);
- if (GlobalMainWindow->ApplicationConfig->AllowCachedTransfoImages) {
- QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
- QSplashScreen screen(this,QPixmap(":/img/splash.png"));
- screen.showMessage(QApplication::translate("DlgImageCorrection","Creating cached filtered file ..."),Qt::AlignHCenter|Qt::AlignBottom);
- screen.show();
- QApplication::processEvents();
- cLuLoImageCacheObject *ImageObject=GlobalMainWindow->ApplicationConfig->ImagesCache.FindObject(CurrentBrush->Image->FileName,CurrentBrush->Image->ModifDateTime,CurrentBrush->Image->ImageOrientation,NULL,true,true);
- QImage *UnfilteredImage=new QImage(ImageObject->ValidateCacheRenderImage()->copy());
- if (UnfilteredImage->format()!=QImage::Format_ARGB32_Premultiplied) {
- QImage *NewUnfiltered=new QImage(UnfilteredImage->convertToFormat(QImage::Format_ARGB32_Premultiplied));
- delete UnfilteredImage;
- UnfilteredImage=NewUnfiltered;
- }
- CurrentBrush->Image->BrushFileTransform.ApplyFilter(UnfilteredImage);
- UnfilteredImage->save(CachedFile,"jpg",100);
- delete UnfilteredImage;
- screen.hide();
- QApplication::restoreOverrideCursor();
- }
- }
- // Close the box
- done(0);
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_XValueEDChanged(double Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_XValueEDChanged");
- if (FLAGSTOPED) return;
- CurrentBrush->X=Value/100;
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_YValueEDChanged(double Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_YValueEDChanged");
- if (FLAGSTOPED) return;
- CurrentBrush->Y=Value/100;
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_WValueEDChanged(double Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_WValueEDChanged");
- if (FLAGSTOPED) return;
- if (CurrentBrush->LockGeometry) {
- CurrentBrush->ZoomFactor=Value/100;
- } else {
- double newH=CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio*ymax;
- CurrentBrush->ZoomFactor=Value/100;
- double newW=CurrentBrush->ZoomFactor*xmax;
- CurrentBrush->AspectRatio=newH/newW;
- }
- // Resize and repos all item in the scene
- for (int i=0;i<scene->items().count();i++) if (scene->items()[i]->data(0).toString()=="CustomGraphicsRectItem") {
- cCustomGraphicsRectItem *RectItem=(cCustomGraphicsRectItem *)scene->items()[i];
- RectItem->AspectRatio=CurrentBrush->AspectRatio;
- RectItem->setPos(CurrentBrush->X*xmax,CurrentBrush->Y*ymax);
- QRectF Rect=RectItem->mapRectFromScene(QRectF(CurrentBrush->X*xmax,
- CurrentBrush->Y*ymax,
- xmax*CurrentBrush->ZoomFactor,
- xmax*CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio));
- RectItem->setRect(Rect);
- RectItem->RecalcEmbededResizeRectItem();
- }
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_HValueEDChanged(double Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_HValueEDChanged");
- if (FLAGSTOPED) return;
- double newH=(Value/100)*ymax;
- if (CurrentBrush->LockGeometry) {
- double newW=newH/CurrentBrush->AspectRatio;
- CurrentBrush->ZoomFactor=newW/xmax;
- } else {
- double newW=CurrentBrush->ZoomFactor*xmax;
- CurrentBrush->AspectRatio=newH/newW;
- }
- // Resize and repos all item in the scene
- for (int i=0;i<scene->items().count();i++) if (scene->items()[i]->data(0).toString()=="CustomGraphicsRectItem") {
- cCustomGraphicsRectItem *RectItem=(cCustomGraphicsRectItem *)scene->items()[i];
- RectItem->AspectRatio=CurrentBrush->AspectRatio;
- RectItem->setPos(CurrentBrush->X*xmax,CurrentBrush->Y*ymax);
- QRectF Rect=RectItem->mapRectFromScene(QRectF(CurrentBrush->X*xmax,
- CurrentBrush->Y*ymax,
- xmax*CurrentBrush->ZoomFactor,
- xmax*CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio));
- RectItem->setRect(Rect);
- RectItem->RecalcEmbededResizeRectItem();
- }
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_RotationEDChanged(double Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_RotationEDChanged");
- if (FLAGSTOPED) return;
- if (Value<-180) Value=360-Value;
- if (Value>180) Value=-360-Value;
- CurrentBrush->ImageRotation=Value;
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_RotateLeft() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_RotateLeft");
- double Value=(int((CurrentBrush->ImageRotation-90)/90)*90);
- if (Value<=-180) Value=360-Value;
- ui->RotateED->setValue(Value);
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_RotateRight() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_RotateRight");
- double Value=(int((CurrentBrush->ImageRotation+90)/90)*90);
- if (Value>180) Value=-360+Value;
- ui->RotateED->setValue(Value);
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_AdjustW() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_AdjustW");
- double W=MagneticRuler.MagnetX2-MagneticRuler.MagnetX1;
- double H=W*CurrentBrush->AspectRatio;
- CurrentBrush->X=((xmax-W)/2)/xmax;
- CurrentBrush->Y=((ymax-H)/2)/ymax;
- CurrentBrush->ZoomFactor=W/xmax;
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_AdjustH() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_AdjustH");
- double H=MagneticRuler.MagnetY2-MagneticRuler.MagnetY1;
- double W=H/CurrentBrush->AspectRatio;
- CurrentBrush->X=((xmax-W)/2)/xmax;
- CurrentBrush->Y=((ymax-H)/2)/ymax;
- CurrentBrush->ZoomFactor=W/xmax;
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_AdjustWH() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_AdjustWH");
- // Special case for custom geometry -> use all the image then change aspect ratio to image aspect ratio
- if (!CurrentBrush->LockGeometry) {
- double W=MagneticRuler.MagnetX2-MagneticRuler.MagnetX1;
- double H=MagneticRuler.MagnetY2-MagneticRuler.MagnetY1;
- CurrentBrush->AspectRatio=H/W;
- CurrentBrush->X=((xmax-W)/2)/xmax;
- CurrentBrush->Y=((ymax-H)/2)/ymax;
- CurrentBrush->ZoomFactor=W/xmax;
- for (int i=0;i<scene->items().count();i++) if (scene->items()[i]->data(0).toString()=="CustomGraphicsRectItem") {
- cCustomGraphicsRectItem *RectItem=(cCustomGraphicsRectItem *)scene->items()[i];
- RectItem->AspectRatio=CurrentBrush->AspectRatio;
- }
- RefreshControls();
- } else {
- double W=MagneticRuler.MagnetX2-MagneticRuler.MagnetX1;
- double H=W*CurrentBrush->AspectRatio;
- if (H<MagneticRuler.MagnetY2-MagneticRuler.MagnetY1) s_AdjustH(); else s_AdjustW();
- }
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::RefreshControls() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::RefreshControls");
- if ((!scene)||(FLAGSTOPED)) return;
- FLAGSTOPED=true;
-
- if (((CurrentBrush->Image==NULL)&&(CurrentBrush->Video==NULL))||
- ((CurrentBrush->Image!=NULL)&&(CurrentBrush->Image->ObjectGeometry==IMAGE_GEOMETRY_UNKNOWN))||
- ((CurrentBrush->Video!=NULL)&&(CurrentBrush->Video->ObjectGeometry==IMAGE_GEOMETRY_UNKNOWN))) {
- ui->FramingStyleED->setText(QApplication::translate("DlgSlideProperties","No style for nonstandard geometry image"));
- ui->FramingStyleBT->setEnabled(false);
- } else {
- ui->FramingStyleED->setText(GlobalMainWindow->ApplicationConfig->StyleImageFramingCollection.GetStyleName(CurrentBrush->GetFramingStyle()));
- ui->FramingStyleBT->setEnabled(true);
- }
-
- ui->XValue->setValue(CurrentBrush->X*100);
- ui->YValue->setValue(CurrentBrush->Y*100);
- ui->WValue->setValue(CurrentBrush->ZoomFactor*100);
- ui->HValue->setValue(CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio*100);
-
- if (!CurrentBrush->LockGeometry) ui->LockGeometryCB->setCurrentIndex(0);
- else if (CurrentBrush->AspectRatio==ProjectGeometry) ui->LockGeometryCB->setCurrentIndex(2);
- else if (CurrentBrush->AspectRatio==ImageGeometry) ui->LockGeometryCB->setCurrentIndex(3);
- else ui->LockGeometryCB->setCurrentIndex(1);
-
- ui->RotateED->setValue(CurrentBrush->ImageRotation);
-
- // FilterCorrection
- ui->BrightnessSlider->setValue(CurrentBrush->Brightness); ui->BrightnessValue->setValue(CurrentBrush->Brightness);
- ui->ContrastSlider->setValue(CurrentBrush->Contrast); ui->ContrastValue->setValue(CurrentBrush->Contrast);
- ui->GammaSlider->setValue(CurrentBrush->Gamma*100); ui->GammaValue->setValue(CurrentBrush->Gamma);
- ui->RedSlider->setValue(CurrentBrush->Red); ui->RedValue->setValue(CurrentBrush->Red);
- ui->GreenSlider->setValue(CurrentBrush->Green); ui->GreenValue->setValue(CurrentBrush->Green);
- ui->BlueSlider->setValue(CurrentBrush->Blue); ui->BlueValue->setValue(CurrentBrush->Blue);
-
- ui->BlurSigmaSlider->setValue((CurrentBrush->Video?&CurrentBrush->Video->BrushFileTransform:&CurrentBrush->Image->BrushFileTransform)->BlurSigma*10);
- ui->BlurSigmaSB->setValue((CurrentBrush->Video?&CurrentBrush->Video->BrushFileTransform:&CurrentBrush->Image->BrushFileTransform)->BlurSigma);
- ui->BlurRadiusSlider->setValue(int((CurrentBrush->Video?&CurrentBrush->Video->BrushFileTransform:&CurrentBrush->Image->BrushFileTransform)->BlurRadius));
- ui->BlurRadiusED->setValue(int((CurrentBrush->Video?&CurrentBrush->Video->BrushFileTransform:&CurrentBrush->Image->BrushFileTransform)->BlurRadius));
-
- // Resize and repos all item in the scene
- for (int i=0;i<scene->items().count();i++) if (scene->items()[i]->data(0).toString()=="CustomGraphicsRectItem") {
- cCustomGraphicsRectItem *RectItem=(cCustomGraphicsRectItem *)scene->items()[i];
-
- // Set aspect ratio from Brush to Rect if geometrie is not custom or from rect to brush if geometrie is custom
- if (CurrentBrush->LockGeometry)
- RectItem->AspectRatio=CurrentBrush->AspectRatio;
- else CurrentBrush->AspectRatio=RectItem->AspectRatio;
-
- RectItem->setPos(CurrentBrush->X*xmax,CurrentBrush->Y*ymax);
- QRectF Rect=RectItem->mapRectFromScene(QRectF(CurrentBrush->X*xmax,
- CurrentBrush->Y*ymax,
- xmax*CurrentBrush->ZoomFactor,
- xmax*CurrentBrush->ZoomFactor*CurrentBrush->AspectRatio));
- RectItem->setRect(Rect);
- RectItem->RecalcEmbededResizeRectItem();
- }
-
- ui->FileNameED->setText(CurrentBrush->Image?CurrentBrush->Image->FileName:CurrentBrush->Video?CurrentBrush->Video->FileName:"");
- connect(ui->FileNameBT,SIGNAL(clicked()),this,SLOT(ChangeBrushDiskFile()));
-
- // Refresh image
- RefreshBackgroundImage();
- FLAGSTOPED=false;
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::ChangeBrushDiskFile() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::ChangeBrushDiskFile");
- QString ActualFilePath=QFileInfo(CurrentBrush->Image?CurrentBrush->Image->FileName:CurrentBrush->Video->FileName).absolutePath();
-
- QString NewFile=QFileDialog::getOpenFileName(this,
- QApplication::translate("DlgSlideProperties","Select a file"),
- ActualFilePath,//GlobalMainWindow->ApplicationConfig->RememberLastDirectories?GlobalMainWindow->ApplicationConfig->LastMediaPath:"",
- GlobalMainWindow->ApplicationConfig->GetFilterForMediaFile(CurrentBrush->Image?cBaseApplicationConfig::IMAGEFILE:cBaseApplicationConfig::VIDEOFILE));
- QApplication::processEvents();
- if (NewFile=="") return;
- if (GlobalMainWindow->ApplicationConfig->RememberLastDirectories) GlobalMainWindow->ApplicationConfig->LastMediaPath=QFileInfo(NewFile).absolutePath(); // Keep folder for next use
-
- QString NewBrushFileName=QFileInfo(NewFile).absoluteFilePath();
- QString OldBrushFileName=CurrentBrush->Image?CurrentBrush->Image->FileName:CurrentBrush->Video->FileName;
- QImage *NewCachedImage =NULL;
-
- if (CurrentBrush->Image) {
- CurrentBrush->Image->GetInformationFromFile(NewBrushFileName,NULL,NULL);
- if (CurrentBrush->Image->IsValide) NewCachedImage=CurrentBrush->Image->ImageAt(true,NULL);
- } else if (CurrentBrush->Video) {
- QString ErrorMessage=QApplication::translate("MainWindow","Format not supported","Error message");
- if (CurrentBrush->Video->GetInformationFromFile(NewBrushFileName,NULL,NULL)&&(CurrentBrush->Video->OpenCodecAndFile())) {
- // Check if file have at least one sound track compatible
- bool IsValide=true;
- if ((CurrentBrush->Video->AudioStreamNumber!=-1)&&(!(
- (CurrentBrush->Video->ffmpegAudioFile->streams[CurrentBrush->Video->AudioStreamNumber]->codec->sample_fmt!=AV_SAMPLE_FMT_S16)||
- (CurrentBrush->Video->ffmpegAudioFile->streams[CurrentBrush->Video->AudioStreamNumber]->codec->sample_fmt!=AV_SAMPLE_FMT_U8)
- ))) {
- ErrorMessage=ErrorMessage+"\n"+QApplication::translate("MainWindow","This application support only audio track with unsigned 8 bits or signed 16 bits sample format","Error message");
- IsValide=false;
- }
- if ((CurrentBrush->Video->AudioStreamNumber!=-1)&&(CurrentBrush->Video->ffmpegAudioFile->streams[CurrentBrush->Video->AudioStreamNumber]->codec->channels>2)) {
- ErrorMessage=ErrorMessage+"\n"+QApplication::translate("MainWindow","This application support only mono or stereo audio track","Error message");
- IsValide=false;
- }
- if (IsValide) NewCachedImage=CurrentBrush->Video->ImageAt(true,VideoPosition,QTime(0,0,0,0).msecsTo(CurrentBrush->Video->StartPos),NULL,1,false,NULL,false);
- }
- if (!NewCachedImage) {
- CustomMessageBox(NULL,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),NewFile+"\n\n"+ErrorMessage,QMessageBox::Close);
- CurrentBrush->Video->GetInformationFromFile(OldBrushFileName,NULL,NULL);
- CurrentBrush->Video->OpenCodecAndFile();
- }
- }
- if (NewCachedImage) {
- delete CachedImage;
- CachedImage=NewCachedImage;
- UndoReloadImage=true;
- }
- if (CachedImage->format()!=QImage::Format_ARGB32_Premultiplied) {
- QImage *NewCachedImage=new QImage(CachedImage->convertToFormat(QImage::Format_ARGB32_Premultiplied));
- delete CachedImage;
- CachedImage=NewCachedImage;
- }
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_ChTransformationCB(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_ChTransformationCB");
- if (FLAGSTOPSPIN) return;
- FLAGSTOPSPIN=true;
- cFilterTransformObject *Filter=CurrentBrush->Image?&CurrentBrush->Image->BrushFileTransform:&CurrentBrush->Video->BrushFileTransform;
- Filter->OnOffFilter=ui->TransformationCB->GetCurrentFilter();
- RefreshBackgroundImage();
- FLAGSTOPSPIN=false;
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_BlurSigmaSliderMoved(int Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_BlurSigmaSliderMoved");
- if (FLAGSTOPSPIN) return;
- FLAGSTOPSPIN=true;
- cFilterTransformObject *Filter=CurrentBrush->Image?&CurrentBrush->Image->BrushFileTransform:&CurrentBrush->Video->BrushFileTransform;
- Filter->BlurSigma=double(Value)/10;
- ui->BlurSigmaSlider->setValue(Filter->BlurSigma*10);
- ui->BlurSigmaSB->setValue(Filter->BlurSigma);
- RefreshBackgroundImage();
- FLAGSTOPSPIN=false;
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_BlurSigmaValueED(double Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_BlurSigmaValueED");
- if (FLAGSTOPSPIN) return;
- FLAGSTOPSPIN=true;
- cFilterTransformObject *Filter=CurrentBrush->Image?&CurrentBrush->Image->BrushFileTransform:&CurrentBrush->Video->BrushFileTransform;
- Filter->BlurSigma=Value;
- ui->BlurSigmaSlider->setValue(Filter->BlurSigma*10);
- ui->BlurSigmaSB->setValue(Filter->BlurSigma);
- RefreshBackgroundImage();
- FLAGSTOPSPIN=false;
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_BlurRadiusSliderMoved(int Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_BlurRadiusSliderMoved");
- if (FLAGSTOPSPIN) return;
- FLAGSTOPSPIN=true;
- cFilterTransformObject *Filter=CurrentBrush->Image?&CurrentBrush->Image->BrushFileTransform:&CurrentBrush->Video->BrushFileTransform;
- Filter->BlurRadius=double(Value);
- ui->BlurRadiusSlider->setValue(int(Filter->BlurRadius));
- ui->BlurRadiusED->setValue(int(Filter->BlurRadius));
- RefreshBackgroundImage();
- FLAGSTOPSPIN=false;
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_MagneticEdgeBt() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_MagneticEdgeBt");
- if (MagneticRuler.MagneticRuler==true) MagneticRuler.MagneticRuler=false; else MagneticRuler.MagneticRuler=true;
- ui->MagneticEdgeBt->setIcon(QIcon(MagneticRuler.MagneticRuler?QString(ICON_RULER_ON):QString(ICON_RULER_OFF)));
- GlobalMainWindow->Diaporama->ApplicationConfig->FramingRuler=MagneticRuler.MagneticRuler;
- RefreshBackgroundImage();
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::RefreshBackgroundImage() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::RefreshBackgroundImage");
- if (!scene) return;
-
- QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
-
- // Remove old image if exist
- int i=0;
- while ((i<scene->items().count())&&(scene->items().at(i)->data(0).toString()!="image")) i++;
- if ((i<scene->items().count())&&(scene->items().at(i)->data(0).toString()=="image")) {
- QGraphicsPixmapItem *im=(QGraphicsPixmapItem *)scene->items().at(i);
- scene->removeItem(im);
- delete im;
- }
- scene->clearSelection();
-
- // Create selection box
- if (cadre==NULL) cadre=new cCustomGraphicsRectItem(scene,300,&CurrentBrush->X,&CurrentBrush->Y,&CurrentBrush->ZoomFactor,
- NULL,NULL,xmax,ymax,CurrentBrush->LockGeometry,
- CurrentBrush->AspectRatio,&MagneticRuler,this,TYPE_DlgImageCorrection,0,true);
-
- // Prepare CacheImage
- QImage *NewImage=new QImage(xmax,ymax,QImage::Format_ARGB32_Premultiplied);
- QImage *SourceImage=NULL;
- QPainter P;
-
- double SizeRatio=double(xmax)/double(ui->GraphicsView->width());
- int WithPen =int(SizeRatio); if (double(WithPen)<SizeRatio) WithPen++;
-
- // Rotate image if needed and create a SourceImage
- if (CurrentBrush->ImageRotation!=0) {
- QTransform matrix;
- matrix.rotate(CurrentBrush->ImageRotation,Qt::ZAxis);
- SourceImage=new QImage(CachedImage->transformed(matrix,GlobalMainWindow->ApplicationConfig->Smoothing?Qt::SmoothTransformation:Qt::FastTransformation));
-
- // If no rotation then SourceImage=CachedImage
- } else SourceImage=CachedImage;
-
- // Calc coordinates of the part in the source image
- double RealImageW=double(SourceImage->width()); // Get real image widht
- double RealImageH=double(SourceImage->height()); // Get real image height
- double Hyp =sqrt(CachedImage->width()*CachedImage->width()+CachedImage->height()*CachedImage->height()); // Calc hypothenuse of the image to define full canvas
- double DstX=((Hyp-RealImageW)/2)*(xmax/Hyp);
- double DstY=((Hyp-RealImageH)/2)*(ymax/Hyp);
- double DstW=RealImageW*(xmax/Hyp);
- double DstH=RealImageH*(ymax/Hyp);
-
- QImage ToUseImage=SourceImage->scaled(DstW,DstH);
- if (ToUseImage.format()!=QImage::Format_ARGB32_Premultiplied) ToUseImage=ToUseImage.convertToFormat(QImage::Format_ARGB32_Premultiplied);
-
- // On/Off filters and blur/sharpen
- if (CurrentBrush->Image) CurrentBrush->Image->BrushFileTransform.ApplyFilter(&ToUseImage);
- else if (CurrentBrush->Video) CurrentBrush->Video->BrushFileTransform.ApplyFilter(&ToUseImage);
-
- // Brightness, contrast, gamma and colors adjustments
- CurrentBrush->ApplyFilter(&ToUseImage);
-
- P.begin(NewImage);
- P.fillRect(QRectF(0,0,xmax,ymax),Transparent);
- P.drawImage(QRectF(DstX,DstY,DstW,DstH),ToUseImage,QRectF(0,0,DstW,DstH));
- if (SourceImage!=CachedImage) delete SourceImage;
-
- //********************************************************
-
- // Calc magnetic ruller guides positions
- MagneticRuler.MagnetX1=DstX;
- MagneticRuler.MagnetX2=DstX+DstW;
- MagneticRuler.MagnetY1=DstY;
- MagneticRuler.MagnetY2=DstY+DstH;
-
- // Draw selection rectangle for cadre
- double X=CurrentBrush->X*xmax;
- double Y=CurrentBrush->Y*ymax;
- double W=CurrentBrush->ZoomFactor*xmax;
- double H=W*CurrentBrush->AspectRatio;
-
- QImage *FormImage=new QImage(xmax,ymax,QImage::Format_ARGB32_Premultiplied);
- QPainter PB;
- PB.begin(FormImage);
- PB.setRenderHints(QPainter::Antialiasing|QPainter::TextAntialiasing|QPainter::SmoothPixmapTransform|QPainter::HighQualityAntialiasing|QPainter::NonCosmeticDefaultPen);
- PB.setPen(Qt::NoPen);
- PB.fillRect(QRect(0,0,xmax,ymax),QBrush(0x555555));
- PB.setCompositionMode(QPainter::CompositionMode_Source);
- PB.setBrush(Qt::transparent);
- DrawShape(PB,BackgroundForm,X,Y,W,H,X+(W/2),Y+(H/2));
- PB.setCompositionMode(QPainter::CompositionMode_SourceOver);
- PB.end();
- P.setOpacity(0.75);
- P.drawImage(0,0,*FormImage);
- P.setOpacity(1);
- delete FormImage;
-
- // draw guides
- P.setCompositionMode(QPainter::RasterOp_SourceXorDestination);
- QColor col=QColor(255,0,0);
- QPen pen=QPen(col);
- pen.setWidth(WithPen);
- pen.setJoinStyle(Qt::RoundJoin);
- pen.setStyle(Qt::DotLine);
- P.setPen(pen);
- P.setBrush(Qt::NoBrush);
- P.drawRect(X,Y,W,H);
- if (MagneticRuler.MagneticRuler==true) {
- QColor col=QColor(0,255,0);
- QPen pen=QPen(col);
- pen.setWidth(WithPen);
- pen.setJoinStyle(Qt::RoundJoin);
- pen.setStyle(Qt::DotLine);
- P.setPen(pen);
- if (MagneticRuler.MagnetX1!=-1) P.drawLine(MagneticRuler.MagnetX1,0,MagneticRuler.MagnetX1,ymax);
- if (MagneticRuler.MagnetX2!=-1) P.drawLine(MagneticRuler.MagnetX2,0,MagneticRuler.MagnetX2,ymax);
- if (MagneticRuler.MagnetY1!=-1) P.drawLine(0,MagneticRuler.MagnetY1,xmax,MagneticRuler.MagnetY1);
- if (MagneticRuler.MagnetY2!=-1) P.drawLine(0,MagneticRuler.MagnetY2,xmax,MagneticRuler.MagnetY2);
- }
- P.setCompositionMode(QPainter::CompositionMode_SourceOver);
- P.end();
-
- // Add image to the background of the scene
- QGraphicsPixmapItem *im=scene->addPixmap(QPixmap::fromImage(*NewImage));
- im->setData(0,QVariant(QString("image")));
- im->setZValue(200);
- im->setPos(0,0);
- delete NewImage;
-
- QApplication::restoreOverrideCursor();
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_BrightnessSliderMoved(int Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_BrightnessSliderMoved");
- if (FLAGSTOPSPIN) return;
- FLAGSTOPSPIN=true;
- CurrentBrush->Brightness=Value;
- ui->BrightnessSlider->setValue(CurrentBrush->Brightness);
- ui->BrightnessValue->setValue(CurrentBrush->Brightness);
- RefreshBackgroundImage();
- FLAGSTOPSPIN=false;
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_ContrastSliderMoved(int Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_ContrastSliderMoved");
- if (FLAGSTOPSPIN) return;
- FLAGSTOPSPIN=true;
- CurrentBrush->Contrast=Value;
- ui->ContrastSlider->setValue(CurrentBrush->Contrast);
- ui->ContrastValue->setValue(CurrentBrush->Contrast);
- RefreshBackgroundImage();
- FLAGSTOPSPIN=false;
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_GammaSliderMoved(int Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_GammaSliderMoved");
- if (FLAGSTOPSPIN) return;
- FLAGSTOPSPIN=true;
- CurrentBrush->Gamma=double(Value)/100;
- ui->GammaSlider->setValue(CurrentBrush->Gamma*100);
- ui->GammaValue->setValue(CurrentBrush->Gamma);
- RefreshBackgroundImage();
- FLAGSTOPSPIN=false;
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_GammaValueED(double Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_GammaValueED");
- if (FLAGSTOPSPIN) return;
- FLAGSTOPSPIN=true;
- CurrentBrush->Gamma=Value;
- ui->GammaSlider->setValue(CurrentBrush->Gamma*100);
- ui->GammaValue->setValue(CurrentBrush->Gamma);
- RefreshBackgroundImage();
- FLAGSTOPSPIN=false;
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_RedSliderMoved(int Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_RedSliderMoved");
- CurrentBrush->Red=Value;
- ui->RedSlider->setValue(CurrentBrush->Red);
- ui->RedValue->setValue(CurrentBrush->Red);
- RefreshBackgroundImage();
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_GreenSliderMoved(int Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_GreenSliderMoved");
- CurrentBrush->Green=Value;
- ui->GreenSlider->setValue(CurrentBrush->Green);
- ui->GreenValue->setValue(CurrentBrush->Green);
- RefreshBackgroundImage();
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_BlueSliderMoved(int Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_BlueSliderMoved");
- CurrentBrush->Blue=Value;
- ui->BlueSlider->setValue(CurrentBrush->Blue);
- ui->BlueValue->setValue(CurrentBrush->Blue);
- RefreshBackgroundImage();
-}
-
-//====================================================================================================================
-
-void DlgImageCorrection::s_LockGeometryCB(int Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_LockGeometryCB");
- switch (Value) {
- case 0 :
- CurrentBrush->LockGeometry=false;
- break;
- case 1 :
- CurrentBrush->LockGeometry=true;
- break;
- case 2 :
- CurrentBrush->LockGeometry=true;
- CurrentBrush->AspectRatio =ProjectGeometry;
- break;
- case 3 :
- CurrentBrush->LockGeometry=true;
- CurrentBrush->AspectRatio =ImageGeometry;
- break;
- }
- if (cadre!=NULL) {
- cadre->KeepAspectRatio=CurrentBrush->LockGeometry;
- RefreshControls();
- }
-}
-
-//====================================================================================================================
-// Handler for style sheet management
-//====================================================================================================================
-
-void DlgImageCorrection::s_FramingStyleBT() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgImageCorrection::s_FramingStyleBT");
- if (!CurrentTextItem) return;
- QString ActualStyle=CurrentTextItem->GetFramingStyle();
- QString Item=GlobalMainWindow->ApplicationConfig->StyleImageFramingCollection.PopupCollectionMenu(this,ActualStyle);
- ui->FramingStyleBT->setDown(false);
- if (Item!="") {
- QStringList List;
- GlobalMainWindow->ApplicationConfig->StyleImageFramingCollection.StringToStringList(Item,List);
- for (int i=0;i<List.count();i++) {
- if (List[i].startsWith("X:")) CurrentBrush->X =List[i].mid(QString("X:").length()).toDouble();
- else if (List[i].startsWith("Y:")) CurrentBrush->Y =List[i].mid(QString("Y:").length()).toDouble();
- else if (List[i].startsWith("ZoomFactor:")) CurrentBrush->ZoomFactor =List[i].mid(QString("ZoomFactor:").length()).toDouble();
- else if (List[i].startsWith("LockGeometry:")) CurrentBrush->LockGeometry =List[i].mid(QString("LockGeometry:").length()).toInt()==1;
- else if (List[i].startsWith("AspectRatio:")) CurrentBrush->AspectRatio =List[i].mid(QString("AspectRatio:").length()).toDouble();
- }
- }
- RefreshControls();
-}
diff --git a/src/ffDiaporama/DlgImageCorrection.h b/src/ffDiaporama/DlgImageCorrection.h
deleted file mode 100755
index 93dd71e..0000000
--- a/src/ffDiaporama/DlgImageCorrection.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef DLGIMAGECORRECTION_H
-#define DLGIMAGECORRECTION_H
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-#include "../sharedfiles/_QCustomDialog.h"
-
-// Specific inclusions
-#include "_Diaporama.h"
-#include "cCustomGraphicsRectItem.h"
-
-namespace Ui {
- class DlgImageCorrection;
-}
-
-class DlgImageCorrection : public QDialog {
-Q_OBJECT
-public:
- cCompositionObject *CurrentTextItem; // Block to modify
- cBrushDefinition *CurrentBrush;
- QDomDocument *UndoSlide,*UndoShot; // Save objects before modification for cancel button
- bool UndoReloadImage; // True if image change and undo must reload it
- QString UndoBrushFileName; // Name of previous file is undo
- bool IsFirstInitDone; // true when first show window was done
- bool FLAGSTOPED; // Flag to stop spin box during settings
- bool FLAGSTOPSPIN; // Flag to stop spin box during blur change
- sMagneticRuler MagneticRuler;
- QGraphicsScene *scene;
- cCustomGraphicsRectItem *cadre;
- int BackgroundForm;
- double xmax,ymax;
- QImage *CachedImage; // Link to the image to work
- int VideoPosition;
- double ImageGeometry;
- double ProjectGeometry;
- QString InitialFilteredString;
-
- explicit DlgImageCorrection(cCompositionObject *TheCurrentTextItem,int BackgroundForm,cBrushDefinition *CurrentBrush,int TheVideoPosition,QWidget *parent = 0);
- ~DlgImageCorrection();
-
- void RefreshBackgroundImage();
- void RefreshControls();
-
-protected:
- virtual void resizeEvent(QResizeEvent *);
- virtual void showEvent(QShowEvent *);
- virtual void reject();
- virtual void accept();
-
-private slots:
- void Help();
- void SetSavedWindowGeometry();
-
- void s_RotationEDChanged(double Value);
- void s_XValueEDChanged(double Value);
- void s_YValueEDChanged(double Value);
- void s_WValueEDChanged(double Value);
- void s_HValueEDChanged(double Value);
- void s_RotateLeft();
- void s_RotateRight();
- void s_AdjustW();
- void s_AdjustH();
- void s_AdjustWH();
- void s_MagneticEdgeBt();
- void s_BrightnessSliderMoved(int Value);
- void s_ContrastSliderMoved(int Value);
- void s_GammaSliderMoved(int Value);
- void s_GammaValueED(double Value);
- void s_RedSliderMoved(int Value);
- void s_GreenSliderMoved(int Value);
- void s_BlueSliderMoved(int Value);
- void s_BrightnessReset();
- void s_ContrastReset();
- void s_GammaReset();
- void s_RedReset();
- void s_GreenReset();
- void s_BlueReset();
- void s_ChTransformationCB(int);
- void s_BlurSigmaSliderMoved(int Value);
- void s_BlurSigmaValueED(double Value);
- void s_BlurRadiusSliderMoved(int Value);
- void s_BlurSharpenReset();
- void s_RadiusReset();
- void ChangeBrushDiskFile();
- void s_LockGeometryCB(int value);
- void s_FramingStyleBT();
-
-private:
- Ui::DlgImageCorrection *ui;
-};
-
-#endif // DLGIMAGECORRECTION_H
diff --git a/src/ffDiaporama/DlgImageCorrection.ui b/src/ffDiaporama/DlgImageCorrection.ui
deleted file mode 100755
index 217b3ec..0000000
--- a/src/ffDiaporama/DlgImageCorrection.ui
+++ /dev/null
@@ -1,1928 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>DlgImageCorrection</class>
- <widget class="QDialog" name="DlgImageCorrection">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>600</width>
- <height>450</height>
- </rect>
- </property>
- <property name="minimumSize">
- <size>
- <width>600</width>
- <height>450</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- </font>
- </property>
- <property name="windowTitle">
- <string>Image framing and correction</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>4</number>
- </property>
- <property name="margin">
- <number>8</number>
- </property>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_8">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QGraphicsView" name="GraphicsView">
- <property name="renderHints">
- <set>QPainter::SmoothPixmapTransform</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QScrollArea" name="scrollArea">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>270</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>270</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="verticalScrollBarPolicy">
- <enum>Qt::ScrollBarAlwaysOn</enum>
- </property>
- <property name="horizontalScrollBarPolicy">
- <enum>Qt::ScrollBarAlwaysOff</enum>
- </property>
- <property name="widgetResizable">
- <bool>true</bool>
- </property>
- <widget class="QWidget" name="scrollAreaWidgetContents">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>253</width>
- <height>613</height>
- </rect>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <property name="margin">
- <number>4</number>
- </property>
- <property name="spacing">
- <number>4</number>
- </property>
- <item row="0" column="0" colspan="2">
- <widget class="QLabel" name="label_14">
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>Properties for this shot</string>
- </property>
- </widget>
- </item>
- <item row="6" column="0">
- <widget class="QLabel" name="label_15">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/PosSize_X.png</pixmap>
- </property>
- </widget>
- </item>
- <item row="6" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_3">
- <property name="spacing">
- <number>2</number>
- </property>
- <item>
- <widget class="QDoubleSpinBox" name="XValue">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>80</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>80</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Define the horizontal position from the left (X).</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="suffix">
- <string notr="true">%</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QLabel" name="label_12">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/PosSize_Y.png</pixmap>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QDoubleSpinBox" name="YValue">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>80</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>80</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Define the vertical position from the top of the image ( Y ).</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="suffix">
- <string notr="true">%</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="7" column="0">
- <widget class="QLabel" name="label_7">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string>Define the width</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/PosSize_Width.png</pixmap>
- </property>
- </widget>
- </item>
- <item row="7" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_5">
- <property name="spacing">
- <number>2</number>
- </property>
- <item>
- <widget class="QDoubleSpinBox" name="WValue">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>80</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>80</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="suffix">
- <string notr="true">%</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_3">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QLabel" name="label_10">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string>Define the height</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/PosSize_Height.png</pixmap>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QDoubleSpinBox" name="HValue">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>80</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>80</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="suffix">
- <string notr="true">%</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="29" column="0">
- <spacer name="verticalSpacer_2">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="12" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_4">
- <property name="spacing">
- <number>2</number>
- </property>
- <item>
- <widget class="QSlider" name="BrightnessSlider">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Adjust luminosity</string>
- </property>
- <property name="minimum">
- <number>-250</number>
- </property>
- <property name="maximum">
- <number>250</number>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="tickPosition">
- <enum>QSlider::TicksBelow</enum>
- </property>
- <property name="tickInterval">
- <number>50</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="BrightnessValue">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Adjust luminosity</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="minimum">
- <number>-254</number>
- </property>
- <property name="maximum">
- <number>254</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="BrightnessResetBT">
- <property name="toolTip">
- <string>Reset to zero</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="12" column="0">
- <widget class="QLabel" name="label">
- <property name="text">
- <string/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/Brightness.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="13" column="0">
- <widget class="QLabel" name="label_6">
- <property name="text">
- <string/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/Contrast.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="13" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_7">
- <property name="spacing">
- <number>2</number>
- </property>
- <item>
- <widget class="QSlider" name="ContrastSlider">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Adjust contrast</string>
- </property>
- <property name="minimum">
- <number>-250</number>
- </property>
- <property name="maximum">
- <number>250</number>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="tickPosition">
- <enum>QSlider::TicksBelow</enum>
- </property>
- <property name="tickInterval">
- <number>50</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="ContrastValue">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Adjust contrast</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="minimum">
- <number>-250</number>
- </property>
- <property name="maximum">
- <number>250</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="ContrastResetBT">
- <property name="toolTip">
- <string>Reset to zero</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="14" column="0">
- <widget class="QLabel" name="label_8">
- <property name="text">
- <string/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/Gamma.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="14" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_9">
- <property name="spacing">
- <number>2</number>
- </property>
- <item>
- <widget class="QSlider" name="GammaSlider">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Adjust gamma</string>
- </property>
- <property name="maximum">
- <number>590</number>
- </property>
- <property name="singleStep">
- <number>10</number>
- </property>
- <property name="pageStep">
- <number>100</number>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="tickPosition">
- <enum>QSlider::TicksBelow</enum>
- </property>
- <property name="tickInterval">
- <number>50</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QDoubleSpinBox" name="GammaValue">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Adjust gamma</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="decimals">
- <number>1</number>
- </property>
- <property name="maximum">
- <double>5.900000000000000</double>
- </property>
- <property name="singleStep">
- <double>0.100000000000000</double>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="GammaResetBT">
- <property name="toolTip">
- <string>Reset to zero</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="16" column="0">
- <widget class="QLabel" name="label_2">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>20</height>
- </size>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/Red.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="16" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_10">
- <property name="spacing">
- <number>2</number>
- </property>
- <item>
- <widget class="QSlider" name="RedSlider">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Adjust red chanel</string>
- </property>
- <property name="minimum">
- <number>-250</number>
- </property>
- <property name="maximum">
- <number>250</number>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="tickPosition">
- <enum>QSlider::TicksBelow</enum>
- </property>
- <property name="tickInterval">
- <number>50</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="RedValue">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Adjust red chanel</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="minimum">
- <number>-250</number>
- </property>
- <property name="maximum">
- <number>250</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="RedResetBT">
- <property name="toolTip">
- <string>Reset to zero</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="17" column="0">
- <widget class="QLabel" name="label_3">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>20</height>
- </size>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/Green.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="17" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_11">
- <property name="spacing">
- <number>2</number>
- </property>
- <item>
- <widget class="QSlider" name="GreenSlider">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Adjust green chanel</string>
- </property>
- <property name="minimum">
- <number>-250</number>
- </property>
- <property name="maximum">
- <number>250</number>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="tickPosition">
- <enum>QSlider::TicksBelow</enum>
- </property>
- <property name="tickInterval">
- <number>50</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="GreenValue">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Adjust green chanel</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="minimum">
- <number>-250</number>
- </property>
- <property name="maximum">
- <number>250</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="GreenResetBT">
- <property name="toolTip">
- <string>Reset to zero</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="18" column="0">
- <widget class="QLabel" name="label_4">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>20</height>
- </size>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/Blue.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="18" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_12">
- <property name="spacing">
- <number>2</number>
- </property>
- <item>
- <widget class="QSlider" name="BlueSlider">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Adjust blue chanel</string>
- </property>
- <property name="minimum">
- <number>-250</number>
- </property>
- <property name="maximum">
- <number>250</number>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="tickPosition">
- <enum>QSlider::TicksBelow</enum>
- </property>
- <property name="tickInterval">
- <number>50</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="BlueValue">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Adjust blue chanel</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="minimum">
- <number>-250</number>
- </property>
- <property name="maximum">
- <number>250</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="BlueResetBT">
- <property name="toolTip">
- <string>Reset to zero</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="22" column="1">
- <widget class="cOnOffFilterComboBox" name="TransformationCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>175</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Apply a filter to the photo or the images of the video</string>
- </property>
- </widget>
- </item>
- <item row="22" column="0">
- <widget class="QLabel" name="TransformationLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/Transform.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="23" column="0">
- <widget class="QLabel" name="BlurLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/Blur.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="23" column="1">
- <layout class="QHBoxLayout" name="BlurSharpenFrame">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="sizeConstraint">
- <enum>QLayout::SetMinimumSize</enum>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QSlider" name="BlurSigmaSlider">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Define a blur/sharpen filter to the photo</string>
- </property>
- <property name="minimum">
- <number>-100</number>
- </property>
- <property name="maximum">
- <number>100</number>
- </property>
- <property name="singleStep">
- <number>5</number>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="tickPosition">
- <enum>QSlider::TicksBelow</enum>
- </property>
- <property name="tickInterval">
- <number>10</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QDoubleSpinBox" name="BlurSigmaSB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>55</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>55</width>
- <height>24</height>
- </size>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="decimals">
- <number>1</number>
- </property>
- <property name="minimum">
- <double>-10.000000000000000</double>
- </property>
- <property name="maximum">
- <double>10.000000000000000</double>
- </property>
- <property name="singleStep">
- <double>0.500000000000000</double>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="BlurSharpenResetBT">
- <property name="toolTip">
- <string>Reset to zero</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="24" column="1">
- <layout class="QHBoxLayout" name="RadiusFrame">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="sizeConstraint">
- <enum>QLayout::SetMinimumSize</enum>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="BlurRadiusLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/Radius.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSlider" name="BlurRadiusSlider">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Define a blur/sharpen filter to the photo</string>
- </property>
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="maximum">
- <number>10</number>
- </property>
- <property name="singleStep">
- <number>1</number>
- </property>
- <property name="pageStep">
- <number>1</number>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="tickPosition">
- <enum>QSlider::TicksBelow</enum>
- </property>
- <property name="tickInterval">
- <number>1</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="BlurRadiusED">
- <property name="minimumSize">
- <size>
- <width>55</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>55</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Define a blur/sharpen filter to the photo</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="maximum">
- <number>10</number>
- </property>
- <property name="singleStep">
- <number>1</number>
- </property>
- <property name="value">
- <number>5</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="RadiusResetBT">
- <property name="toolTip">
- <string>Reset to 5</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="19" column="0" colspan="2">
- <widget class="QLabel" name="label_13">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>Properties for all shots</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- </widget>
- </item>
- <item row="1" column="0" colspan="2">
- <widget class="Line" name="line_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item row="20" column="0" colspan="2">
- <widget class="Line" name="line_3">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item row="21" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_13">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="sizeConstraint">
- <enum>QLayout::SetMinimumSize</enum>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLineEdit" name="FileNameED">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Name of image/video file</string>
- </property>
- <property name="readOnly">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="FileNameBT">
- <property name="minimumSize">
- <size>
- <width>22</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>22</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select an other file</string>
- </property>
- <property name="text">
- <string notr="true">...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/FolderOpen.png</normaloff>:/img/FolderOpen.png</iconset>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="21" column="0">
- <widget class="QLabel" name="FileLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/object_image.png</pixmap>
- </property>
- <property name="scaledContents">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="2" column="0" colspan="2">
- <widget class="QLabel" name="label_11">
- <property name="font">
- <font>
- <italic>true</italic>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Framing :</string>
- </property>
- </widget>
- </item>
- <item row="10" column="0" colspan="2">
- <widget class="QLabel" name="label_16">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>32</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>32</height>
- </size>
- </property>
- <property name="font">
- <font>
- <italic>true</italic>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Image correction :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QToolButton" name="FramingStyleBT">
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/db_menu.png</normaloff>:/img/db_menu.png</iconset>
- </property>
- <property name="arrowType">
- <enum>Qt::NoArrow</enum>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QLabel" name="FramingStyleED">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>210</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>210</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string notr="true">StyleName</string>
- </property>
- </widget>
- </item>
- <item row="11" column="0">
- <widget class="QLabel" name="label_5">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/RotateZ.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="11" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>0</number>
- </property>
- <item>
- <widget class="QToolButton" name="RotateLeftBT">
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Turn the image to the left (on the multiple fellow man of 90°).</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/rotationg.png</normaloff>:/img/rotationg.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QDoubleSpinBox" name="RotateED">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>80</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>80</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Define the rotation angle for z axis.</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="suffix">
- <string notr="true">°</string>
- </property>
- <property name="decimals">
- <number>1</number>
- </property>
- <property name="singleStep">
- <double>0.500000000000000</double>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="RotateRightBT">
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Turn the image to the right (on the multiple fellow man of 90°).</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/rotationd.png</normaloff>:/img/rotationd.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_4">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item row="4" column="1">
- <widget class="QComboBox" name="LockGeometryCB">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="label_17">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/Geometry.png</pixmap>
- </property>
- </widget>
- </item>
- <item row="5" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_6">
- <property name="spacing">
- <number>0</number>
- </property>
- <item>
- <widget class="QToolButton" name="AdjustWBT">
- <property name="toolTip">
- <string>Define automatically the framing to the width of the image.</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/AdjustW.png</normaloff>:/img/AdjustW.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>16</width>
- <height>16</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="AdjustHBT">
- <property name="toolTip">
- <string>Define automatically the framing to the height of the image.</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/AdjustH.png</normaloff>:/img/AdjustH.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>16</width>
- <height>16</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="AdjustWHBT">
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Define automatically the framing to the diagonal of the image.</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/AdjustWH.png</normaloff>:/img/AdjustWH.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_5">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>0</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="Line" name="line">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <property name="spacing">
- <number>2</number>
- </property>
- <item>
- <widget class="QToolButton" name="MagneticEdgeBt">
- <property name="toolTip">
- <string>Show/Hide rullers</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/ruler_ok.png</normaloff>:/img/ruler_ok.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>16</width>
- <height>16</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="OKBT">
- <property name="toolTip">
- <string>Accept modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Ok</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="CloseBT">
- <property name="toolTip">
- <string>Cancel modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Cancel</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="HelpBT">
- <property name="toolTip">
- <string>Open help page describing this dialog box</string>
- </property>
- <property name="text">
- <string>&Help</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
- </property>
- <property name="shortcut">
- <string>F1</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>cOnOffFilterComboBox</class>
- <extends>QComboBox</extends>
- <header>cCustomComboBox.h</header>
- </customwidget>
- </customwidgets>
- <tabstops>
- <tabstop>MagneticEdgeBt</tabstop>
- <tabstop>OKBT</tabstop>
- <tabstop>CloseBT</tabstop>
- <tabstop>HelpBT</tabstop>
- </tabstops>
- <resources/>
- <connections/>
-</ui>
diff --git a/src/ffDiaporama/DlgInfoFile/DlgInfoFile.cpp b/src/ffDiaporama/DlgInfoFile/DlgInfoFile.cpp
new file mode 100755
index 0000000..a47c35a
--- /dev/null
+++ b/src/ffDiaporama/DlgInfoFile/DlgInfoFile.cpp
@@ -0,0 +1,171 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "DlgInfoFile.h"
+#include "ui_DlgInfoFile.h"
+
+//====================================================================================================================
+
+DlgInfoFile::DlgInfoFile(cBaseMediaFile *MediaFile,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent)
+ :QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent),ui(new Ui::DlgInfoFile) {
+
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgInfoFile::DlgInfoFile");
+
+ this->MediaFile=MediaFile;
+
+ ui->setupUi(this);
+ //CancelBt=ui->CancelBt;
+ OkBt =ui->OkBt;
+ HelpBt =ui->HelpBT;
+}
+
+//====================================================================================================================
+
+DlgInfoFile::~DlgInfoFile() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgInfoFile::~DlgInfoFile");
+
+ delete ui;
+}
+
+//====================================================================================================================
+// Initialise dialog
+
+void DlgInfoFile::DoInitDialog() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgInfoFile::DoInitDialog");
+
+ DoInitTableWidget(ui->tableWidget,"Propertie;Value");
+
+ if (MediaFile) {
+ // General file information
+ ui->FileIconLabel->setPixmap(QPixmap().fromImage(MediaFile->Icon100));
+ ui->FileNameValue->setText(MediaFile->ShortName);
+ ui->FileTypeValue->setText(MediaFile->GetFileTypeStr()+QString("(%1)").arg(MediaFile->GetInformationValue("Long Format")));
+ ui->FileSizeValue->setText(MediaFile->GetFileSizeStr());
+ ui->FileCreatedValue->setText(MediaFile->GetFileDateTimeStr(true));
+ ui->FileModifyValue->setText(MediaFile->GetFileDateTimeStr(false));
+
+ //**************** Video
+ if ((MediaFile->ObjectType==OBJECTTYPE_VIDEOFILE)&&(((cVideoFile *)MediaFile)->VideoTrackNbr>0)) {
+ ui->VideoTable->setUpdatesEnabled(false);
+ ui->VideoTitleLabel->setVisible(true);
+ ui->VideoTable->setVisible(true);
+ DoInitTableWidget(ui->VideoTable,"#;Image Size;Image Format;Image Geometry;Codec;Frame Rate;Bitrate");
+ for (int i=0;i<((cVideoFile *)MediaFile)->VideoTrackNbr;i++) {
+ QString TrackNum=QString("%1").arg(i); while (TrackNum.length()<3) TrackNum="0"+TrackNum;
+ TrackNum="Video_"+TrackNum+":";
+ QColor Background=((i & 0x01)==0x01)?Qt::white:QColor(0xE0,0xE0,0xE0);
+ ui->VideoTable->insertRow(ui->VideoTable->rowCount());
+ ui->VideoTable->setItem(ui->VideoTable->rowCount()-1,0,CreateItem(QString("%1").arg(i+1),Qt::AlignLeft|Qt::AlignVCenter,Background));
+ ui->VideoTable->setItem(ui->VideoTable->rowCount()-1,1,CreateItem(MediaFile->GetImageSizeStr(cBaseMediaFile::SIZEONLY),Qt::AlignCenter|Qt::AlignVCenter,Background));
+ ui->VideoTable->setItem(ui->VideoTable->rowCount()-1,2,CreateItem(MediaFile->GetImageSizeStr(cBaseMediaFile::FMTONLY),Qt::AlignCenter|Qt::AlignVCenter,Background));
+ ui->VideoTable->setItem(ui->VideoTable->rowCount()-1,3,CreateItem(MediaFile->GetImageSizeStr(cBaseMediaFile::GEOONLY),Qt::AlignCenter|Qt::AlignVCenter,Background));
+ ui->VideoTable->setItem(ui->VideoTable->rowCount()-1,4,CreateItem(MediaFile->GetInformationValue(TrackNum+"Codec"),Qt::AlignCenter|Qt::AlignVCenter,Background));
+ ui->VideoTable->setItem(ui->VideoTable->rowCount()-1,5,CreateItem(MediaFile->GetInformationValue(TrackNum+"Frame rate"),Qt::AlignCenter|Qt::AlignVCenter,Background));
+ ui->VideoTable->setItem(ui->VideoTable->rowCount()-1,6,CreateItem(MediaFile->GetInformationValue(TrackNum+"Bitrate"),Qt::AlignCenter|Qt::AlignVCenter,Background));
+ }
+ DoResizeColumnsTableWidget(ui->VideoTable);
+ ui->VideoTable->setUpdatesEnabled(true);
+ } else {
+ ui->VideoTitleLabel->setVisible(false);
+ ui->VideoTable->setVisible(false);
+ }
+
+ //**************** Chapters
+ if (((MediaFile->ObjectType==OBJECTTYPE_VIDEOFILE)&&(((cVideoFile *)MediaFile)->NbrChapters>0))||((MediaFile->ObjectType==OBJECTTYPE_FFDFILE)&&(((cffDProjectFile *)MediaFile)->NbrChapters>0))) {
+ ui->ChapterTable->setUpdatesEnabled(false);
+ ui->ChapterTitleLabel->setVisible(true);
+ ui->ChapterTable->setVisible(true);
+ int NbrChapter=(MediaFile->ObjectType==OBJECTTYPE_VIDEOFILE)?((cVideoFile *)MediaFile)->NbrChapters:((MediaFile->ObjectType==OBJECTTYPE_FFDFILE)?((cffDProjectFile *)MediaFile)->NbrChapters:0);
+ if (MediaFile->ObjectType==OBJECTTYPE_FFDFILE) DoInitTableWidget(ui->ChapterTable,"#;Slide;Title;Start;End;Duration");
+ else DoInitTableWidget(ui->ChapterTable,"#;Title;Start;End;Duration");
+ for (int i=0;i<NbrChapter;i++) {
+ int Col=0;
+ QString ChapterNum=QString("%1").arg(i); while (ChapterNum.length()<3) ChapterNum="0"+ChapterNum;
+ ChapterNum="Chapter_"+ChapterNum+":";
+ QColor Background=((i & 0x01)==0x01)?Qt::white:QColor(0xE0,0xE0,0xE0);
+ ui->ChapterTable->insertRow(ui->ChapterTable->rowCount());
+ ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(QString("%1").arg(i+1),Qt::AlignLeft|Qt::AlignVCenter,Background));
+ if (MediaFile->ObjectType==OBJECTTYPE_FFDFILE) ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(MediaFile->GetInformationValue(ChapterNum+"InSlide"),Qt::AlignLeft|Qt::AlignVCenter,Background));
+ ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(MediaFile->GetInformationValue(ChapterNum+"title"),Qt::AlignLeft|Qt::AlignVCenter,Background));
+ ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(MediaFile->GetInformationValue(ChapterNum+"Start"),Qt::AlignLeft|Qt::AlignVCenter,Background));
+ ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(MediaFile->GetInformationValue(ChapterNum+"End"),Qt::AlignLeft|Qt::AlignVCenter,Background));
+ ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(MediaFile->GetInformationValue(ChapterNum+"Duration"),Qt::AlignLeft|Qt::AlignVCenter,Background));
+ }
+ DoResizeColumnsTableWidget(ui->ChapterTable);
+ ui->ChapterTable->setUpdatesEnabled(true);
+ } else {
+ ui->ChapterTitleLabel->setVisible(false);
+ ui->ChapterTable->setVisible(false);
+ }
+
+ //**************** Audio
+ if (((MediaFile->ObjectType==OBJECTTYPE_VIDEOFILE)||(MediaFile->ObjectType==OBJECTTYPE_MUSICFILE))&&(((cVideoFile *)MediaFile)->AudioTrackNbr>0)) {
+ ui->AudioTable->setUpdatesEnabled(false);
+ ui->AudioTitleLabel->setVisible(true);
+ ui->AudioTable->setVisible(true);
+ if (MediaFile->ObjectType==OBJECTTYPE_VIDEOFILE) DoInitTableWidget(ui->AudioTable,"#;Language;Codec;Channels;Bitrate;Frequency;Title");
+ else DoInitTableWidget(ui->AudioTable,"#;Language;Codec;Channels;Bitrate;Frequency");
+ for (int i=0;i<((cVideoFile *)MediaFile)->AudioTrackNbr;i++) {
+ QString TrackNum=QString("%1").arg(i); while (TrackNum.length()<3) TrackNum="0"+TrackNum;
+ TrackNum="Audio_"+TrackNum+":";
+ QColor Background=((i & 0x01)==0x01)?Qt::white:QColor(0xE0,0xE0,0xE0);
+ ui->AudioTable->insertRow(ui->AudioTable->rowCount());
+ ui->AudioTable->setItem(ui->AudioTable->rowCount()-1,0,CreateItem(QString("%1").arg(i+1),Qt::AlignLeft|Qt::AlignVCenter,Background));
+ ui->AudioTable->setItem(ui->AudioTable->rowCount()-1,1,CreateItem(MediaFile->GetInformationValue(TrackNum+"language"),Qt::AlignCenter|Qt::AlignVCenter,Background));
+ ui->AudioTable->setItem(ui->AudioTable->rowCount()-1,2,CreateItem(MediaFile->GetInformationValue(TrackNum+"Codec"),Qt::AlignCenter|Qt::AlignVCenter,Background));
+ ui->AudioTable->setItem(ui->AudioTable->rowCount()-1,3,CreateItem(MediaFile->GetInformationValue(TrackNum+"Channels"),Qt::AlignCenter|Qt::AlignVCenter,Background));
+ ui->AudioTable->setItem(ui->AudioTable->rowCount()-1,4,CreateItem(MediaFile->GetInformationValue(TrackNum+"Bitrate"),Qt::AlignCenter|Qt::AlignVCenter,Background));
+ ui->AudioTable->setItem(ui->AudioTable->rowCount()-1,5,CreateItem(MediaFile->GetInformationValue(TrackNum+"Frequency"),Qt::AlignCenter|Qt::AlignVCenter,Background));
+ if (MediaFile->ObjectType==OBJECTTYPE_VIDEOFILE)
+ ui->AudioTable->setItem(ui->AudioTable->rowCount()-1,6,CreateItem(MediaFile->GetInformationValue(TrackNum+"title"),Qt::AlignLeft|Qt::AlignVCenter,Background));
+ }
+ DoResizeColumnsTableWidget(ui->AudioTable);
+ ui->AudioTable->setUpdatesEnabled(true);
+ } else {
+ ui->AudioTitleLabel->setVisible(false);
+ ui->AudioTable->setVisible(false);
+ }
+
+ //**************** Additionnals
+ ui->tableWidget->setUpdatesEnabled(false);
+ ui->tableWidget->verticalHeader()->setResizeMode(QHeaderView::QHeaderView::ResizeToContents);
+ for (int i=0;i<MediaFile->InformationList.count();i++)
+ if ((!((QString)MediaFile->InformationList[i]).startsWith("Chapter_"))
+ &&(!((QString)MediaFile->InformationList[i]).startsWith("Video_"))
+ &&(!((QString)MediaFile->InformationList[i]).startsWith("Audio_"))
+ &&(!((QString)MediaFile->InformationList[i]).startsWith("Short Format"))
+ &&(!((QString)MediaFile->InformationList[i]).startsWith("Long Format"))
+ ) {
+ ui->tableWidget->insertRow(ui->tableWidget->rowCount());
+ QStringList Value=MediaFile->InformationList[i].split("##");
+ ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,0,new QTableWidgetItem(Value[0]));
+ ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,1,new QTableWidgetItem(Value[1]));
+ }
+ DoResizeColumnsTableWidget(ui->tableWidget);
+ ui->tableWidget->setUpdatesEnabled(true);
+ } else {
+ ui->VideoTitleLabel->setVisible(false);
+ ui->VideoTable->setVisible(false);
+ ui->ChapterTitleLabel->setVisible(false);
+ ui->ChapterTable->setVisible(false);
+ ui->AudioTitleLabel->setVisible(false);
+ ui->AudioTable->setVisible(false);
+ }
+}
diff --git a/src/ffDiaporama/DlgInfoFile/DlgInfoFile.h b/src/ffDiaporama/DlgInfoFile/DlgInfoFile.h
new file mode 100755
index 0000000..5d8c7e2
--- /dev/null
+++ b/src/ffDiaporama/DlgInfoFile/DlgInfoFile.h
@@ -0,0 +1,60 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef DLGINFOFILE_H
+#define DLGINFOFILE_H
+
+// Basic inclusions (common to all files)
+#include "../../engine/_GlobalDefines.h"
+#include "../../engine/_QCustomDialog.h"
+
+// Include some additional standard class
+#include <QString>
+
+// Include some common various class
+#include "../../engine/cBaseApplicationConfig.h"
+#include "../../engine/cSaveWindowPosition.h"
+#include "../../engine/cBaseMediaFile.h"
+
+namespace Ui {
+ class DlgInfoFile;
+}
+
+class DlgInfoFile : public QCustomDialog {
+Q_OBJECT
+public:
+ cBaseMediaFile *MediaFile;
+
+ explicit DlgInfoFile(cBaseMediaFile *MediaFile,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent = 0);
+ ~DlgInfoFile();
+
+ // function to be overloaded
+ virtual void DoInitDialog(); // Initialise dialog
+ virtual void DoAccept() {/*Nothing to do*/} // Call when user click on Ok button
+ virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button
+ virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo
+ virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button
+
+private:
+
+ Ui::DlgInfoFile *ui;
+};
+
+#endif // DLGINFOFILE_H
diff --git a/src/ffDiaporama/DlgInfoFile/DlgInfoFile.ui b/src/ffDiaporama/DlgInfoFile/DlgInfoFile.ui
new file mode 100755
index 0000000..68e327e
--- /dev/null
+++ b/src/ffDiaporama/DlgInfoFile/DlgInfoFile.ui
@@ -0,0 +1,464 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DlgInfoFile</class>
+ <widget class="QDialog" name="DlgInfoFile">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>454</width>
+ <height>537</height>
+ </rect>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>300</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="windowTitle">
+ <string>File information</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <property name="margin">
+ <number>8</number>
+ </property>
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QScrollArea" name="scrollArea">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents_2">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>422</width>
+ <height>538</height>
+ </rect>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_4">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <item row="0" column="0" colspan="2">
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="FileIconLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>96</width>
+ <height>96</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>File name :</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>File type :</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLabel" name="FileNameValue">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true"><filename></string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLabel" name="FileTypeValue">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true"><filetype></string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>File size :</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QLabel" name="FileSizeValue">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true"><filesize></string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>File created :</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QLabel" name="FileCreatedValue">
+ <property name="text">
+ <string notr="true"><filedate></string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>File modify :</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="2">
+ <widget class="QLabel" name="FileModifyValue">
+ <property name="text">
+ <string notr="true"><filedate></string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ <item row="2" column="1">
+ <widget class="QTableWidget" name="VideoTable">
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" colspan="2">
+ <widget class="QLabel" name="VideoTitleLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Video track information</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QTableWidget" name="AudioTable">
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_8">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>20</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="2">
+ <widget class="QLabel" name="AudioTitleLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Audio track information</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0" colspan="2">
+ <widget class="QLabel" name="ChapterTitleLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Chapter information</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="1">
+ <widget class="QTableWidget" name="ChapterTable">
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="1">
+ <widget class="QTableWidget" name="tableWidget">
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="horizontalScrollMode">
+ <enum>QAbstractItemView::ScrollPerPixel</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="0" colspan="2">
+ <widget class="QLabel" name="label_5">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Additional information</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="OkBt">
+ <property name="toolTip">
+ <string>Accept modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Ok</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="HelpBT">
+ <property name="toolTip">
+ <string>Open help page describing this dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Help</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>F1</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <tabstops>
+ <tabstop>scrollArea</tabstop>
+ <tabstop>VideoTable</tabstop>
+ <tabstop>AudioTable</tabstop>
+ <tabstop>ChapterTable</tabstop>
+ <tabstop>tableWidget</tabstop>
+ <tabstop>OkBt</tabstop>
+ <tabstop>HelpBT</tabstop>
+ </tabstops>
+ <resources>
+ <include location="../../../RSCffDiaporama.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/ffDiaporama/DlgManageStyle.cpp b/src/ffDiaporama/DlgManageStyle.cpp
deleted file mode 100755
index 34bd2c0..0000000
--- a/src/ffDiaporama/DlgManageStyle.cpp
+++ /dev/null
@@ -1,232 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-// Specific inclusions
-#include "DlgManageStyle.h"
-#include "ui_DlgManageStyle.h"
-
-#include "mainwindow.h"
-
-#include <QMessageBox>
-#include <QInputDialog>
-#include <QLineEdit>
-
-#define ICON_FRAMING_CUSTOM ":/img/action_cancel.png"
-#define ICON_FRAMING_FULL ":/img/AdjustWH.png"
-#define ICON_FRAMING_WIDTH ":/img/AdjustW.png"
-#define ICON_FRAMING_HEIGHT ":/img/AdjustH.png"
-#define ICON_GLOBALCONF ":/img/db.png"
-#define ICON_USERCONF ":/img/db_update.png"
-
-//============================================================================================================================
-// Manage style dialog
-//============================================================================================================================
-
-DlgManageStyle::DlgManageStyle(cStyleCollection *TheCollection,QWidget *parent):QDialog(parent),ui(new Ui::DlgManageStyle) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::DlgManageStyle");
- ui->setupUi(this);
- Collection =TheCollection;
- UndoCollection=Collection->PrepUndo();
-
- setWindowFlags((windowFlags()|Qt::CustomizeWindowHint|Qt::WindowSystemMenuHint|Qt::WindowMaximizeButtonHint)&(~Qt::WindowMinimizeButtonHint));
-
- PopulateList("");
-
- // Define handler
- connect(ui->CancelBt,SIGNAL(clicked()),this,SLOT(reject()));
- connect(ui->OkBt,SIGNAL(clicked()),this,SLOT(accept()));
- connect(ui->HelpBT,SIGNAL(clicked()),this,SLOT(Help()));
-
- connect(ui->ListStyle,SIGNAL(currentRowChanged(int)),this,SLOT(s_currentRowChanged(int)));
-
- connect(ui->DBRenameBT,SIGNAL(clicked()),this,SLOT(s_DBRename()));
- connect(ui->DBRemoveBT,SIGNAL(clicked()),this,SLOT(s_DBRemove()));
- connect(ui->DBResetBT,SIGNAL(clicked()),this,SLOT(s_DBReset()));
-
- ui->ListStyle->setCurrentRow(0);
-}
-
-//====================================================================================================================
-
-DlgManageStyle::~DlgManageStyle() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::~DlgManageStyle");
- delete ui;
- delete UndoCollection;
-}
-
-//====================================================================================================================
-
-void DlgManageStyle::Help() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::Help");
- GlobalMainWindow->OpenHelp(HELPFILE_DlgManageStyle);
-}
-
-//====================================================================================================================
-
-void DlgManageStyle::SetSavedWindowGeometry() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::SetSavedWindowGeometry");
- GlobalMainWindow->ApplicationConfig->DlgManageStyleWSP->ApplyToWindow(this);
-}
-
-//====================================================================================================================
-
-void DlgManageStyle::showEvent(QShowEvent *ev) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::showEvent");
- QDialog::showEvent(ev);
- QTimer::singleShot(0,this,SLOT(SetSavedWindowGeometry()));
-}
-
-//====================================================================================================================
-
-void DlgManageStyle::reject() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::reject");
- // Save Window size and position
- GlobalMainWindow->ApplicationConfig->DlgManageStyleWSP->SaveWindowState(this);
- UndoCollection->SourceCollection->ApplyUndo(UndoCollection);
- done(1);
-}
-
-//====================================================================================================================
-
-void DlgManageStyle::accept() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::accept");
- // Save Window size and position
- GlobalMainWindow->ApplicationConfig->DlgManageStyleWSP->SaveWindowState(this);
- done(0);
-}
-
-//====================================================================================================================
-
-void DlgManageStyle::PopulateList(QString StyleToActivate) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::PopulateList");
- ui->ListStyle->setUpdatesEnabled(false);
- ui->ListStyle->clear();
- QString Item;
- for (int i=0;i<Collection->Collection.count();i++)
- if (((!Collection->GeometryFilter)&&(Collection->Collection[i].GetFilteredPart()==""))||
- (((Collection->GeometryFilter)&&(Collection->Collection[i].GetFilteredPart()==Collection->ActiveFilter)))
- ) {
- Item=Collection->Collection[i].StyleName.mid(Collection->Collection[i].GetFilteredPart().length());
- ui->ListStyle->addItem(new QListWidgetItem(Collection->Collection[i].FromUserConf?QIcon(ICON_USERCONF):QIcon(ICON_GLOBALCONF),Item));
- if (StyleToActivate==(Collection->GeometryFilter?Collection->ActiveFilter:"")+Item) ui->ListStyle->setCurrentRow(ui->ListStyle->count()-1);
- }
- ui->ListStyle->setUpdatesEnabled(true);
-}
-
-//====================================================================================================================
-
-void DlgManageStyle::s_currentRowChanged(int NewRow) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::s_currentRowChanged");
- QListWidgetItem *Item=ui->ListStyle->item(NewRow);
- if (Item) {
- QString StyleName=(Collection->GeometryFilter?Collection->ActiveFilter:"")+Item->text();
- int i=0;
- while ((i<Collection->Collection.count())&&(Collection->Collection[i].StyleName!=StyleName)) i++;
- if ((i<Collection->Collection.count())&&(Collection->Collection[i].StyleName==StyleName)) {
- ui->DBRenameBT->setEnabled(true);
- ui->DBRemoveBT->setEnabled(Collection->Collection[i].FromGlobalConf==false);
- ui->DBResetBT->setEnabled(Collection->Collection[i].FromGlobalConf==true);
- } else {
- ui->DBRenameBT->setEnabled(false);
- ui->DBRemoveBT->setEnabled(false);
- ui->DBResetBT->setEnabled(false);
- }
- } else {
- ui->DBRenameBT->setEnabled(false);
- ui->DBRemoveBT->setEnabled(false);
- ui->DBResetBT->setEnabled(false);
- }
-}
-
-//====================================================================================================================
-
-void DlgManageStyle::s_DBRename() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::s_DBRename");
- QListWidgetItem *Item=ui->ListStyle->item(ui->ListStyle->currentRow());
- if (Item) {
- QString StyleName=(Collection->GeometryFilter?Collection->ActiveFilter:"")+Item->text();
- int i=0;
- while ((i<Collection->Collection.count())&&(Collection->Collection[i].StyleName!=StyleName)) i++;
- if ((i<Collection->Collection.count())&&(Collection->Collection[i].StyleName==StyleName)) {
- bool Ok,Continue=true;
- QString Text=Item->text();
- while (Continue) {
- Continue=false;
- Text=QInputDialog::getText(this,QApplication::translate("DlgManageStyle","Rename style"),QApplication::translate("DlgManageStyle","New style name:"),QLineEdit::Normal,Text,&Ok);
- if (Ok && !Text.isEmpty()) {
- // Ensure Style is not use by another style
- int j=0;
- while ((j<Collection->Collection.count())&&((j==i)||(Collection->Collection[j].StyleName!=(Collection->GeometryFilter?Collection->ActiveFilter:"")+Text))) j++;
- if ((j<Collection->Collection.count())&&(Collection->Collection[j].StyleName==(Collection->GeometryFilter?Collection->ActiveFilter:"")+Text)) {
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgManageStyle","Rename style"),
- QApplication::translate("DlgManageStyle","A style with this name already exist.\nPlease select another name!"));
- Continue=true;
- } else {
- // If all is ok then apply new name
- Collection->Collection[i].StyleName=(Collection->GeometryFilter?Collection->ActiveFilter:"")+Text;
- Collection->Collection[i].FromUserConf=true;
- }
- }
- }
- QString StyleName=Collection->Collection[i].StyleName;
- Collection->SortList();
- PopulateList(StyleName);
- }
- }
-}
-
-//====================================================================================================================
-
-void DlgManageStyle::s_DBRemove() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::s_DBRemove");
- QListWidgetItem *Item=ui->ListStyle->item(ui->ListStyle->currentRow());
- if (Item) {
- QString StyleName=(Collection->GeometryFilter?Collection->ActiveFilter:"")+Item->text();
- int i=0;
- while ((i<Collection->Collection.count())&&(Collection->Collection[i].StyleName!=StyleName)) i++;
- if ((i<Collection->Collection.count())&&(Collection->Collection[i].StyleName==StyleName)) {
- if (ui->ListStyle->currentRow()<ui->ListStyle->count()-1) Item=ui->ListStyle->item(ui->ListStyle->currentRow()+1);
- else if (ui->ListStyle->currentRow()>0) Item=ui->ListStyle->item(ui->ListStyle->currentRow()-1);
- else Item=NULL;
- Collection->Collection.removeAt(i);
- PopulateList(Item==NULL?"":(Collection->GeometryFilter?Collection->ActiveFilter:"")+Item->text());
- }
- }
-}
-
-//====================================================================================================================
-
-void DlgManageStyle::s_DBReset() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::s_DBReset");
- QListWidgetItem *Item=ui->ListStyle->item(ui->ListStyle->currentRow());
- if (Item) {
- QString StyleName=(Collection->GeometryFilter?Collection->ActiveFilter:"")+Item->text();
- int i=0;
- while ((i<Collection->Collection.count())&&(Collection->Collection[i].StyleName!=StyleName)) i++;
- if ((i<Collection->Collection.count())&&(Collection->Collection[i].StyleName==StyleName)) {
- Collection->Collection[i].StyleName=Collection->Collection[i].BckStyleName;
- Collection->Collection[i].StyleDef =Collection->Collection[i].BckStyleDef;
- Collection->Collection[i].FromUserConf=false;
- QString StyleName=Collection->Collection[i].StyleName;
- Collection->SortList();
- PopulateList(StyleName);
- }
- }
-}
diff --git a/src/ffDiaporama/DlgManageStyle.h b/src/ffDiaporama/DlgManageStyle.h
deleted file mode 100755
index c3cff69..0000000
--- a/src/ffDiaporama/DlgManageStyle.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef DLGMANAGESTYLE_H
-#define DLGMANAGESTYLE_H
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-#include "../sharedfiles/_QCustomDialog.h"
-
-#include "_StyleDefinitions.h"
-
-//=====================
-// Manage style dialog
-//=====================
-
-namespace Ui {
- class DlgManageStyle;
-}
-
-class DlgManageStyle : public QDialog {
-Q_OBJECT
-public:
- cStyleCollection *Collection;
- cStyleCollection *UndoCollection;
-
- explicit DlgManageStyle(cStyleCollection *Collection,QWidget *parent=0);
- ~DlgManageStyle();
-
- void PopulateList(QString StyleToActivate);
-
-protected:
- virtual void showEvent(QShowEvent *);
- virtual void reject();
- virtual void accept();
-
-private slots:
- void Help();
- void SetSavedWindowGeometry();
-
- void s_currentRowChanged(int);
- void s_DBRename();
- void s_DBRemove();
- void s_DBReset();
-
-private:
- Ui::DlgManageStyle *ui;
-};
-
-#endif // DLGMANAGESTYLE_H
diff --git a/src/ffDiaporama/DlgManageStyle.ui b/src/ffDiaporama/DlgManageStyle.ui
deleted file mode 100755
index f972168..0000000
--- a/src/ffDiaporama/DlgManageStyle.ui
+++ /dev/null
@@ -1,187 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>DlgManageStyle</class>
- <widget class="QDialog" name="DlgManageStyle">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>452</width>
- <height>310</height>
- </rect>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- </font>
- </property>
- <property name="windowTitle">
- <string comment="Dialog title">Manage style</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>4</number>
- </property>
- <property name="margin">
- <number>8</number>
- </property>
- <item>
- <widget class="QListWidget" name="ListStyle">
- <property name="font">
- <font>
- <pointsize>9</pointsize>
- </font>
- </property>
- <property name="editTriggers">
- <set>QAbstractItemView::NoEditTriggers</set>
- </property>
- <property name="showDropIndicator" stdset="0">
- <bool>false</bool>
- </property>
- <property name="dragDropOverwriteMode">
- <bool>false</bool>
- </property>
- <property name="selectionMode">
- <enum>QAbstractItemView::SingleSelection</enum>
- </property>
- <property name="selectionBehavior">
- <enum>QAbstractItemView::SelectRows</enum>
- </property>
- <property name="verticalScrollMode">
- <enum>QAbstractItemView::ScrollPerItem</enum>
- </property>
- <property name="horizontalScrollMode">
- <enum>QAbstractItemView::ScrollPerPixel</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_3">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QPushButton" name="DBRenameBT">
- <property name="toolTip">
- <string>Rename style</string>
- </property>
- <property name="text">
- <string>Rename</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/db_add.png</normaloff>:/img/db_add.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="DBRemoveBT">
- <property name="toolTip">
- <string>Remove style</string>
- </property>
- <property name="text">
- <string>Remove</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/db_remove.png</normaloff>:/img/db_remove.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="DBResetBT">
- <property name="toolTip">
- <string>Cancel the modifications that you made on a standard style</string>
- </property>
- <property name="text">
- <string>Reset to default</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/db_status.png</normaloff>:/img/db_status.png</iconset>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="Line" name="line">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <property name="spacing">
- <number>4</number>
- </property>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="OkBt">
- <property name="toolTip">
- <string>Accept modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Ok</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="CancelBt">
- <property name="toolTip">
- <string>Cancel modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Cancel</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="HelpBT">
- <property name="toolTip">
- <string>Open help page describing this dialog box</string>
- </property>
- <property name="text">
- <string>&Help</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
- </property>
- <property name="shortcut">
- <string>F1</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/src/ffDiaporama/DlgManageStyle/DlgManageStyle.cpp b/src/ffDiaporama/DlgManageStyle/DlgManageStyle.cpp
new file mode 100755
index 0000000..5c7f227
--- /dev/null
+++ b/src/ffDiaporama/DlgManageStyle/DlgManageStyle.cpp
@@ -0,0 +1,207 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+// Specific inclusions
+#include "DlgManageStyle.h"
+#include "ui_DlgManageStyle.h"
+
+#include <QMessageBox>
+#include <QInputDialog>
+#include <QLineEdit>
+
+#define ICON_FRAMING_CUSTOM ":/img/action_cancel.png"
+#define ICON_FRAMING_FULL ":/img/AdjustWH.png"
+#define ICON_FRAMING_WIDTH ":/img/AdjustW.png"
+#define ICON_FRAMING_HEIGHT ":/img/AdjustH.png"
+#define ICON_GLOBALCONF ":/img/db.png"
+#define ICON_USERCONF ":/img/db_update.png"
+
+//============================================================================================================================
+// Manage style dialog
+//============================================================================================================================
+
+DlgManageStyle::DlgManageStyle(cStyleCollection *TheCollection,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent):
+ QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent),ui(new Ui::DlgManageStyle) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::DlgManageStyle");
+ ui->setupUi(this);
+ OkBt =ui->OKBT;
+ CancelBt =ui->CancelBt;
+ HelpBt =ui->HelpBT;
+ Collection =TheCollection;
+}
+
+//====================================================================================================================
+
+DlgManageStyle::~DlgManageStyle() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::~DlgManageStyle");
+ delete ui;
+ delete UndoCollection;
+}
+
+//====================================================================================================================
+
+void DlgManageStyle::DoInitDialog() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::DoInitDialog");
+ PopulateList("");
+
+ // Define handler
+ connect(ui->ListStyle,SIGNAL(currentRowChanged(int)),this,SLOT(s_currentRowChanged(int)));
+ connect(ui->DBRenameBT,SIGNAL(clicked()),this,SLOT(s_DBRename()));
+ connect(ui->DBRemoveBT,SIGNAL(clicked()),this,SLOT(s_DBRemove()));
+ connect(ui->DBResetBT,SIGNAL(clicked()),this,SLOT(s_DBReset()));
+
+ ui->ListStyle->setCurrentRow(0);
+}
+
+//====================================================================================================================
+// Initiale Undo
+
+void DlgManageStyle::PrepareGlobalUndo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::PrepareGlobalUndo");
+ // Save object before modification for cancel button
+ UndoCollection=Collection->PrepUndo();
+}
+
+//====================================================================================================================
+// Apply Undo : call when user click on Cancel button
+
+void DlgManageStyle::DoGlobalUndo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::DoGlobalUndo");
+ UndoCollection->SourceCollection->ApplyUndo(UndoCollection);
+}
+
+//====================================================================================================================
+
+void DlgManageStyle::PopulateList(QString StyleToActivate) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::PopulateList");
+ ui->ListStyle->setUpdatesEnabled(false);
+ ui->ListStyle->clear();
+ QString Item;
+ for (int i=0;i<Collection->Collection.count();i++)
+ if (((!Collection->GeometryFilter)&&(Collection->Collection[i].GetFilteredPart()==""))||
+ (((Collection->GeometryFilter)&&(Collection->Collection[i].GetFilteredPart()==Collection->ActiveFilter)))
+ ) {
+ Item=Collection->Collection[i].StyleName.mid(Collection->Collection[i].GetFilteredPart().length());
+ ui->ListStyle->addItem(new QListWidgetItem(Collection->Collection[i].FromUserConf?QIcon(ICON_USERCONF):QIcon(ICON_GLOBALCONF),Item));
+ if (StyleToActivate==(Collection->GeometryFilter?Collection->ActiveFilter:"")+Item) ui->ListStyle->setCurrentRow(ui->ListStyle->count()-1);
+ }
+ ui->ListStyle->setUpdatesEnabled(true);
+}
+
+//====================================================================================================================
+
+void DlgManageStyle::s_currentRowChanged(int NewRow) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::s_currentRowChanged");
+ QListWidgetItem *Item=ui->ListStyle->item(NewRow);
+ if (Item) {
+ QString StyleName=(Collection->GeometryFilter?Collection->ActiveFilter:"")+Item->text();
+ int i=0;
+ while ((i<Collection->Collection.count())&&(Collection->Collection[i].StyleName!=StyleName)) i++;
+ if ((i<Collection->Collection.count())&&(Collection->Collection[i].StyleName==StyleName)) {
+ ui->DBRenameBT->setEnabled(true);
+ ui->DBRemoveBT->setEnabled(Collection->Collection[i].FromGlobalConf==false);
+ ui->DBResetBT->setEnabled(Collection->Collection[i].FromGlobalConf==true);
+ } else {
+ ui->DBRenameBT->setEnabled(false);
+ ui->DBRemoveBT->setEnabled(false);
+ ui->DBResetBT->setEnabled(false);
+ }
+ } else {
+ ui->DBRenameBT->setEnabled(false);
+ ui->DBRemoveBT->setEnabled(false);
+ ui->DBResetBT->setEnabled(false);
+ }
+}
+
+//====================================================================================================================
+
+void DlgManageStyle::s_DBRename() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::s_DBRename");
+ QListWidgetItem *Item=ui->ListStyle->item(ui->ListStyle->currentRow());
+ if (Item) {
+ QString StyleName=(Collection->GeometryFilter?Collection->ActiveFilter:"")+Item->text();
+ int i=0;
+ while ((i<Collection->Collection.count())&&(Collection->Collection[i].StyleName!=StyleName)) i++;
+ if ((i<Collection->Collection.count())&&(Collection->Collection[i].StyleName==StyleName)) {
+ bool Ok,Continue=true;
+ QString Text=Item->text();
+ while (Continue) {
+ Continue=false;
+ Text=QInputDialog::getText(this,QApplication::translate("DlgManageStyle","Rename style"),QApplication::translate("DlgManageStyle","New style name:"),QLineEdit::Normal,Text,&Ok);
+ if (Ok && !Text.isEmpty()) {
+ // Ensure Style is not use by another style
+ int j=0;
+ while ((j<Collection->Collection.count())&&((j==i)||(Collection->Collection[j].StyleName!=(Collection->GeometryFilter?Collection->ActiveFilter:"")+Text))) j++;
+ if ((j<Collection->Collection.count())&&(Collection->Collection[j].StyleName==(Collection->GeometryFilter?Collection->ActiveFilter:"")+Text)) {
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgManageStyle","Rename style"),
+ QApplication::translate("DlgManageStyle","A style with this name already exist.\nPlease select another name!"));
+ Continue=true;
+ } else {
+ // If all is ok then apply new name
+ Collection->Collection[i].StyleName=(Collection->GeometryFilter?Collection->ActiveFilter:"")+Text;
+ Collection->Collection[i].FromUserConf=true;
+ }
+ }
+ }
+ QString StyleName=Collection->Collection[i].StyleName;
+ Collection->SortList();
+ PopulateList(StyleName);
+ }
+ }
+}
+
+//====================================================================================================================
+
+void DlgManageStyle::s_DBRemove() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::s_DBRemove");
+ QListWidgetItem *Item=ui->ListStyle->item(ui->ListStyle->currentRow());
+ if (Item) {
+ QString StyleName=(Collection->GeometryFilter?Collection->ActiveFilter:"")+Item->text();
+ int i=0;
+ while ((i<Collection->Collection.count())&&(Collection->Collection[i].StyleName!=StyleName)) i++;
+ if ((i<Collection->Collection.count())&&(Collection->Collection[i].StyleName==StyleName)) {
+ if (ui->ListStyle->currentRow()<ui->ListStyle->count()-1) Item=ui->ListStyle->item(ui->ListStyle->currentRow()+1);
+ else if (ui->ListStyle->currentRow()>0) Item=ui->ListStyle->item(ui->ListStyle->currentRow()-1);
+ else Item=NULL;
+ Collection->Collection.removeAt(i);
+ PopulateList(Item==NULL?"":(Collection->GeometryFilter?Collection->ActiveFilter:"")+Item->text());
+ }
+ }
+}
+
+//====================================================================================================================
+
+void DlgManageStyle::s_DBReset() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgManageStyle::s_DBReset");
+ QListWidgetItem *Item=ui->ListStyle->item(ui->ListStyle->currentRow());
+ if (Item) {
+ QString StyleName=(Collection->GeometryFilter?Collection->ActiveFilter:"")+Item->text();
+ int i=0;
+ while ((i<Collection->Collection.count())&&(Collection->Collection[i].StyleName!=StyleName)) i++;
+ if ((i<Collection->Collection.count())&&(Collection->Collection[i].StyleName==StyleName)) {
+ Collection->Collection[i].StyleName=Collection->Collection[i].BckStyleName;
+ Collection->Collection[i].StyleDef =Collection->Collection[i].BckStyleDef;
+ Collection->Collection[i].FromUserConf=false;
+ QString StyleName=Collection->Collection[i].StyleName;
+ Collection->SortList();
+ PopulateList(StyleName);
+ }
+ }
+}
diff --git a/src/ffDiaporama/DlgManageStyle/DlgManageStyle.h b/src/ffDiaporama/DlgManageStyle/DlgManageStyle.h
new file mode 100755
index 0000000..b7b40fe
--- /dev/null
+++ b/src/ffDiaporama/DlgManageStyle/DlgManageStyle.h
@@ -0,0 +1,66 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef DLGMANAGESTYLE_H
+#define DLGMANAGESTYLE_H
+
+// Basic inclusions (common to all files)
+#include "../../engine/_GlobalDefines.h"
+#include "../../engine/_QCustomDialog.h"
+
+#include "../_StyleDefinitions.h"
+
+//=====================
+// Manage style dialog
+//=====================
+
+namespace Ui {
+ class DlgManageStyle;
+}
+
+class DlgManageStyle : public QCustomDialog {
+Q_OBJECT
+public:
+ cStyleCollection *Collection;
+ cStyleCollection *UndoCollection;
+
+ explicit DlgManageStyle(cStyleCollection *Collection,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent=0);
+ ~DlgManageStyle();
+
+ void PopulateList(QString StyleToActivate);
+
+ // function to be overloaded
+ virtual void DoInitDialog(); // Initialise dialog
+ virtual void DoAccept() {/*Nothing to do*/} // Call when user click on Ok button
+ virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button
+ virtual void PrepareGlobalUndo(); // Initiale Undo
+ virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button
+
+private slots:
+ void s_currentRowChanged(int);
+ void s_DBRename();
+ void s_DBRemove();
+ void s_DBReset();
+
+private:
+ Ui::DlgManageStyle *ui;
+};
+
+#endif // DLGMANAGESTYLE_H
diff --git a/src/ffDiaporama/DlgManageStyle/DlgManageStyle.ui b/src/ffDiaporama/DlgManageStyle/DlgManageStyle.ui
new file mode 100755
index 0000000..baac60f
--- /dev/null
+++ b/src/ffDiaporama/DlgManageStyle/DlgManageStyle.ui
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DlgManageStyle</class>
+ <widget class="QDialog" name="DlgManageStyle">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>452</width>
+ <height>310</height>
+ </rect>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="windowTitle">
+ <string comment="Dialog title">Manage style</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <property name="margin">
+ <number>8</number>
+ </property>
+ <item>
+ <widget class="QListWidget" name="ListStyle">
+ <property name="font">
+ <font>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="editTriggers">
+ <set>QAbstractItemView::NoEditTriggers</set>
+ </property>
+ <property name="showDropIndicator" stdset="0">
+ <bool>false</bool>
+ </property>
+ <property name="dragDropOverwriteMode">
+ <bool>false</bool>
+ </property>
+ <property name="selectionMode">
+ <enum>QAbstractItemView::SingleSelection</enum>
+ </property>
+ <property name="selectionBehavior">
+ <enum>QAbstractItemView::SelectRows</enum>
+ </property>
+ <property name="verticalScrollMode">
+ <enum>QAbstractItemView::ScrollPerItem</enum>
+ </property>
+ <property name="horizontalScrollMode">
+ <enum>QAbstractItemView::ScrollPerPixel</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="DBRenameBT">
+ <property name="toolTip">
+ <string>Rename style</string>
+ </property>
+ <property name="text">
+ <string>Rename</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/db_add.png</normaloff>:/img/db_add.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="DBRemoveBT">
+ <property name="toolTip">
+ <string>Remove style</string>
+ </property>
+ <property name="text">
+ <string>Remove</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/db_remove.png</normaloff>:/img/db_remove.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="DBResetBT">
+ <property name="toolTip">
+ <string>Cancel the modifications that you made on a standard style</string>
+ </property>
+ <property name="text">
+ <string>Reset to default</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/db_status.png</normaloff>:/img/db_status.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="OKBT">
+ <property name="toolTip">
+ <string>Accept modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Ok</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="CancelBt">
+ <property name="toolTip">
+ <string>Cancel modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Cancel</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="HelpBT">
+ <property name="toolTip">
+ <string>Open help page describing this dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Help</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>F1</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="../../../RSCffDiaporama.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp b/src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp
new file mode 100755
index 0000000..1146408
--- /dev/null
+++ b/src/ffDiaporama/DlgMusic/DlgMusicProperties.cpp
@@ -0,0 +1,284 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "DlgMusicProperties.h"
+#include "ui_DlgMusicProperties.h"
+
+#include <QFileDialog>
+#include <QMessageBox>
+
+DlgMusicProperties::DlgMusicProperties(cDiaporamaObject *TheDiaporamaObject,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent):
+ QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent), ui(new Ui::DlgMusicProperties) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::DlgMusicProperties");
+ ui->setupUi(this);
+ OkBt =ui->OKBT;
+ CancelBt=ui->CancelBt;
+ HelpBt =ui->HelpBT;
+
+ DiaporamaObject = TheDiaporamaObject;
+}
+
+//====================================================================================================================
+
+DlgMusicProperties::~DlgMusicProperties() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::~DlgMusicProperties");
+ delete ui;
+}
+
+//====================================================================================================================
+
+void DlgMusicProperties::DoInitDialog() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::DoInitDialog");
+
+ // Init embeded widgets
+ ui->PlayListTable->horizontalHeader()->setResizeMode(0,QHeaderView::ResizeToContents);
+ ui->PlayListTable->horizontalHeader()->setResizeMode(1,QHeaderView::ResizeToContents);
+ ui->PlayListTable->horizontalHeader()->setResizeMode(2,QHeaderView::ResizeToContents);
+ ui->PlayListTable->horizontalHeader()->setResizeMode(3,QHeaderView::ResizeToContents);
+
+ // Add music to PlayListTable
+ for (int CurIndex=0;CurIndex<DiaporamaObject->MusicList.count();CurIndex++) {
+ int j=ui->PlayListTable->rowCount(); // Item will be add at end of the list
+ ui->PlayListTable->insertRow(j);
+ QTableWidgetItem *Item;
+ Item=new QTableWidgetItem(QFileInfo(DiaporamaObject->MusicList[CurIndex].FileName).fileName()); Item->setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter); ui->PlayListTable->setItem(j,0,Item);
+ Item=new QTableWidgetItem(DiaporamaObject->MusicList[CurIndex].Duration.toString("hh:mm:ss")); Item->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter); ui->PlayListTable->setItem(j,1,Item);
+ QComboBox *InternalCB=new QComboBox(ui->PlayListTable);
+ for (int Factor=150;Factor>=10;Factor-=10) InternalCB->addItem(QString("%1%").arg(Factor));
+ InternalCB->setCurrentIndex(InternalCB->findText(QString("%1%").arg(int(DiaporamaObject->MusicList[CurIndex].Volume*100))));
+ ui->PlayListTable->setCellWidget(j,2,InternalCB);
+ Item=new QTableWidgetItem(QFileInfo(DiaporamaObject->MusicList[CurIndex].FileName).path()); Item->setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter); ui->PlayListTable->setItem(j,3,Item);
+ ui->PlayListTable->verticalHeader()->setResizeMode(j,QHeaderView::ResizeToContents);
+ }
+
+ RefreshControl();
+
+ // Define handler
+ connect(ui->SameMusicRD,SIGNAL(clicked()),this,SLOT(s_SameMusic()));
+ connect(ui->SameMusicNormalRD,SIGNAL(clicked()),this,SLOT(s_SameMusicNormal()));
+ connect(ui->SameMusicReduceVolumeRD,SIGNAL(clicked()),this,SLOT(s_SameMusicReduceVolume()));
+ connect(ui->SameMusicPauseRD,SIGNAL(clicked()),this,SLOT(s_SameMusicPause()));
+
+ connect(ui->NewMusicRD,SIGNAL(clicked()),this,SLOT(s_NewMusic()));
+ connect(ui->AddMusicBt,SIGNAL(pressed()),this,SLOT(s_AddMusic()));
+ connect(ui->RemoveMusicBt,SIGNAL(pressed()),this,SLOT(s_RemoveMusic()));
+ connect(ui->PlayListTable,SIGNAL(itemDoubleClicked(QTableWidgetItem *)),this,SLOT(s_PlayListTable_DoubleClick(QTableWidgetItem *)));
+ connect(ui->PlayListTable,SIGNAL(itemSelectionChanged()),this,SLOT(s_PlayListTable_SelectionChanged()));
+}
+
+//====================================================================================================================
+// Initiale Undo
+
+void DlgMusicProperties::PrepareGlobalUndo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::PrepareGlobalUndo");
+ // Save object before modification for cancel button
+ Undo=new QDomDocument(APPLICATION_NAME);
+ QDomElement root=Undo->createElement("UNDO-DLG"); // Create xml document and root
+ DiaporamaObject->SaveToXML(root,"UNDO-DLG-OBJECT",DiaporamaObject->Parent->ProjectFileName,true); // Save object
+ Undo->appendChild(root); // Add object to xml document
+}
+
+//====================================================================================================================
+// Apply Undo : call when user click on Cancel button
+
+void DlgMusicProperties::DoGlobalUndo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::DoGlobalUndo");
+ QDomElement root=Undo->documentElement();
+ if (root.tagName()=="UNDO-DLG") DiaporamaObject->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL);
+}
+
+//====================================================================================================================
+
+void DlgMusicProperties::DoAccept() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::DoAccept");
+ DiaporamaObject->MusicReduceFactor=double(ui->VolumeReductionFactorCB->currentText().toInt())/100;
+ // Get Music volume for each file of the playlist
+ if (DiaporamaObject->MusicType) {
+ for (int CurIndex=0;CurIndex<DiaporamaObject->MusicList.count();CurIndex++) {
+ QComboBox *CB =(QComboBox *)ui->PlayListTable->cellWidget(CurIndex,2);
+ QString Volume=CB->currentText(); Volume=Volume.left(Volume.length()-1);
+ DiaporamaObject->MusicList[CurIndex].Volume=double(Volume.toInt())/100;
+ }
+ } else DiaporamaObject->MusicList.clear();
+}
+
+//====================================================================================================================
+
+void DlgMusicProperties::s_SameMusic() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::s_SameMusic");
+ if (DiaporamaObject==NULL) return;
+ DiaporamaObject->MusicType=false;
+ DiaporamaObject->MusicPause=false;
+ DiaporamaObject->MusicReduceVolume=false;
+ RefreshControl();
+}
+
+//====================================================================================================================
+
+void DlgMusicProperties::s_SameMusicNormal() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::s_SameMusicNormal");
+ if (DiaporamaObject==NULL) return;
+ DiaporamaObject->MusicType=false;
+ DiaporamaObject->MusicPause=false;
+ DiaporamaObject->MusicReduceVolume=false;
+ RefreshControl();
+}
+
+void DlgMusicProperties::s_SameMusicReduceVolume() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::s_SameMusicReduceVolume");
+ DiaporamaObject->MusicType=false;
+ DiaporamaObject->MusicPause=false;
+ DiaporamaObject->MusicReduceVolume=true;
+ RefreshControl();
+}
+
+void DlgMusicProperties::s_SameMusicPause() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::s_SameMusicPause");
+ if (DiaporamaObject==NULL) return;
+ DiaporamaObject->MusicType=false;
+ DiaporamaObject->MusicPause=true;
+ DiaporamaObject->MusicReduceVolume=false;
+ RefreshControl();
+}
+
+//====================================================================================================================
+
+void DlgMusicProperties::s_NewMusic() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::s_NewMusic");
+ if (DiaporamaObject==NULL) return;
+ DiaporamaObject->MusicType=true;
+ DiaporamaObject->MusicPause=false;
+ DiaporamaObject->MusicReduceVolume=false;
+ RefreshControl();
+}
+
+//====================================================================================================================
+
+void DlgMusicProperties::RefreshControl() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::RefreshControl");
+ if (DiaporamaObject!=NULL) {
+ ui->SameMusicRD->setChecked(!DiaporamaObject->MusicType);
+ ui->SameMusicNormalRD->setEnabled(!DiaporamaObject->MusicType);
+ ui->SameMusicNormalRD->setChecked((!DiaporamaObject->MusicType)&&(!DiaporamaObject->MusicPause)&&(!DiaporamaObject->MusicReduceVolume));
+ ui->SameMusicReduceVolumeRD->setEnabled(!DiaporamaObject->MusicType);
+ ui->SameMusicReduceVolumeRD->setChecked((!DiaporamaObject->MusicType)&&(!DiaporamaObject->MusicPause)&&(DiaporamaObject->MusicReduceVolume));
+ ui->VolumeReductionFactorCB->setEnabled((!DiaporamaObject->MusicType)&&(!DiaporamaObject->MusicPause)&&(DiaporamaObject->MusicReduceVolume));
+ ui->SameMusicPauseRD->setEnabled(!DiaporamaObject->MusicType);
+ ui->SameMusicPauseRD->setChecked((!DiaporamaObject->MusicType)&&(DiaporamaObject->MusicPause)&&(!DiaporamaObject->MusicReduceVolume));
+ ui->NewMusicRD->setChecked(DiaporamaObject->MusicType);
+ ui->VolumeReductionFactorCB->setCurrentIndex(ui->VolumeReductionFactorCB->findText(QString("%1").arg(int(DiaporamaObject->MusicReduceFactor*100))));
+
+ ui->PlayListTable->setEnabled(DiaporamaObject->MusicType);
+ ui->AddMusicBt->setEnabled(DiaporamaObject->MusicType);
+ ui->RemoveMusicBt->setEnabled((DiaporamaObject->MusicType)&&(DiaporamaObject->MusicList.count()>0)&&(ui->PlayListTable->currentRow()!=-1));
+ ui->UpMusicBt->setEnabled((DiaporamaObject->MusicType)&&(DiaporamaObject->MusicList.count()>0)&&(ui->PlayListTable->currentRow()>0));
+ ui->DownMusicBt->setEnabled((DiaporamaObject->MusicType)&&(DiaporamaObject->MusicList.count()>0)&&(ui->PlayListTable->currentRow()<ui->PlayListTable->rowCount()-1));
+ if (DiaporamaObject->MusicType) {
+ int TotalDuration=0;
+ for (int CurIndex=0;CurIndex<DiaporamaObject->MusicList.count();CurIndex++) TotalDuration+=QTime(0,0,0,0).msecsTo(DiaporamaObject->MusicList[CurIndex].Duration);
+ ui->LabelDuration->setText(QTime(0,0,0,0).addMSecs(TotalDuration).toString("hh:mm:ss"));
+ } else {
+ ui->Label1->setText("");
+ ui->LabelDuration->setText("");
+ }
+ } else {
+ ui->PlayListTable->setEnabled(false);
+ ui->AddMusicBt->setEnabled(false);
+ ui->RemoveMusicBt->setEnabled(false);
+ ui->UpMusicBt->setEnabled(false);
+ ui->DownMusicBt->setEnabled(false);
+ ui->Label1->setText("");
+ ui->LabelDuration->setText("");
+ }
+}
+
+//====================================================================================================================
+
+void DlgMusicProperties::s_AddMusic() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::s_AddMusic");
+ QStringList FileList=QFileDialog::getOpenFileNames(this,QApplication::translate("DlgMusicProperties","Add music files"),
+ DiaporamaObject->Parent->ApplicationConfig->RememberLastDirectories?DiaporamaObject->Parent->ApplicationConfig->LastMusicPath:"",
+ BaseApplicationConfig->GetFilterForMediaFile(cBaseApplicationConfig::MUSICFILE));
+ QApplication::processEvents();
+ QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
+ int CurIndex=DiaporamaObject->MusicList.count();
+
+ // Add files
+ for (int i=0;i<FileList.count();i++) {
+ QString NewFile=FileList[i];
+ if (DiaporamaObject->Parent->ApplicationConfig->RememberLastDirectories)
+ DiaporamaObject->Parent->ApplicationConfig->LastMusicPath=QFileInfo(NewFile).absolutePath(); // Keep folder for next use
+
+ DiaporamaObject->MusicList.insert(CurIndex,cMusicObject(BaseApplicationConfig));
+ bool ModifyFlag=false;
+ if (DiaporamaObject->MusicList[CurIndex].LoadMedia(NewFile,NULL,&ModifyFlag)) {
+ if (ModifyFlag) emit SetModifyFlag();
+
+ // Add music to PlayListTable
+ int j=ui->PlayListTable->rowCount(); // Item will be add at end of the list
+ ui->PlayListTable->insertRow(j);
+ QTableWidgetItem *Item;
+ Item=new QTableWidgetItem(QFileInfo(DiaporamaObject->MusicList[CurIndex].FileName).fileName()); Item->setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter); ui->PlayListTable->setItem(j,0,Item);
+ Item=new QTableWidgetItem(DiaporamaObject->MusicList[CurIndex].Duration.toString("hh:mm:ss")); Item->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter); ui->PlayListTable->setItem(j,1,Item);
+ QComboBox *InternalCB=new QComboBox(ui->PlayListTable);
+ for (int Factor=150;Factor>=10;Factor-=10) InternalCB->addItem(QString("%1%").arg(Factor));
+ InternalCB->setCurrentIndex(InternalCB->findText(QString("%1%").arg(int(DiaporamaObject->MusicList[CurIndex].Volume*100))));
+ ui->PlayListTable->setCellWidget(j,2,InternalCB);
+ Item=new QTableWidgetItem(QFileInfo(DiaporamaObject->MusicList[CurIndex].FileName).path()); Item->setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter); ui->PlayListTable->setItem(j,3,Item);
+
+ ui->PlayListTable->verticalHeader()->setResizeMode(j,QHeaderView::ResizeToContents);
+ CurIndex++;
+ } else {
+ CustomMessageBox(NULL,QMessageBox::Critical,QApplication::translate("DlgMusicProperties","Error","Error message"),
+ NewFile+"\n\n"+QApplication::translate("DlgMusicProperties","Format not supported","Error message"),QMessageBox::Close);
+ DiaporamaObject->MusicList.removeAt(CurIndex);
+ }
+ }
+ QApplication::restoreOverrideCursor();
+ RefreshControl();
+}
+
+//====================================================================================================================
+
+void DlgMusicProperties::s_RemoveMusic() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::s_RemoveMusic");
+ int CurIndex=ui->PlayListTable->currentRow();
+ if (CurIndex==-1) return;
+ QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
+ DiaporamaObject->MusicList.removeAt(CurIndex);
+ ui->PlayListTable->removeRow(CurIndex);
+ if (CurIndex<ui->PlayListTable->rowCount()) ui->PlayListTable->setCurrentCell(CurIndex,0); else ui->PlayListTable->setCurrentCell(0,0);
+ QApplication::restoreOverrideCursor();
+ RefreshControl();
+}
+
+//====================================================================================================================
+
+void DlgMusicProperties::s_PlayListTable_DoubleClick(QTableWidgetItem *) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::s_PlayListTable_DoubleClick");
+ RefreshControl();
+}
+
+//====================================================================================================================
+
+void DlgMusicProperties::s_PlayListTable_SelectionChanged() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::s_PlayListTable_SelectionChanged");
+ RefreshControl();
+}
diff --git a/src/ffDiaporama/DlgMusic/DlgMusicProperties.h b/src/ffDiaporama/DlgMusic/DlgMusicProperties.h
new file mode 100755
index 0000000..dd30b0d
--- /dev/null
+++ b/src/ffDiaporama/DlgMusic/DlgMusicProperties.h
@@ -0,0 +1,72 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+
+#ifndef DLGMUSICPROPERTIES_H
+#define DLGMUSICPROPERTIES_H
+
+// Basic inclusions (common to all files)
+#include "../../engine/_GlobalDefines.h"
+#include "../../engine/_QCustomDialog.h"
+
+// Specific inclusions
+#include "../_Diaporama.h"
+
+namespace Ui {
+ class DlgMusicProperties;
+}
+
+class DlgMusicProperties : public QCustomDialog {
+Q_OBJECT
+public:
+ cDiaporamaObject *DiaporamaObject;
+
+ explicit DlgMusicProperties(cDiaporamaObject *DiaporamaObject,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent=0);
+ ~DlgMusicProperties();
+
+ // function to be overloaded
+ virtual void DoInitDialog(); // Initialise dialog
+ virtual void DoAccept(); // Call when user click on Ok button
+ virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button
+ virtual void PrepareGlobalUndo(); // Initiale Undo
+ virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button
+
+ virtual void RefreshControl();
+
+private slots:
+ void s_SameMusic();
+ void s_SameMusicNormal();
+ void s_SameMusicReduceVolume();
+ void s_SameMusicPause();
+ void s_NewMusic();
+ void s_AddMusic();
+ void s_RemoveMusic();
+ void s_PlayListTable_DoubleClick(QTableWidgetItem *);
+ void s_PlayListTable_SelectionChanged();
+
+signals:
+ void SetModifyFlag();
+
+private:
+ void SetupUi();
+ Ui::DlgMusicProperties *ui;
+};
+
+#endif // DLGMUSICPROPERTIES_H
diff --git a/src/ffDiaporama/DlgMusic/DlgMusicProperties.ui b/src/ffDiaporama/DlgMusic/DlgMusicProperties.ui
new file mode 100755
index 0000000..31a4769
--- /dev/null
+++ b/src/ffDiaporama/DlgMusic/DlgMusicProperties.ui
@@ -0,0 +1,461 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DlgMusicProperties</class>
+ <widget class="QDialog" name="DlgMusicProperties">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>500</width>
+ <height>300</height>
+ </rect>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>500</width>
+ <height>300</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="windowTitle">
+ <string>Music properties</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <property name="margin">
+ <number>8</number>
+ </property>
+ <item>
+ <widget class="QRadioButton" name="SameMusicRD">
+ <property name="toolTip">
+ <string>Allows one to continue to play the play list define by a previous slide</string>
+ </property>
+ <property name="text">
+ <string>Continue current playlist (defined in a previous slide)</string>
+ </property>
+ <attribute name="buttonGroup">
+ <string>buttonGroup</string>
+ </attribute>
+ </widget>
+ </item>
+ <item>
+ <layout class="QGridLayout" name="gridLayout">
+ <property name="leftMargin">
+ <number>30</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item row="1" column="0">
+ <widget class="QRadioButton" name="SameMusicReduceVolumeRD">
+ <property name="toolTip">
+ <string>Allows one to indicate that from now on, the sound volume is reduced.</string>
+ </property>
+ <property name="text">
+ <string>Change volume level to :</string>
+ </property>
+ <attribute name="buttonGroup">
+ <string>buttonGroup_2</string>
+ </attribute>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="VolumeReductionFactorCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>50</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Define the sound volume for this slide</string>
+ </property>
+ <property name="currentIndex">
+ <number>7</number>
+ </property>
+ <item>
+ <property name="text">
+ <string notr="true">90</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">80</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">70</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">60</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">50</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">40</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">30</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">20</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">10</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLabel" name="label_3">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true">%</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="3">
+ <widget class="QRadioButton" name="SameMusicPauseRD">
+ <property name="toolTip">
+ <string>Set music to pause during this slide</string>
+ </property>
+ <property name="text">
+ <string>Set to pause</string>
+ </property>
+ <attribute name="buttonGroup">
+ <string>buttonGroup_2</string>
+ </attribute>
+ </widget>
+ </item>
+ <item row="0" column="0" colspan="3">
+ <widget class="QRadioButton" name="SameMusicNormalRD">
+ <property name="toolTip">
+ <string>No specific settings</string>
+ </property>
+ <property name="text">
+ <string>Normal</string>
+ </property>
+ <attribute name="buttonGroup">
+ <string>buttonGroup_2</string>
+ </attribute>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="NewMusicRD">
+ <property name="toolTip">
+ <string>Allows one to start a new playlist.</string>
+ </property>
+ <property name="text">
+ <string>Start a new playlist from this slide</string>
+ </property>
+ <attribute name="buttonGroup">
+ <string>buttonGroup</string>
+ </attribute>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QToolButton" name="AddMusicBt">
+ <property name="toolTip">
+ <string>Add a file to the playlist</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/object_sound.png</normaloff>:/img/object_sound.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="RemoveMusicBt">
+ <property name="toolTip">
+ <string>Remove the current selected file</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/trash.png</normaloff>:/img/trash.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="UpMusicBt">
+ <property name="toolTip">
+ <string>Change the order in which will be played the music files:
+Move the current selected file of a notch upward.</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/arrow_up.png</normaloff>:/img/arrow_up.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="DownMusicBt">
+ <property name="toolTip">
+ <string>Change the order in which will be played the music files:
+Move the current selected file of a notch downward.</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/arrow_down.png</normaloff>:/img/arrow_down.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="Label1">
+ <property name="text">
+ <string>Total playlist duration : </string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="LabelDuration">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true">00:00:00</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QTableWidget" name="PlayListTable">
+ <property name="editTriggers">
+ <set>QAbstractItemView::NoEditTriggers</set>
+ </property>
+ <property name="showDropIndicator" stdset="0">
+ <bool>false</bool>
+ </property>
+ <property name="dragDropOverwriteMode">
+ <bool>false</bool>
+ </property>
+ <property name="selectionMode">
+ <enum>QAbstractItemView::SingleSelection</enum>
+ </property>
+ <property name="selectionBehavior">
+ <enum>QAbstractItemView::SelectRows</enum>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ <property name="cornerButtonEnabled">
+ <bool>false</bool>
+ </property>
+ <attribute name="verticalHeaderVisible">
+ <bool>false</bool>
+ </attribute>
+ <column>
+ <property name="text">
+ <string>File</string>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Duration</string>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Volume</string>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Source folder</string>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ </column>
+ </widget>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="OKBT">
+ <property name="toolTip">
+ <string>Accept modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Ok</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="CancelBt">
+ <property name="toolTip">
+ <string>Cancel modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Cancel</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="HelpBT">
+ <property name="toolTip">
+ <string>Open help page describing this dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Help</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>F1</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <tabstops>
+ <tabstop>SameMusicRD</tabstop>
+ <tabstop>SameMusicNormalRD</tabstop>
+ <tabstop>SameMusicReduceVolumeRD</tabstop>
+ <tabstop>VolumeReductionFactorCB</tabstop>
+ <tabstop>SameMusicPauseRD</tabstop>
+ <tabstop>NewMusicRD</tabstop>
+ <tabstop>AddMusicBt</tabstop>
+ <tabstop>RemoveMusicBt</tabstop>
+ <tabstop>UpMusicBt</tabstop>
+ <tabstop>DownMusicBt</tabstop>
+ <tabstop>PlayListTable</tabstop>
+ <tabstop>OKBT</tabstop>
+ <tabstop>CancelBt</tabstop>
+ </tabstops>
+ <resources>
+ <include location="../../../RSCffDiaporama.qrc"/>
+ </resources>
+ <connections/>
+ <buttongroups>
+ <buttongroup name="buttonGroup_2"/>
+ <buttongroup name="buttonGroup"/>
+ </buttongroups>
+</ui>
diff --git a/src/ffDiaporama/DlgMusicProperties.cpp b/src/ffDiaporama/DlgMusicProperties.cpp
deleted file mode 100755
index 0cd74bc..0000000
--- a/src/ffDiaporama/DlgMusicProperties.cpp
+++ /dev/null
@@ -1,303 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "DlgMusicProperties.h"
-#include "ui_DlgMusicProperties.h"
-#include "mainwindow.h"
-
-#include <QFileDialog>
-#include <QMessageBox>
-
-DlgMusicProperties::DlgMusicProperties(cDiaporamaObject *TheDiaporamaObject,QWidget *parent) : QDialog(parent), ui(new Ui::DlgMusicProperties) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::DlgMusicProperties");
- ui->setupUi(this);
-
- DiaporamaObject = TheDiaporamaObject;
-
- setWindowFlags((windowFlags()|Qt::CustomizeWindowHint|Qt::WindowSystemMenuHint|Qt::WindowMaximizeButtonHint)&(~Qt::WindowMinimizeButtonHint));
-
- // Save object before modification for cancel button
- Undo=new QDomDocument(APPLICATION_NAME);
- QDomElement root=Undo->createElement("UNDO-DLG"); // Create xml document and root
- DiaporamaObject->SaveToXML(root,"UNDO-DLG-OBJECT",DiaporamaObject->Parent->ProjectFileName,true); // Save object
- Undo->appendChild(root); // Add object to xml document
-
- // Init embeded widgets
- ui->PlayListTable->horizontalHeader()->setResizeMode(0,QHeaderView::ResizeToContents);
- ui->PlayListTable->horizontalHeader()->setResizeMode(1,QHeaderView::ResizeToContents);
- ui->PlayListTable->horizontalHeader()->setResizeMode(2,QHeaderView::ResizeToContents);
- ui->PlayListTable->horizontalHeader()->setResizeMode(3,QHeaderView::ResizeToContents);
-
- // Add music to PlayListTable
- for (int CurIndex=0;CurIndex<DiaporamaObject->MusicList.count();CurIndex++) {
- int j=ui->PlayListTable->rowCount(); // Item will be add at end of the list
- ui->PlayListTable->insertRow(j);
- QTableWidgetItem *Item;
- Item=new QTableWidgetItem(QFileInfo(DiaporamaObject->MusicList[CurIndex].FilePath).fileName()); Item->setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter); ui->PlayListTable->setItem(j,0,Item);
- Item=new QTableWidgetItem(DiaporamaObject->MusicList[CurIndex].Duration.toString("hh:mm:ss")); Item->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter); ui->PlayListTable->setItem(j,1,Item);
- QComboBox *InternalCB=new QComboBox(ui->PlayListTable);
- for (int Factor=150;Factor>=10;Factor-=10) InternalCB->addItem(QString("%1%").arg(Factor));
- InternalCB->setCurrentIndex(InternalCB->findText(QString("%1%").arg(int(DiaporamaObject->MusicList[CurIndex].Volume*100))));
- ui->PlayListTable->setCellWidget(j,2,InternalCB);
- Item=new QTableWidgetItem(QFileInfo(DiaporamaObject->MusicList[CurIndex].FilePath).path()); Item->setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter); ui->PlayListTable->setItem(j,3,Item);
- ui->PlayListTable->verticalHeader()->setResizeMode(j,QHeaderView::ResizeToContents);
- }
-
- // Setup enable/disable state
- SetupUi();
-
- // Define handler
- connect(ui->CloseBT,SIGNAL(clicked()),this,SLOT(reject()));
- connect(ui->OKBT,SIGNAL(clicked()),this,SLOT(accept()));
- connect(ui->HelpBT,SIGNAL(clicked()),this,SLOT(Help()));
-
- connect(ui->SameMusicRD,SIGNAL(clicked()),this,SLOT(s_SameMusic()));
- connect(ui->SameMusicNormalRD,SIGNAL(clicked()),this,SLOT(s_SameMusicNormal()));
- connect(ui->SameMusicReduceVolumeRD,SIGNAL(clicked()),this,SLOT(s_SameMusicReduceVolume()));
- connect(ui->SameMusicPauseRD,SIGNAL(clicked()),this,SLOT(s_SameMusicPause()));
-
- connect(ui->NewMusicRD,SIGNAL(clicked()),this,SLOT(s_NewMusic()));
- connect(ui->AddMusicBt,SIGNAL(pressed()),this,SLOT(s_AddMusic()));
- connect(ui->RemoveMusicBt,SIGNAL(pressed()),this,SLOT(s_RemoveMusic()));
- connect(ui->PlayListTable,SIGNAL(itemDoubleClicked(QTableWidgetItem *)),this,SLOT(s_PlayListTable_DoubleClick(QTableWidgetItem *)));
- connect(ui->PlayListTable,SIGNAL(itemSelectionChanged()),this,SLOT(s_PlayListTable_SelectionChanged()));
-}
-
-//====================================================================================================================
-
-DlgMusicProperties::~DlgMusicProperties() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::~DlgMusicProperties");
- delete ui;
-}
-
-//====================================================================================================================
-
-void DlgMusicProperties::Help() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::Help");
- GlobalMainWindow->OpenHelp(HELPFILE_DlgMusicProperties);
-}
-
-//====================================================================================================================
-
-void DlgMusicProperties::SetSavedWindowGeometry() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::SetSavedWindowGeometry");
- DiaporamaObject->Parent->ApplicationConfig->DlgMusicPropertiesWSP->ApplyToWindow(this);
-}
-
-//====================================================================================================================
-
-void DlgMusicProperties::showEvent(QShowEvent *ev) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::showEvent");
- QDialog::showEvent(ev);
- QTimer::singleShot(0,this,SLOT(SetSavedWindowGeometry()));
-}
-
-//====================================================================================================================
-
-void DlgMusicProperties::reject() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::reject");
- // Save Window size and position
- DiaporamaObject->Parent->ApplicationConfig->DlgMusicPropertiesWSP->SaveWindowState(this);
- QDomElement root=Undo->documentElement();
- if (root.tagName()=="UNDO-DLG") DiaporamaObject->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL);
- done(1);
-}
-
-//====================================================================================================================
-
-void DlgMusicProperties::accept() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::accept");
- DiaporamaObject->MusicReduceFactor=double(ui->VolumeReductionFactorCB->currentText().toInt())/100;
- // Get Music volume for each file of the playlist
- if (DiaporamaObject->MusicType) {
- for (int CurIndex=0;CurIndex<DiaporamaObject->MusicList.count();CurIndex++) {
- QComboBox *CB =(QComboBox *)ui->PlayListTable->cellWidget(CurIndex,2);
- QString Volume=CB->currentText(); Volume=Volume.left(Volume.length()-1);
- DiaporamaObject->MusicList[CurIndex].Volume=double(Volume.toInt())/100;
- }
- } else DiaporamaObject->MusicList.clear();
- // Save Window size and position
- DiaporamaObject->Parent->ApplicationConfig->DlgMusicPropertiesWSP->SaveWindowState(this);
- done(0);
-}
-
-//====================================================================================================================
-
-void DlgMusicProperties::s_SameMusic() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::s_SameMusic");
- if (DiaporamaObject==NULL) return;
- DiaporamaObject->MusicType=false;
- DiaporamaObject->MusicPause=false;
- DiaporamaObject->MusicReduceVolume=false;
- SetupUi();
-}
-
-//====================================================================================================================
-
-void DlgMusicProperties::s_SameMusicNormal() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::s_SameMusicNormal");
- if (DiaporamaObject==NULL) return;
- DiaporamaObject->MusicType=false;
- DiaporamaObject->MusicPause=false;
- DiaporamaObject->MusicReduceVolume=false;
- SetupUi();
-}
-
-void DlgMusicProperties::s_SameMusicReduceVolume() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::s_SameMusicReduceVolume");
- DiaporamaObject->MusicType=false;
- DiaporamaObject->MusicPause=false;
- DiaporamaObject->MusicReduceVolume=true;
- SetupUi();
-}
-
-void DlgMusicProperties::s_SameMusicPause() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::s_SameMusicPause");
- if (DiaporamaObject==NULL) return;
- DiaporamaObject->MusicType=false;
- DiaporamaObject->MusicPause=true;
- DiaporamaObject->MusicReduceVolume=false;
- SetupUi();
-}
-
-//====================================================================================================================
-
-void DlgMusicProperties::s_NewMusic() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::s_NewMusic");
- if (DiaporamaObject==NULL) return;
- DiaporamaObject->MusicType=true;
- DiaporamaObject->MusicPause=false;
- DiaporamaObject->MusicReduceVolume=false;
- SetupUi();
-}
-
-//====================================================================================================================
-
-void DlgMusicProperties::SetupUi() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::SetupUi");
- if (DiaporamaObject!=NULL) {
- ui->SameMusicRD->setChecked(!DiaporamaObject->MusicType);
- ui->SameMusicNormalRD->setEnabled(!DiaporamaObject->MusicType);
- ui->SameMusicNormalRD->setChecked((!DiaporamaObject->MusicType)&&(!DiaporamaObject->MusicPause)&&(!DiaporamaObject->MusicReduceVolume));
- ui->SameMusicReduceVolumeRD->setEnabled(!DiaporamaObject->MusicType);
- ui->SameMusicReduceVolumeRD->setChecked((!DiaporamaObject->MusicType)&&(!DiaporamaObject->MusicPause)&&(DiaporamaObject->MusicReduceVolume));
- ui->VolumeReductionFactorCB->setEnabled((!DiaporamaObject->MusicType)&&(!DiaporamaObject->MusicPause)&&(DiaporamaObject->MusicReduceVolume));
- ui->SameMusicPauseRD->setEnabled(!DiaporamaObject->MusicType);
- ui->SameMusicPauseRD->setChecked((!DiaporamaObject->MusicType)&&(DiaporamaObject->MusicPause)&&(!DiaporamaObject->MusicReduceVolume));
- ui->NewMusicRD->setChecked(DiaporamaObject->MusicType);
- ui->VolumeReductionFactorCB->setCurrentIndex(ui->VolumeReductionFactorCB->findText(QString("%1").arg(int(DiaporamaObject->MusicReduceFactor*100))));
-
- ui->PlayListTable->setEnabled(DiaporamaObject->MusicType);
- ui->AddMusicBt->setEnabled(DiaporamaObject->MusicType);
- ui->RemoveMusicBt->setEnabled((DiaporamaObject->MusicType)&&(DiaporamaObject->MusicList.count()>0)&&(ui->PlayListTable->currentRow()!=-1));
- ui->UpMusicBt->setEnabled((DiaporamaObject->MusicType)&&(DiaporamaObject->MusicList.count()>0)&&(ui->PlayListTable->currentRow()>0));
- ui->DownMusicBt->setEnabled((DiaporamaObject->MusicType)&&(DiaporamaObject->MusicList.count()>0)&&(ui->PlayListTable->currentRow()<ui->PlayListTable->rowCount()-1));
- if (DiaporamaObject->MusicType) {
- int TotalDuration=0;
- for (int CurIndex=0;CurIndex<DiaporamaObject->MusicList.count();CurIndex++) TotalDuration+=QTime(0,0,0,0).msecsTo(DiaporamaObject->MusicList[CurIndex].Duration);
- ui->LabelDuration->setText(QTime(0,0,0,0).addMSecs(TotalDuration).toString("hh:mm:ss"));
- } else {
- ui->Label1->setText("");
- ui->LabelDuration->setText("");
- }
- } else {
- ui->PlayListTable->setEnabled(false);
- ui->AddMusicBt->setEnabled(false);
- ui->RemoveMusicBt->setEnabled(false);
- ui->UpMusicBt->setEnabled(false);
- ui->DownMusicBt->setEnabled(false);
- ui->Label1->setText("");
- ui->LabelDuration->setText("");
- }
-}
-
-//====================================================================================================================
-
-void DlgMusicProperties::s_AddMusic() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::s_AddMusic");
- QStringList FileList=QFileDialog::getOpenFileNames(this,QApplication::translate("DlgMusicProperties","Add music files"),
- DiaporamaObject->Parent->ApplicationConfig->RememberLastDirectories?DiaporamaObject->Parent->ApplicationConfig->LastMusicPath:"",
- GlobalMainWindow->ApplicationConfig->GetFilterForMediaFile(cBaseApplicationConfig::MUSICFILE));
- QApplication::processEvents();
- QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
- int CurIndex=DiaporamaObject->MusicList.count();
-
- // Add files
- for (int i=0;i<FileList.count();i++) {
- QString NewFile=FileList[i];
- if (DiaporamaObject->Parent->ApplicationConfig->RememberLastDirectories)
- DiaporamaObject->Parent->ApplicationConfig->LastMusicPath=QFileInfo(NewFile).absolutePath(); // Keep folder for next use
-
- DiaporamaObject->MusicList.insert(CurIndex,cMusicObject());
- bool ModifyFlag=false;
- if (DiaporamaObject->MusicList[CurIndex].LoadMedia(NewFile,NULL,&ModifyFlag,GlobalMainWindow->ApplicationConfig)) {
- if (ModifyFlag) GlobalMainWindow->SetModifyFlag(true);
-
- // Add music to PlayListTable
- int j=ui->PlayListTable->rowCount(); // Item will be add at end of the list
- ui->PlayListTable->insertRow(j);
- QTableWidgetItem *Item;
- Item=new QTableWidgetItem(QFileInfo(DiaporamaObject->MusicList[CurIndex].FilePath).fileName()); Item->setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter); ui->PlayListTable->setItem(j,0,Item);
- Item=new QTableWidgetItem(DiaporamaObject->MusicList[CurIndex].Duration.toString("hh:mm:ss")); Item->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter); ui->PlayListTable->setItem(j,1,Item);
- QComboBox *InternalCB=new QComboBox(ui->PlayListTable);
- for (int Factor=150;Factor>=10;Factor-=10) InternalCB->addItem(QString("%1%").arg(Factor));
- InternalCB->setCurrentIndex(InternalCB->findText(QString("%1%").arg(int(DiaporamaObject->MusicList[CurIndex].Volume*100))));
- ui->PlayListTable->setCellWidget(j,2,InternalCB);
- Item=new QTableWidgetItem(QFileInfo(DiaporamaObject->MusicList[CurIndex].FilePath).path()); Item->setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter); ui->PlayListTable->setItem(j,3,Item);
-
- ui->PlayListTable->verticalHeader()->setResizeMode(j,QHeaderView::ResizeToContents);
- CurIndex++;
- } else {
- CustomMessageBox(NULL,QMessageBox::Critical,QApplication::translate("DlgMusicProperties","Error","Error message"),
- NewFile+"\n\n"+QApplication::translate("DlgMusicProperties","Format not supported","Error message"),QMessageBox::Close);
- DiaporamaObject->MusicList.removeAt(CurIndex);
- }
- }
- QApplication::restoreOverrideCursor();
- SetupUi();
-}
-
-//====================================================================================================================
-
-void DlgMusicProperties::s_RemoveMusic() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::s_RemoveMusic");
- int CurIndex=ui->PlayListTable->currentRow();
- if (CurIndex==-1) return;
- QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
- DiaporamaObject->MusicList.removeAt(CurIndex);
- ui->PlayListTable->removeRow(CurIndex);
- if (CurIndex<ui->PlayListTable->rowCount()) ui->PlayListTable->setCurrentCell(CurIndex,0); else ui->PlayListTable->setCurrentCell(0,0);
- QApplication::restoreOverrideCursor();
- SetupUi();
-}
-
-//====================================================================================================================
-
-void DlgMusicProperties::s_PlayListTable_DoubleClick(QTableWidgetItem *) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::s_PlayListTable_DoubleClick");
- SetupUi();
-}
-
-//====================================================================================================================
-
-void DlgMusicProperties::s_PlayListTable_SelectionChanged() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::s_PlayListTable_SelectionChanged");
- SetupUi();
-}
diff --git a/src/ffDiaporama/DlgMusicProperties.h b/src/ffDiaporama/DlgMusicProperties.h
deleted file mode 100755
index 80db98b..0000000
--- a/src/ffDiaporama/DlgMusicProperties.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-
-#ifndef DLGMUSICPROPERTIES_H
-#define DLGMUSICPROPERTIES_H
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-#include "../sharedfiles/_QCustomDialog.h"
-
-// Specific inclusions
-#include "_Diaporama.h"
-
-namespace Ui {
- class DlgMusicProperties;
-}
-
-class DlgMusicProperties : public QDialog {
-Q_OBJECT
-public:
- cDiaporamaObject *DiaporamaObject;
- QDomDocument *Undo; // Save object before modification for cancel button
-
- explicit DlgMusicProperties(cDiaporamaObject *DiaporamaObject,QWidget *parent = 0);
- ~DlgMusicProperties();
-
-protected:
- virtual void showEvent(QShowEvent *);
- virtual void reject();
- virtual void accept();
-
-private slots:
- void Help();
- void SetSavedWindowGeometry();
- void s_SameMusic();
- void s_SameMusicNormal();
- void s_SameMusicReduceVolume();
- void s_SameMusicPause();
- void s_NewMusic();
- void s_AddMusic();
- void s_RemoveMusic();
- void s_PlayListTable_DoubleClick(QTableWidgetItem *);
- void s_PlayListTable_SelectionChanged();
-
-private:
- void SetupUi();
- Ui::DlgMusicProperties *ui;
-};
-
-#endif // DLGMUSICPROPERTIES_H
diff --git a/src/ffDiaporama/DlgMusicProperties.ui b/src/ffDiaporama/DlgMusicProperties.ui
deleted file mode 100755
index 7cda381..0000000
--- a/src/ffDiaporama/DlgMusicProperties.ui
+++ /dev/null
@@ -1,462 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>DlgMusicProperties</class>
- <widget class="QDialog" name="DlgMusicProperties">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>500</width>
- <height>300</height>
- </rect>
- </property>
- <property name="minimumSize">
- <size>
- <width>500</width>
- <height>300</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- </font>
- </property>
- <property name="windowTitle">
- <string>Music properties</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>4</number>
- </property>
- <property name="margin">
- <number>8</number>
- </property>
- <item>
- <widget class="QRadioButton" name="SameMusicRD">
- <property name="toolTip">
- <string>Allows to continue to play the play list define by a previous slide</string>
- </property>
- <property name="text">
- <string>Continue current playlist (defined in a previous slide)</string>
- </property>
- <attribute name="buttonGroup">
- <string>buttonGroup</string>
- </attribute>
- </widget>
- </item>
- <item>
- <layout class="QGridLayout" name="gridLayout">
- <property name="leftMargin">
- <number>30</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>2</number>
- </property>
- <item row="1" column="0">
- <widget class="QRadioButton" name="SameMusicReduceVolumeRD">
- <property name="toolTip">
- <string>Allows to indicate that from now on, the sound volume is reduced.</string>
- </property>
- <property name="text">
- <string>Change volume level to :</string>
- </property>
- <attribute name="buttonGroup">
- <string>buttonGroup_2</string>
- </attribute>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="VolumeReductionFactorCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>50</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>50</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Define the sound volume for this slide</string>
- </property>
- <property name="currentIndex">
- <number>7</number>
- </property>
- <item>
- <property name="text">
- <string notr="true">90</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">80</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">70</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">60</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">50</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">40</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">30</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">20</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">10</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="1" column="2">
- <widget class="QLabel" name="label_3">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">%</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0" colspan="3">
- <widget class="QRadioButton" name="SameMusicPauseRD">
- <property name="toolTip">
- <string>Set music to pause during this slide</string>
- </property>
- <property name="text">
- <string>Set to pause</string>
- </property>
- <attribute name="buttonGroup">
- <string>buttonGroup_2</string>
- </attribute>
- </widget>
- </item>
- <item row="0" column="0" colspan="3">
- <widget class="QRadioButton" name="SameMusicNormalRD">
- <property name="toolTip">
- <string>No specific settings</string>
- </property>
- <property name="text">
- <string>Normal</string>
- </property>
- <attribute name="buttonGroup">
- <string>buttonGroup_2</string>
- </attribute>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QRadioButton" name="NewMusicRD">
- <property name="toolTip">
- <string>Allows to start a new playlist.</string>
- </property>
- <property name="text">
- <string>Start a new playlist from this slide</string>
- </property>
- <attribute name="buttonGroup">
- <string>buttonGroup</string>
- </attribute>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QToolButton" name="AddMusicBt">
- <property name="toolTip">
- <string>Add a file to the playlist</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/object_sound.png</normaloff>:/img/object_sound.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="RemoveMusicBt">
- <property name="toolTip">
- <string>Remove the current selected file</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/trash.png</normaloff>:/img/trash.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="UpMusicBt">
- <property name="toolTip">
- <string>Change the order in which will be played the music files:
-Move the current selected file of a notch upward.</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/arrow_up.png</normaloff>:/img/arrow_up.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="DownMusicBt">
- <property name="toolTip">
- <string>Change the order in which will be played the music files:
-Move the current selected file of a notch downward.</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/arrow_down.png</normaloff>:/img/arrow_down.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="Label1">
- <property name="text">
- <string>Total playlist duration : </string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="LabelDuration">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">00:00:00</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QTableWidget" name="PlayListTable">
- <property name="editTriggers">
- <set>QAbstractItemView::NoEditTriggers</set>
- </property>
- <property name="showDropIndicator" stdset="0">
- <bool>false</bool>
- </property>
- <property name="dragDropOverwriteMode">
- <bool>false</bool>
- </property>
- <property name="selectionMode">
- <enum>QAbstractItemView::SingleSelection</enum>
- </property>
- <property name="selectionBehavior">
- <enum>QAbstractItemView::SelectRows</enum>
- </property>
- <property name="wordWrap">
- <bool>false</bool>
- </property>
- <property name="cornerButtonEnabled">
- <bool>false</bool>
- </property>
- <attribute name="verticalHeaderVisible">
- <bool>false</bool>
- </attribute>
- <column>
- <property name="text">
- <string>File</string>
- </property>
- <property name="font">
- <font>
- <pointsize>9</pointsize>
- </font>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Duration</string>
- </property>
- <property name="font">
- <font>
- <pointsize>9</pointsize>
- </font>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Volume</string>
- </property>
- <property name="font">
- <font>
- <pointsize>9</pointsize>
- </font>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Source folder</string>
- </property>
- <property name="font">
- <font>
- <pointsize>9</pointsize>
- </font>
- </property>
- </column>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <property name="spacing">
- <number>4</number>
- </property>
- <item>
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="OKBT">
- <property name="toolTip">
- <string>Accept modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Ok</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="CloseBT">
- <property name="toolTip">
- <string>Cancel modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Cancel</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="HelpBT">
- <property name="toolTip">
- <string>Open help page describing this dialog box</string>
- </property>
- <property name="text">
- <string>&Help</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
- </property>
- <property name="shortcut">
- <string>F1</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <tabstops>
- <tabstop>SameMusicRD</tabstop>
- <tabstop>SameMusicNormalRD</tabstop>
- <tabstop>SameMusicReduceVolumeRD</tabstop>
- <tabstop>VolumeReductionFactorCB</tabstop>
- <tabstop>SameMusicPauseRD</tabstop>
- <tabstop>NewMusicRD</tabstop>
- <tabstop>AddMusicBt</tabstop>
- <tabstop>RemoveMusicBt</tabstop>
- <tabstop>UpMusicBt</tabstop>
- <tabstop>DownMusicBt</tabstop>
- <tabstop>PlayListTable</tabstop>
- <tabstop>OKBT</tabstop>
- <tabstop>CloseBT</tabstop>
- </tabstops>
- <resources>
- <include location="../../RSCffDiaporama.qrc"/>
- <include location="../../RSCffDiaporama.qrc"/>
- </resources>
- <connections/>
- <buttongroups>
- <buttongroup name="buttonGroup_2"/>
- <buttongroup name="buttonGroup"/>
- </buttongroups>
-</ui>
diff --git a/src/ffDiaporama/DlgRenderVideo.cpp b/src/ffDiaporama/DlgRenderVideo.cpp
deleted file mode 100755
index 9384b5c..0000000
--- a/src/ffDiaporama/DlgRenderVideo.cpp
+++ /dev/null
@@ -1,1515 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "../sharedfiles/DlgffDPjrProperties.h"
-#include "DlgRenderVideo.h"
-#include "ui_DlgRenderVideo.h"
-#include "mainwindow.h"
-
-#include <QFileDialog>
-#include <QMessageBox>
-#include <QFutureWatcher>
-
-//====================================================================================================================
-
-DlgRenderVideo::DlgRenderVideo(cDiaporama &TheDiaporama,int TheExportMode,QWidget *parent):QDialog(parent),ui(new Ui::DlgRenderVideo) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::DlgRenderVideo");
-
- ui->setupUi(this);
- Diaporama =&TheDiaporama;
- ExportMode =TheExportMode;
- IsDestFileOpen =false;
- StopSpinboxRecursion=false;
- Language =Diaporama->ProjectInfo->DefaultLanguage;
-
- setWindowFlags((windowFlags()|Qt::CustomizeWindowHint|Qt::WindowSystemMenuHint|Qt::WindowMaximizeButtonHint)&(~Qt::WindowMinimizeButtonHint));
-
- switch (ExportMode) {
- case EXPORTMODE_ADVANCED : setWindowTitle(QApplication::translate("DlgRenderVideo","Advanced render video")); break;
- case MODE_SMARTPHONE : setWindowTitle(QApplication::translate("DlgRenderVideo","Render video for mobil player and smartphone")); break;
- case MODE_MULTIMEDIASYS : setWindowTitle(QApplication::translate("DlgRenderVideo","Render video for multimedia system")); break;
- case MODE_FORTHEWEB : setWindowTitle(QApplication::translate("DlgRenderVideo","Render video for the WEB")); break;
- }
-
- // For the first step, only SelectDestWidget is display and enable
- ui->SelectDestScroll->setEnabled(true); ui->SelectDestScroll->setVisible(true);
- ui->ProcessWidget->setEnabled(false); ui->ProcessWidget->setVisible(false);
-
- QString FolderProject=Diaporama->ProjectFileName;
- if (FolderProject!="") {
- FolderProject=QFileInfo(FolderProject).absolutePath();
- if (FolderProject.endsWith(QDir::separator())) {
- FolderProject=QFileInfo(Diaporama->ProjectFileName).baseName();
- } else if (FolderProject.lastIndexOf(QDir::separator())>0) FolderProject=FolderProject.mid(FolderProject.lastIndexOf(QDir::separator())+1);
- }
-
- // Output file
- OutputFileName=Diaporama->ApplicationConfig->LastRenderVideoPath+
- (Diaporama->ApplicationConfig->LastRenderVideoPath.endsWith(QDir::separator())?"":QString(QDir::separator()))+
- (Diaporama->ProjectFileName!=""?
- (Diaporama->ApplicationConfig->DefaultNameProjectName==1?QFileInfo(Diaporama->ProjectFileName).baseName():
- (((Diaporama->ApplicationConfig->DefaultNameProjectName==2)&&(Diaporama->ProjectInfo->Title!=""))?Diaporama->ProjectInfo->Title:FolderProject)):
- QApplication::translate("DlgRenderVideo","movie","Default name for rendering"));
-
- OutputFileFormat = Diaporama->ApplicationConfig->DefaultFormat;
- VideoCodec = Diaporama->ApplicationConfig->DefaultVideoCodec;
- VideoFrameRate = 25;
- VideoBitRate = Diaporama->ApplicationConfig->DefaultVideoBitRate;
- AudioCodec = Diaporama->ApplicationConfig->DefaultAudioCodec;
- AudioFrequency = 48000;
- AudioBitRate = Diaporama->ApplicationConfig->DefaultAudioBitRate;
- ImageSize = Diaporama->ApplicationConfig->DefaultImageSize;
- Standard = Diaporama->ApplicationConfig->DefaultStandard;
-
- ui->IncludeSoundCB->setChecked(true);
- connect(ui->IncludeSoundCB,SIGNAL(clicked()),this,SLOT(s_IncludeSound()));
-
- if (ExportMode==EXPORTMODE_ADVANCED) {
-
- ui->DeviceTypeLabel->setVisible(false);
- ui->DeviceTypeCB->setVisible(false);
- ui->DeviceModelCB->setVisible(false);
- ui->DeviceModelLabel->setVisible(false);
- ui->RenderFormatText->setVisible(false);
- ui->VideoFormatCB->view()->setFixedWidth(400);
- ui->AudioFormatCB->view()->setFixedWidth(400);
-
- // Init format container combo
- for (int i=0;i<NBR_FORMATDEF;i++) if (FORMATDEF[i].IsFind) {
- ui->FileFormatCB->addItem(FORMATDEF[i].LongName,QVariant(i));
- if (i==OutputFileFormat) {
- ui->FileFormatCB->setCurrentIndex(ui->FileFormatCB->count()-1);
- FileFormatCombo(i);
- }
- }
-
- connect(ui->FileFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(FileFormatCombo(int)));
-
- // Video standard & geometry
- ui->GeometryCombo->setEnabled(false);
- ui->GeometryCombo->setCurrentIndex(Diaporama->ImageGeometry);
- ui->StandardCombo->setCurrentIndex(Diaporama->ApplicationConfig->DefaultStandard);
- connect(ui->GeometryCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(InitImageSizeCombo(int)));
- connect(ui->StandardCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(InitImageSizeCombo(int)));
-
- // Image size
- InitImageSizeCombo(0);
- ui->ImageSizeCombo->setCurrentIndex(ui->ImageSizeCombo->findText(DefImageFormat[Diaporama->ApplicationConfig->DefaultStandard][Diaporama->ImageGeometry][Diaporama->ApplicationConfig->DefaultImageSize].Name));
- connect(ui->ImageSizeCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(InitVideoBitRateCB(int)));
-
- // codec(s) & bitrate(s)
- FileFormatCombo(0);
- InitVideoBitRateCB(-1);
- InitAudioBitRateCB(-1);
-
- ui->AudioFormatLabel->setEnabled(ui->IncludeSoundCB->isChecked());
- ui->AudioFormatCB->setEnabled(ui->IncludeSoundCB->isChecked());
- ui->AudioBitRateLabel->setEnabled(ui->IncludeSoundCB->isChecked());
- ui->AudioBitRateCB->setEnabled(ui->IncludeSoundCB->isChecked());
-
- connect(ui->VideoFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(InitVideoBitRateCB(int)));
- connect(ui->AudioFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(InitAudioBitRateCB(int)));
-
- } else {
- ui->FileFormatLabel->setVisible(false); ui->FileFormatCB->setVisible(false);
- ui->GeometryLabel->setVisible(false); ui->GeometryCombo->setVisible(false);
- ui->StandardLabel->setVisible(false); ui->StandardCombo->setVisible(false);
- ui->VideoFormatLabel->setVisible(false); ui->VideoFormatCB->setVisible(false);
- ui->VideoBitRateLabel->setVisible(false); ui->VideoBitRateCB->setVisible(false);
-
- ui->AudioFormatLabel->setVisible(false); ui->AudioFormatLabel->setEnabled(false);
- ui->AudioFormatCB->setVisible(false); ui->AudioFormatCB->setEnabled(false);
- ui->AudioBitRateLabel->setVisible(false); ui->AudioBitRateLabel->setEnabled(false);
- ui->AudioBitRateCB->setVisible(false); ui->AudioBitRateCB->setEnabled(false);
-
- QStringList List;
- int Default=ExportMode==MODE_SMARTPHONE?Diaporama->ApplicationConfig->DefaultSmartphoneType:
- ExportMode==MODE_MULTIMEDIASYS?Diaporama->ApplicationConfig->DefaultMultimediaType:
- ExportMode==MODE_FORTHEWEB?Diaporama->ApplicationConfig->DefaultForTheWEBType:
- Diaporama->ApplicationConfig->DefaultLossLess;
- if (ExportMode!=MODE_LOSSLESS) {
- ui->ImageSizeLabel->setVisible(false);
- ui->ImageSizeCombo->setVisible(false);
- ui->DeviceTypeLabel->setVisible(true);
- ui->DeviceTypeCB->setVisible(true);
- ui->DeviceModelCB->setVisible(true);
- ui->DeviceModelLabel->setVisible(true);
- for (int i=0;i<Diaporama->ApplicationConfig->DeviceModelList.TranslatedRenderSubtype[ExportMode].count();i++) List.append(Diaporama->ApplicationConfig->DeviceModelList.TranslatedRenderSubtype[ExportMode][i]+"#"+QString("%1").arg(i));
- List.sort();
- for (int i=0;i<List.count();i++) {
- QString Item=List[i];
- int ItemData=Item.mid(Item.lastIndexOf("#")+1).toInt();
- Item=Item.left(Item.lastIndexOf("#"));
- ui->DeviceTypeCB->addItem(Item,QVariant(ItemData));
- if (Default==ItemData) ui->DeviceTypeCB->setCurrentIndex(i);
- }
-
- s_DeviceTypeCB(0);
- s_DeviceModelCB(0);
- connect(ui->DeviceTypeCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_DeviceTypeCB(int)));
- connect(ui->DeviceModelCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_DeviceModelCB(int)));
- } else {
- ui->ImageSizeLabel->setVisible(true);
- ui->ImageSizeCombo->setVisible(true);
- ui->DeviceTypeLabel->setVisible(false);
- ui->DeviceTypeCB->setVisible(false);
- ui->DeviceModelCB->setVisible(false);
- ui->DeviceModelLabel->setVisible(false);
- InitImageSizeCombo(0);
- ui->ImageSizeCombo->setCurrentIndex(ui->ImageSizeCombo->findText(DefImageFormat[Diaporama->ApplicationConfig->DefaultStandard][Diaporama->ImageGeometry][Diaporama->ApplicationConfig->DefaultLossLess].Name));
- InitVideoBitRateCB(0);
- connect(ui->ImageSizeCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(InitVideoBitRateCB(int)));
- }
- }
-
- ui->LanguageED->setText(Language);
- ui->RenderZoneAllBt->setChecked(true);
- ui->RenderZoneFromBt->setChecked(false);
- ui->RenderZoneFromED->setEnabled(ui->RenderZoneFromBt->isChecked());
- ui->RenderZoneToED->setEnabled(ui->RenderZoneFromBt->isChecked());
- ui->RenderZoneTo->setEnabled(ui->RenderZoneFromBt->isChecked());
- ui->RenderZoneFromED->setRange(1,Diaporama->List.count());
- ui->RenderZoneFromED->setValue(1);
- ui->RenderZoneToED->setRange(1,Diaporama->List.count());
- ui->RenderZoneToED->setValue(Diaporama->List.count());
- connect(ui->RenderZoneAllBt,SIGNAL(clicked()),this,SLOT(SetZoneToAll()));
- connect(ui->RenderZoneFromBt,SIGNAL(clicked()),this,SLOT(SetZoneToPartial()));
-
- ui->DestinationFilePath->setText(OutputFileName);
- AdjustDestinationFile();
- connect(ui->DestinationFilePathBT,SIGNAL(clicked()),this,SLOT(SelectDestinationFile()));
- connect(ui->DestinationFilePath,SIGNAL(editingFinished()),this,SLOT(AdjustDestinationFile()));
-
- // Define handler
- connect(ui->CancelBt,SIGNAL(clicked()),this,SLOT(reject()));
- connect(ui->OkBt,SIGNAL(clicked()),this,SLOT(accept()));
- connect(ui->HelpBT,SIGNAL(clicked()),this,SLOT(Help()));
- connect(ui->ProjectPropertiesBt,SIGNAL(clicked()),this,SLOT(ProjectProperties()));
-}
-
-//====================================================================================================================
-
-DlgRenderVideo::~DlgRenderVideo() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::~DlgRenderVideo");
-
- delete ui;
-}
-
-//====================================================================================================================
-
-void DlgRenderVideo::Help() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::Help");
-
- GlobalMainWindow->OpenHelp(HELPFILE_DlgRenderVideo);
-}
-
-//====================================================================================================================
-
-void DlgRenderVideo::ProjectProperties() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::ProjectProperties");
-
- DlgffDPjrProperties Dlg(Diaporama->ProjectInfo,HELPFILE_DlgffDPjrProperties,GlobalMainWindow->ApplicationConfig,GlobalMainWindow->ApplicationConfig->DlgffDPjrPropertiesWSP,this);
- Dlg.InitDialog();
- if (Dlg.exec()==0) GlobalMainWindow->SetModifyFlag(true);
-}
-
-//====================================================================================================================
-
-void DlgRenderVideo::SetZoneToAll() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::SetZoneToAll");
-
- ui->RenderZoneAllBt->setChecked(true);
- ui->RenderZoneFromBt->setChecked(false);
- ui->RenderZoneFromED->setEnabled(ui->RenderZoneFromBt->isChecked());
- ui->RenderZoneToED->setEnabled(ui->RenderZoneFromBt->isChecked());
- ui->RenderZoneTo->setEnabled(ui->RenderZoneFromBt->isChecked());
-}
-
-//====================================================================================================================
-
-void DlgRenderVideo::SetZoneToPartial() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::SetZoneToPartial");
-
- ui->RenderZoneAllBt->setChecked(false);
- ui->RenderZoneFromBt->setChecked(true);
- ui->RenderZoneFromED->setEnabled(ui->RenderZoneFromBt->isChecked());
- ui->RenderZoneToED->setEnabled(ui->RenderZoneFromBt->isChecked());
- ui->RenderZoneTo->setEnabled(ui->RenderZoneFromBt->isChecked());
-}
-
-//====================================================================================================================
-
-void DlgRenderVideo::s_DeviceTypeCB(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::s_DeviceTypeCB");
-
- ui->DeviceModelCB->clear();
- int ItemData=ui->DeviceTypeCB->currentIndex();
- if (ItemData>=0) ItemData=ui->DeviceTypeCB->itemData(ItemData).toInt();
- QStringList List;
- for (int i=0;i<Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel.count();i++)
- if ((Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceType==ExportMode)&&(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceSubtype==ItemData))
- List.append(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName);
- List.sort();
- ui->DeviceModelCB->addItems(List);
- int i=0;
- int ToFind=(ExportMode==MODE_SMARTPHONE)?Diaporama->ApplicationConfig->DefaultSmartphoneModel:
- (ExportMode==MODE_MULTIMEDIASYS)?Diaporama->ApplicationConfig->DefaultMultimediaModel:
- Diaporama->ApplicationConfig->DefaultForTheWEBModel;
- while ((i<Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex!=ToFind)) i++;
- if (Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex==ToFind)
- ui->DeviceModelCB->setCurrentIndex(ui->DeviceModelCB->findText(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName));
-}
-
-//====================================================================================================================
-
-void DlgRenderVideo::InitImageSizeCombo(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::InitImageSizeCombo");
- int Geometry=(ExportMode!=MODE_LOSSLESS?ui->GeometryCombo->currentIndex():Diaporama->ImageGeometry);
- int Standard=(ExportMode!=MODE_LOSSLESS?ui->StandardCombo->currentIndex():Diaporama->ApplicationConfig->DefaultStandard);
- int ImageSize=ui->ImageSizeCombo->currentIndex();
- ui->ImageSizeCombo->clear();
- QStringList List;
- for (int i=0;i<NBR_SIZEDEF;i++) List.append(QString("%1:%2#####%3").arg(DefImageFormat[Standard][Geometry][i].Name).arg(ORDERIMAGENAME[i]).arg(i));
- // Sort List
- for (int i=0;i<List.count();i++) for (int j=0;j<List.count()-1;j++) {
- QString StrA=List[j].mid(List[j].lastIndexOf(":")+1); StrA=StrA.left(StrA.indexOf("#"));
- QString StrB=List[j+1].mid(List[j+1].lastIndexOf(":")+1); StrB=StrB.left(StrB.indexOf("#"));
- if (StrA.toInt()>StrB.toInt()) List.swap(j,j+1);
- }
- // Fill combo
- for (int i=0;i<List.count();i++) {
- QString Codec=List[i].left(List[i].indexOf("#####")); Codec=Codec.left(Codec.lastIndexOf(":"));
- int Index=List[i].mid(List[i].indexOf("#####")+QString("#####").length()).toInt();
- ui->ImageSizeCombo->addItem(Codec,QVariant(Index));
- }
- ui->ImageSizeCombo->setCurrentIndex(ImageSize);
-}
-
-//====================================================================================================================
-
-void DlgRenderVideo::SelectDestinationFile() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::SelectDestinationFile");
-
- QString FileFormat;
- if (ExportMode==EXPORTMODE_ADVANCED) {
- int OutputFileFormat=ui->FileFormatCB->itemData(ui->FileFormatCB->currentIndex()).toInt();
- FileFormat=QString(FORMATDEF[OutputFileFormat].LongName)+" (*."+QString(FORMATDEF[OutputFileFormat].FileExtension)+")";
- } else {
- QString Device=ui->DeviceModelCB->currentText();
- int i=0;
- while ((i<Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName!=Device)) i++;
- if (i<Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel.count()) {
- FileFormat=QString(FORMATDEF[Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->FileFormat].LongName)+" (*."+
- QString(FORMATDEF[Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->FileFormat].FileExtension)+")";
- }
- }
- QString Path=QFileInfo(ui->DestinationFilePath->text()).absolutePath();
- QString OutputFileName =QFileDialog::getSaveFileName(this,QApplication::translate("DlgRenderVideo","Select destination file"),Path,FileFormat);
- if (OutputFileName!="") {
- Diaporama->ApplicationConfig->LastRenderVideoPath=QFileInfo(OutputFileName).dir().absolutePath();
- ui->DestinationFilePath->setText(OutputFileName);
- AdjustDestinationFile();
- }
-}
-
-//====================================================================================================================
-
-void DlgRenderVideo::FileFormatCombo(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::FileFormatCombo");
-
- AdjustDestinationFile();
-
- ui->VideoFormatCB->clear();
- ui->AudioFormatCB->clear();
-
- //********* Video codec part
- int CurrentFormat=ui->FileFormatCB->itemData(ui->FileFormatCB->currentIndex()).toInt();
- QString AllowedCodec=FORMATDEF[CurrentFormat].PossibleVideoCodec;
- QString Codec="";
- QString ToSelect="";
- QStringList List;
- int Index=0;
- while (AllowedCodec.length()>0) {
- Index=AllowedCodec.indexOf("#");
- if (Index>0) {
- Codec=AllowedCodec.left(Index);
- AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1);
- } else {
- Codec=AllowedCodec;
- AllowedCodec="";
- }
- // Now find index of this codec in the VIDEOCODECDEF
- Index=0;
- while ((Index<NBR_VIDEOCODECDEF)&&(Codec!=QString(VIDEOCODECDEF[Index].FFD_VCODECST))) Index++;
- if ((Index<NBR_VIDEOCODECDEF)&&(VIDEOCODECDEF[Index].IsFind)) {
- List.append(QString("%1#####%2").arg(VIDEOCODECDEF[Index].LongName).arg(Index));
- if (Codec==QString(VideoCodec)) ToSelect=QString(VIDEOCODECDEF[Index].LongName);
- }
- }
- // Sort List
- for (int i=0;i<List.count();i++) for (int j=0;j<List.count()-1;j++) if (List[j]>List[j+1]) List.swap(j,j+1);
- // Fill combo
- for (int i=0;i<List.count();i++) {
- Codec=List[i].left(List[i].indexOf("#####"));
- Index=List[i].mid(List[i].indexOf("#####")+QString("#####").length()).toInt();
- ui->VideoFormatCB->addItem(Codec,QVariant(Index));
- }
- // Set current selection
- if (ui->VideoFormatCB->findText(ToSelect)!=-1) ui->VideoFormatCB->setCurrentIndex(ui->VideoFormatCB->findText(ToSelect));
- else ui->VideoFormatCB->setCurrentIndex(0);
- ui->VideoFormatCB->setEnabled(ui->VideoFormatCB->count()>0);
-
- //********* Audio codec part
- AllowedCodec=FORMATDEF[CurrentFormat].PossibleAudioCodec;
- Codec="";
- Index=0;
- ToSelect="";
- List.clear();
- while (AllowedCodec.length()>0) {
- Index=AllowedCodec.indexOf("#");
- if (Index>0) {
- Codec=AllowedCodec.left(Index);
- AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1);
- } else {
- Codec=AllowedCodec;
- AllowedCodec="";
- }
- // Now find index of this codec in the AUDIOCODECDEF
- Index=0;
- while ((Index<NBR_AUDIOCODECDEF)&&(Codec!=QString(AUDIOCODECDEF[Index].ShortName))) Index++;
- if ((Index<NBR_AUDIOCODECDEF)&&(AUDIOCODECDEF[Index].IsFind)) {
- List.append(QString("%1#####%2").arg(AUDIOCODECDEF[Index].LongName).arg(Index));
- if (Codec==QString(AudioCodec)) ToSelect=QString(AUDIOCODECDEF[Index].LongName);
- }
- }
- // Sort List
- for (int i=0;i<List.count();i++) for (int j=0;j<List.count()-1;j++) if (List[j]>List[j+1]) List.swap(j,j+1);
- // Fill combo
- for (int i=0;i<List.count();i++) {
- Codec=List[i].left(List[i].indexOf("#####"));
- Index=List[i].mid(List[i].indexOf("#####")+QString("#####").length()).toInt();
- ui->AudioFormatCB->addItem(Codec,QVariant(Index));
- }
- // Set current selection
- if (ui->AudioFormatCB->findText(ToSelect)!=-1) ui->AudioFormatCB->setCurrentIndex(ui->AudioFormatCB->findText(ToSelect));
- else ui->AudioFormatCB->setCurrentIndex(0);
- ui->AudioFormatCB->setEnabled(ui->AudioFormatCB->count()>0);
-}
-
-//====================================================================================================================
-
-void DlgRenderVideo::InitVideoBitRateCB(int ChangeIndex) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::InitVideoBitRateCB");
-
- if (ExportMode==MODE_LOSSLESS) {
- QString Text="Format=\tMKV\nVideo=\tx264 lossless";
- int ImgSize=ImageSize=ui->ImageSizeCombo->itemData(ui->ImageSizeCombo->currentIndex()).toInt();
- int ExtendH =0;
- int ExtendV =0;
- int W=DefImageFormat[Standard][Diaporama->ImageGeometry][ImgSize].Width;
- int H=DefImageFormat[Standard][Diaporama->ImageGeometry][ImgSize].Height;
- Text=Text+QString("-%1").arg(W)+"x"+QString("%1").arg(H);
- if (ExtendH>0) Text=Text+"+PADLEFT:"+QString("%1").arg(ExtendH/2)+"+PADRIGHT:"+QString("%1").arg(ExtendH-ExtendH/2);
- if (ExtendV>0) Text=Text+"+PADTOP:"+QString("%1").arg(ExtendV/2)+"+PADBOTTOM:"+QString("%1").arg(ExtendV-ExtendV/2);
- if (ui->IncludeSoundCB->isChecked()) Text=Text+"\nAudio=\tFLAC";
- ui->RenderFormatText->setText(Text);
- AdjustDestinationFile();
- } else {
- ui->VideoBitRateCB->clear();
- int CurrentCodec=ui->VideoFormatCB->currentIndex();
- int CurrentSize =ui->ImageSizeCombo->itemData(ui->ImageSizeCombo->currentIndex()).toInt();
- if (CurrentCodec>=0) {
- CurrentCodec=ui->VideoFormatCB->itemData(CurrentCodec).toInt();
-
- QString AllowedBitRate;
- QString BitRate="";
- int Index=0;
- bool IsFindBitRate=false;
- AllowedBitRate=VIDEOCODECDEF[CurrentCodec].PossibleBitrate;
- BitRate="";
- Index=0;
- IsFindBitRate=false;
- QStringList List;
- while (AllowedBitRate.length()>0) {
- Index=AllowedBitRate.indexOf("#");
- if (Index>0) {
- BitRate=AllowedBitRate.left(Index);
- AllowedBitRate=AllowedBitRate.right(AllowedBitRate.length()-Index-1);
- } else {
- BitRate=AllowedBitRate;
- AllowedBitRate="";
- }
- List.append(BitRate);
- }
- for (int i=0;i<List.count();i++) for (int j=0;j<List.count()-1;j++) {
- QString NameA=List[j]; if (NameA.endsWith("k")) NameA=NameA.left(NameA.length()-1);
- int NumA=NameA.toInt();
- QString NameB=List[j+1]; if (NameB.endsWith("k")) NameB=NameB.left(NameB.length()-1);
- int NumB=NameB.toInt();
- if (NumA>NumB) List.swap(j,j+1);
- }
- for (int i=0;i<List.count();i++) {
- ui->VideoBitRateCB->addItem(List[i]);
- if ((ChangeIndex==-1)&&(List[i]==QString("%1k").arg(VideoBitRate))) {
- ui->VideoBitRateCB->setCurrentIndex(ui->VideoBitRateCB->count()-1);
- IsFindBitRate=true;
- }
- }
- if (!IsFindBitRate) ui->VideoBitRateCB->setCurrentIndex(ui->VideoBitRateCB->findText(VIDEOCODECDEF[CurrentCodec].DefaultBitrate[CurrentSize]));
- ui->VideoBitRateCB->setEnabled(ui->VideoBitRateCB->count()>1);
- } else ui->VideoBitRateCB->setEnabled(false);
- }
-}
-
-//====================================================================================================================
-
-void DlgRenderVideo::InitAudioBitRateCB(int ChangeIndex) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::InitAudioBitRateCB");
-
- ui->AudioBitRateCB->clear();
- int CurrentCodec=ui->AudioFormatCB->currentIndex();
- if (CurrentCodec>=0) {
- CurrentCodec=ui->AudioFormatCB->itemData(CurrentCodec).toInt();
-
- QString AllowedBitRate;
- QString BitRate="";
- int Index=0;
- bool IsFindBitRate=false;
- AllowedBitRate=AUDIOCODECDEF[CurrentCodec].PossibleBitrate2CH;
- BitRate="";
- Index=0;
- IsFindBitRate=false;
- QStringList List;
- while (AllowedBitRate.length()>0) {
- Index=AllowedBitRate.indexOf("#");
- if (Index>0) {
- BitRate=AllowedBitRate.left(Index);
- AllowedBitRate=AllowedBitRate.right(AllowedBitRate.length()-Index-1);
- } else {
- BitRate=AllowedBitRate;
- AllowedBitRate="";
- }
- List.append(BitRate);
- }
- for (int i=0;i<List.count();i++) for (int j=0;j<List.count()-1;j++) {
- QString NameA=List[j]; if (NameA.endsWith("k")) NameA=NameA.left(NameA.length()-1);
- int NumA=NameA.toInt();
- QString NameB=List[j+1]; if (NameB.endsWith("k")) NameB=NameB.left(NameB.length()-1);
- int NumB=NameB.toInt();
- if (NumA>NumB) List.swap(j,j+1);
- }
- for (int i=0;i<List.count();i++) {
- ui->AudioBitRateCB->addItem(List[i]);
- if ((ChangeIndex==-1)&&(List[i]==QString("%1k").arg(AudioBitRate))) {
- ui->AudioBitRateCB->setCurrentIndex(ui->AudioBitRateCB->count()-1);
- IsFindBitRate=true;
- }
- }
- if (!IsFindBitRate) ui->AudioBitRateCB->setCurrentIndex(ui->AudioBitRateCB->findText(AUDIOCODECDEF[CurrentCodec].Default));
- ui->AudioBitRateCB->setEnabled(ui->AudioBitRateCB->count()>1);
- } else ui->AudioBitRateCB->setEnabled(false);
-}
-
-//====================================================================================================================
-
-void DlgRenderVideo::AdjustDestinationFile() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::AdjustDestinationFile");
-
- QString FileFormat;
- if (ExportMode==EXPORTMODE_ADVANCED) {
- int OutputFileFormat=ui->FileFormatCB->itemData(ui->FileFormatCB->currentIndex()).toInt();
- FileFormat=FORMATDEF[OutputFileFormat].FileExtension;
- } else {
- if (ExportMode!=MODE_LOSSLESS) {
- QString Device=ui->DeviceModelCB->currentText();
- int i=0;
- while ((i<Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName!=Device)) i++;
- if (i<Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel.count()) {
- FileFormat=QString(FORMATDEF[Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->FileFormat].FileExtension);
- }
- } else {
- FileFormat="mkv";
- }
- }
- QString OutputFileName =ui->DestinationFilePath->text();
-
- OutputFileName=QFileInfo(OutputFileName).absoluteFilePath();
- if (QFileInfo(OutputFileName).suffix().length()>0) OutputFileName=OutputFileName.left(OutputFileName.length()-QFileInfo(OutputFileName).suffix().length()-1);
- if (OutputFileName.endsWith(".")) OutputFileName=OutputFileName.left(OutputFileName.length()-1);
- OutputFileName=AdjustDirForOS(OutputFileName+"."+FileFormat);
- ui->DestinationFilePath->setText(OutputFileName);
-}
-
-//====================================================================================================================
-
-void DlgRenderVideo::SetSavedWindowGeometry() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::SetSavedWindowGeometry");
-
- Diaporama->ApplicationConfig->DlgRenderVideoWSP->ApplyToWindow(this);
-}
-
-//====================================================================================================================
-
-void DlgRenderVideo::showEvent(QShowEvent *ev) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::showEvent");
-
- QDialog::showEvent(ev);
- QTimer::singleShot(0,this,SLOT(SetSavedWindowGeometry()));
-}
-
-//====================================================================================================================
-
-void DlgRenderVideo::reject() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::reject");
-
- if (IsDestFileOpen) {
- StopProcessWanted=true;
- ToLog(LOGMSG_INFORMATION,QApplication::translate("DlgRenderVideo","Stop rendering"));
- } else {
- // Save Window size and position
- Diaporama->ApplicationConfig->DlgRenderVideoWSP->SaveWindowState(this);
- done(1);
- }
-}
-
-//====================================================================================================================
-
-void DlgRenderVideo::s_IncludeSound() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::s_IncludeSound");
-
- ui->AudioFormatLabel->setEnabled(ui->IncludeSoundCB->isChecked());
- ui->AudioFormatCB->setEnabled(ui->IncludeSoundCB->isChecked());
- ui->AudioBitRateLabel->setEnabled(ui->IncludeSoundCB->isChecked());
- ui->AudioBitRateCB->setEnabled(ui->IncludeSoundCB->isChecked());
- if (ExportMode!=EXPORTMODE_ADVANCED) s_DeviceModelCB(ui->DeviceModelCB->currentIndex());
-}
-
-//====================================================================================================================
-
-void DlgRenderVideo::s_DeviceModelCB(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::s_DeviceModelCB");
-
- QString Device=ui->DeviceModelCB->currentText();
- int i=0;
- while ((i<Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName!=Device)) i++;
- if (i<Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel.count()) {
- int Standard=Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->Standard;
- QString Text="Format=\t"+QString(FORMATDEF[Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->FileFormat].LongName)+"\nVideo=\t";
- Text=Text+VIDEOCODECDEF[Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->VideoCodec].LongName;
- int ImgSize=Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->ImageSize;
- int ExtendH =0;
- int ExtendV =0;
- int W=DefImageFormat[Standard][Diaporama->ImageGeometry][ImgSize].Width;
- int H=DefImageFormat[Standard][Diaporama->ImageGeometry][ImgSize].Height;
- Text=Text+QString("-%1").arg(W)+"x"+QString("%1").arg(H);
- if (ExtendH>0) Text=Text+"+PADLEFT:"+QString("%1").arg(ExtendH/2)+"+PADRIGHT:"+QString("%1").arg(ExtendH-ExtendH/2);
- if (ExtendV>0) Text=Text+"+PADTOP:"+QString("%1").arg(ExtendV/2)+"+PADBOTTOM:"+QString("%1").arg(ExtendV-ExtendV/2);
-
- QString VideoBitRateStr=QString("%1").arg(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->VideoBitrate); if (VideoBitRateStr.endsWith("000")) VideoBitRateStr=VideoBitRateStr.left(VideoBitRateStr.length()-3)+"k";
- QString AudioBitRateStr=QString("%1").arg(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->AudioBitrate); if (AudioBitRateStr.endsWith("000")) AudioBitRateStr=AudioBitRateStr.left(AudioBitRateStr.length()-3)+"k";
-
- Text=Text+"-"+VideoBitRateStr+"b/s";
- if (ui->IncludeSoundCB->isChecked()) Text=Text+"\nAudio=\t"+AUDIOCODECDEF[Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->AudioCodec].LongName+"-"+AudioBitRateStr+"b/s";
- ui->RenderFormatText->setText(Text);
-
- } else ui->RenderFormatText->setText("");
- AdjustDestinationFile();
-}
-
-//====================================================================================================================
-
-void DlgRenderVideo::accept() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::accept");
-
- cDiaporamaObjectInfo *PreviousFrame =NULL;
- cDiaporamaObjectInfo *Frame =NULL;
- QString TempWAVFileName="",TempMETAFileName="";
- QString vCodec="";
- QString aCodec="";
- QString TAG="";
- QString ffmpegCommand;
- int W,H;
- QProcess Process;
- bool RefreshDisplay;
- int DurationProcess; // Display informations
- QString DisplayText; // Display informations
-
- int UpdateWidth=0;
-
- if (IsDestFileOpen) {
- StopProcessWanted=true;
- ToLog(LOGMSG_INFORMATION,QApplication::translate("DlgRenderVideo","Stop rendering"));
- } else {
- RenderedFrame=0;
- int FromSlide=(ui->RenderZoneFromBt->isChecked())?ui->RenderZoneFromED->value()-1:0;
- int ToSlide =(ui->RenderZoneFromBt->isChecked())?ui->RenderZoneToED->value()-1:Diaporama->List.count()-1;
-
- if (FromSlide>ToSlide) {
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Range selection"),
- QApplication::translate("DlgRenderVideo","Slide range is defined to incorrect values"));
- ui->RenderZoneToED->setFocus();
- return;
- }
-
- Language=ui->LanguageED->text();
- if (Language=="") Language="und";
- if (Language.length()!=3) {
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Language selection"),
- QApplication::translate("DlgRenderVideo","Language must be empty or an ISO 639 language code (3 characters)\nSee help for more details!"));
- ui->LanguageED->setFocus();
- return;
- }
-
- if (OutputFileName !=ui->DestinationFilePath->text()) OutputFileName=ui->DestinationFilePath->text();
-
- if ((QFileInfo(OutputFileName).exists())&&(CustomMessageBox(this,QMessageBox::Question,QApplication::translate("DlgRenderVideo","Overwrite file ?"),
- QApplication::translate("DlgRenderVideo","The file you selected already exist.\nDo you want to overwrite it ?"),
- QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)!=QMessageBox::Yes)) return;
-
- // Get values from controls
- QString Preset="";
- int ExtendH=0;
- int ExtendV=0;
- int Channels=2;
-
- if (ExportMode==EXPORTMODE_ADVANCED) {
- Standard =ui->StandardCombo->currentIndex();
- ImageSize=ui->ImageSizeCombo->itemData(ui->ImageSizeCombo->currentIndex()).toInt();
-
- OutputFileFormat=ui->FileFormatCB->itemData(ui->FileFormatCB->currentIndex()).toInt();
- VideoFrameRate =DefImageFormat[ui->StandardCombo->currentIndex()][ui->GeometryCombo->currentIndex()][ImageSize].dFPS;
- // Video codec
- VideoCodecIndex=ui->VideoFormatCB->currentIndex();
- if (VideoCodecIndex<0) {
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Video codec error!");
- done(0);
- return;
- }
- VideoCodecIndex=ui->VideoFormatCB->itemData(VideoCodecIndex).toInt();
- QString BitRate=ui->VideoBitRateCB->currentText();
- if (BitRate.endsWith("k")) BitRate=BitRate.left(BitRate.length()-1)+"000";
- VideoBitRate=BitRate.toInt();
-
- // Audio codec
- AudioCodecIndex=ui->AudioFormatCB->currentIndex();
- if (AudioCodecIndex<0) {
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Audio codec error!");
- done(0);
- return;
- }
- AudioCodecIndex=ui->AudioFormatCB->itemData(AudioCodecIndex).toInt();
- BitRate=ui->AudioBitRateCB->currentText();
- if (BitRate.endsWith("k")) BitRate=BitRate.left(BitRate.length()-1)+"000";
- AudioBitRate=BitRate.toInt();
- ExtendV =DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].Extend*2;
-
- } else if (ExportMode==MODE_LOSSLESS) {
-
- Standard =Diaporama->ApplicationConfig->DefaultStandard;
- ImageSize =ui->ImageSizeCombo->itemData(ui->ImageSizeCombo->currentIndex()).toInt();
- VideoFrameRate =DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].dFPS;
- OutputFileFormat=2; // MKV
- VideoCodecIndex =8; // x264 lossless
- AudioCodecIndex =7; // FLAC
- VideoBitRate =0; // Not use
- AudioBitRate =0; // Not use
-
- } else {
-
- OutputFileFormat=0;
- QString Device=ui->DeviceModelCB->currentText();
- if (Device=="") {
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Device model selection"),
- QApplication::translate("DlgRenderVideo","A device model is require!"));
- ui->DeviceModelCB->setFocus();
- return;
- }
- int i=0;
- while ((i<Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName!=Device)) i++;
- if (i<Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel.count()) {
- Standard=Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->Standard;
- OutputFileFormat=Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->FileFormat;
- VideoCodecIndex =Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->VideoCodec;
- AudioCodecIndex =Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->AudioCodec;
- ImageSize=Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->ImageSize;
- VideoFrameRate=DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].dFPS;
- VideoBitRate=Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->VideoBitrate;
- AudioBitRate=Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->AudioBitrate;
- }
- }
-
- //QString FileFormat =FORMATDEF[OutputFileFormat].FileExtension;
- VideoCodec=VIDEOCODECDEF[VideoCodecIndex].FFD_VCODECST;
- AudioCodec=AUDIOCODECDEF[AudioCodecIndex].ShortName;
-
- // Special case adjustment
- if (AUDIOCODECDEF[AudioCodecIndex].Codec_id==CODEC_ID_PCM_S16LE) AudioBitRate=1536; // Special case for WAV
- if (QString(FORMATDEF[OutputFileFormat].ShortName)==QString("flv")) AudioFrequency=44100; // Special case for FLV
- if (QString(FORMATDEF[OutputFileFormat].ShortName)==QString("3gp")) AudioFrequency=8000; // Special case for AMRNB
-
- //*****************
- QString VideoBitRateStr=QString("%1").arg(VideoBitRate); if (VideoBitRateStr.endsWith("000")) VideoBitRateStr=VideoBitRateStr.left(VideoBitRateStr.length()-3)+"k";
- QString AudioBitRateStr=QString("%1").arg(AudioBitRate); if (AudioBitRateStr.endsWith("000")) AudioBitRateStr=AudioBitRateStr.left(AudioBitRateStr.length()-3)+"k";
-
- ui->InformationLabel1->setText(OutputFileName);
- ui->InformationLabel2->setText(DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].Name);
- ui->InformationLabel3->setText(QString(VIDEOCODECDEF[VideoCodecIndex].LongName)+" - "+(VideoBitRateStr!="0"?VideoBitRateStr+"b/s":"lossless"));
- ui->InformationLabel4->setText(QString(AUDIOCODECDEF[AudioCodecIndex].LongName)+QString(" - %1 Hz - ").arg(AudioFrequency)+(AudioBitRateStr!="0"?AudioBitRateStr+"b/s":"lossless"));
-
- //**********************************************************************************************************************************
- if ((VideoFrameRate>=29.96)&&(VideoFrameRate<=29.98)) VideoFrameRate=29.97; // Manual rounded
-
- FPS =double(AV_TIME_BASE)/25; // For sound generation, use only 25 FPS to avoid rounded issue (instead of VideoFrameRate)
- NbrFrame =int(double(Diaporama->GetPartialDuration(FromSlide,ToSlide)*1000)/FPS); // Number of frame to generate
- StartTime =QTime::currentTime(); // Display control : time the process start
-
- ui->SoundProgressBar->setValue(0);
- ui->SoundProgressBar->setMaximum(NbrFrame);
- ui->SlideProgressBar->setValue(0);
- ui->SlideProgressBar->setMaximum(0);
- ui->TotalProgressBar->setValue(0);
- ui->TotalProgressBar->setMaximum(0);
- ui->SlideNumberLabel->setText("");
- ui->FrameNumberLabel->setText("");
-
- //**********************************************************************************************************************************
- // Switch dialog to rendering mode
- //**********************************************************************************************************************************
-
- bool Continue=true; // Loop control
- IsDestFileOpen =true;
- StopProcessWanted =false;
-
- // if process encoding was not started then start it
-
- // Only ProcessWidget must be display and enable
- ui->SelectDestScroll->setEnabled(false); ui->SelectDestScroll->setVisible(false);
- ui->ProcessWidget->setEnabled(true); ui->ProcessWidget->setVisible(true);
- ui->SelectDestScroll->setVisible(false);
-
- // Disable unwanted buttons
- ui->OkBt->setEnabled(false);
- ui->ProjectPropertiesBt->setEnabled(false);
- ui->HelpBT->setEnabled(false);
-
- GlobalMainWindow->CurrentRenderingDialog=this;
-
- //**********************************************************************************************************************************
- // 1st step encoding : produce WAV file with sound
- //**********************************************************************************************************************************
-
- if (ui->IncludeSoundCB->isChecked()) {
- // Create tempwavefile in the same directory as destination file
- TempWAVFileName=AdjustDirForOS(QFileInfo(OutputFileName).absolutePath());
- if (!TempWAVFileName.endsWith(QDir::separator())) TempWAVFileName=TempWAVFileName+QDir::separator();
- TempWAVFileName=TempWAVFileName+"temp.wav";
- ToLog(LOGMSG_INFORMATION,QApplication::translate("DlgRenderVideo","Encoding sound"));
- Continue=WriteTempAudioFile(TempWAVFileName,FromSlide);
- } else {
- ui->SoundProgressLabel->setEnabled(false);
- ui->SoundProgressBar->setEnabled(false);
- }
-
- //**********************************************************************************************************************************
- // 2nd step encoding : produce final file using temporary WAV file with sound
- //**********************************************************************************************************************************
- //StartTime=QTime::currentTime(); // Display control : time the process start
- FPS =double(AV_TIME_BASE)/VideoFrameRate;
- NbrFrame =int(double(Diaporama->GetPartialDuration(FromSlide,ToSlide)*1000)/FPS); // Number of frame to generate
-
- ui->SlideProgressBar->setValue(0);
- ui->TotalProgressBar->setValue(0);
- ui->TotalProgressBar->setMaximum(NbrFrame);
- ui->SlideNumberLabel->setText("");
- ui->FrameNumberLabel->setText("");
-
- // Construct ffmpeg command line
- if (Continue) {
- W=DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].Width;
- H=DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].Height;
-
- UpdateWidth=W;
-
- // Video codec part
- switch (VIDEOCODECDEF[VideoCodecIndex].FFD_VCODEC) {
- case VCODEC_MPEG : vCodec=QString("-vcodec mpeg2video -minrate %1 -maxrate %2 -bufsize %3 -b:0 %4 -bf 3")
- .arg(VideoBitRate-VideoBitRate/10)
- .arg(VideoBitRate+VideoBitRate/10)
- .arg(VideoBitRate*2)
- .arg(VideoBitRate);
- break;
- case VCODEC_MPEG4 : if (AudioCodec=="libopencore_amrnb") {
- vCodec=QString("-f 3gp -vcodec mpeg4 -b:0 %1").arg(VideoBitRate);
- } else {
- if (QString(VIDEOCODECDEF[VideoCodecIndex].ShortName)==QString("mpeg4"))
- vCodec=QString("-vcodec mpeg4 -vtag xvid -b:0 %1").arg(VideoBitRate);
- else vCodec=QString("-vcodec libxvid -b:0 %1").arg(VideoBitRate);
- }
- break;
- case VCODEC_H264HQ : Preset=AdjustDirForOS(QDir::currentPath()); if (!Preset.endsWith(QDir::separator())) Preset=Preset+QDir::separator();
- #ifdef OLDFFMPEGPRESET
- Preset="-fpre \""+Preset+"libx264-hq.ffpreset\"";
- #else
- Preset="-preset veryfast -x264opts ref=3";
- #endif
- vCodec=QString("-vcodec libx264 -pix_fmt yuv420p ")+Preset+QString(" -minrate %1 -maxrate %2 -bufsize %3 -b:0 %4")
- .arg(VideoBitRate-VideoBitRate/10)
- .arg(VideoBitRate+VideoBitRate/10)
- .arg(VideoBitRate*2)
- .arg(VideoBitRate);
- break;
- case VCODEC_H264PQ : Preset=AdjustDirForOS(QDir::currentPath()); if (!Preset.endsWith(QDir::separator())) Preset=Preset+QDir::separator();
- #ifdef OLDFFMPEGPRESET
- Preset="-fpre \""+Preset+"libx264-pq.ffpreset\"";
- #else
- Preset="-preset veryfast -x264opts level=1.3:no-cabac:vbv-bufsize=768:vbv-maxrate=768";
- #endif
- vCodec=QString("-vcodec libx264 -pix_fmt yuv420p ")+Preset+QString(" -minrate %1 -maxrate %2 -bufsize %3 -b:0 %4")
- .arg(VideoBitRate-VideoBitRate/10)
- .arg(VideoBitRate+VideoBitRate/10)
- .arg(VideoBitRate*2)
- .arg(VideoBitRate);
- break;
- case VCODEC_X264LL : Preset=AdjustDirForOS(QDir::currentPath()); if (!Preset.endsWith(QDir::separator())) Preset=Preset+QDir::separator();
- #ifdef OLDFFMPEGPRESET
- Preset="-fpre \""+Preset+"libx264-lossless.ffpreset\"";
- #else
- Preset="-preset veryfast -qp 0";
- #endif
- vCodec=QString("-vcodec libx264 -pix_fmt yuv420p ")+Preset;
- break;
- case VCODEC_MJPEG : vCodec="-vcodec mjpeg -qscale 2 -qmin 2 -qmax 2"; break;
- case VCODEC_VP8 : vCodec=QString("-vcodec libvpx -minrate %1 -maxrate %2 -bufsize %3 -b:0 %4 -bf 3")
- .arg(VideoBitRate-VideoBitRate/10)
- .arg(VideoBitRate+VideoBitRate/10)
- .arg(VideoBitRate*2)
- .arg(VideoBitRate);
- break;
- case VCODEC_H263 : vCodec=QString("-vcodec flv -b:0 %1").arg(VideoBitRate);
- break;
- case VCODEC_THEORA : vCodec=QString("-vcodec libtheora -b:0 %1").arg(VideoBitRate);
- break;
- default:
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Unknown video codec");
- Continue=false;
- break;
- }
- #ifdef OLDFFMPEG
- vCodec.replace(" -b:0 "," -b "); // switch to old syntax
- #endif
-
- // Audio codec part
- if (ui->IncludeSoundCB->isChecked()) {
- switch (AUDIOCODECDEF[AudioCodecIndex].Codec_id) {
- case CODEC_ID_PCM_S16LE: aCodec=QString("-acodec pcm_s16le"); break;
- case CODEC_ID_MP2: aCodec=QString("-acodec mp2 -ab %1").arg(AudioBitRate); break;
- case CODEC_ID_MP3: aCodec=QString("-acodec libmp3lame -ab %1").arg(AudioBitRate); break;
- case CODEC_ID_AAC: if (QString(AUDIOCODECDEF[AudioCodecIndex].ShortName)==QString("aac")) {
- #ifdef OLDFFMPEG
- aCodec=QString("-acodec aac -strict experimental -ab %1 -absf aac_adtstoasc").arg(AudioBitRate);
- #else
- aCodec=QString("-acodec libvo_aacenc -ab %1").arg(AudioBitRate);
- #ifdef FFMPEGALLOWBSF
- aCodec=aCodec+" -bsf:1 aac_adtstoasc";
- #endif
- #endif
- } else aCodec=QString("-acodec libfaac -ab %1").arg(AudioBitRate);
- break;
- case CODEC_ID_AC3: aCodec=QString("-acodec ac3 -ab %1").arg(AudioBitRate); break;
- case CODEC_ID_VORBIS: aCodec=QString("-acodec libvorbis -ab %1").arg(AudioBitRate); break;
- case CODEC_ID_AMR_NB: aCodec=QString("-acodec libopencore_amrnb -ab %1").arg(AudioBitRate); Channels=1; break;
- case CODEC_ID_FLAC: aCodec=QString("-acodec flac"); break;
-
- default:
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Unknown audio codec");
- Continue=false;
- break;
- }
- #ifdef OLDFFMPEG
- aCodec=aCodec+" -alang "+Language;
- #else
- aCodec=aCodec+" -metadata:s:1 language="+Language;
- #endif
- }
-
- #ifdef FFMPEGWITHTAG
- if (Continue) {
- // Create metadata temp file
- TempMETAFileName=AdjustDirForOS(QFileInfo(OutputFileName).absolutePath());
- if (!TempMETAFileName.endsWith(QDir::separator())) TempMETAFileName=TempMETAFileName+QDir::separator();
- TempMETAFileName=TempMETAFileName+"TAG.txt";
-
- QFile File(TempMETAFileName);
- if (File.open(QFile::WriteOnly|QFile::Truncate|QFile::Text)) {
- QTextStream out(&File);
- /* M4V/MKV/MP4/MOV/FLV/OGV AVI WEBM MPG/3GP
- title X X X -
- author X X - -
- album X X - -
- year X X - -
- comment X X - -
- composer X - - -
-
-
- language Ok=3GP/MKV/MP4/M4V/MOV/OGV/WEBM/AVI/FLV Ko=MPG
- */
- out<<";FFMETADATA1\n"; // Write header
- out<<QString("title="+AdjustMETA(Diaporama->ProjectInfo->Title==""?QFileInfo(OutputFileName).baseName():Diaporama->ProjectInfo->Title));
- out<<QString("artist="+AdjustMETA(Diaporama->ProjectInfo->Author));
- out<<QString("album="+AdjustMETA(Diaporama->ProjectInfo->Album));
- out<<QString("comment="+AdjustMETA(Diaporama->ProjectInfo->Comment));
- out<<QString("date="+QString("%1").arg(Diaporama->ProjectInfo->Year)+"\n");
- out<<QString("composer="+AdjustMETA(Diaporama->ProjectInfo->Composer));
- out<<QString("language="+Language+"\n");
- out<<QString("creation_time="+QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss")+"\n"); // ISO 8601 format
-
- for (int i=FromSlide;i<=ToSlide;i++) if ((i==FromSlide)||(Diaporama->List[i]->StartNewChapter)) {
- int NextChapter=i+1;
- qlonglong Start =Diaporama->GetObjectStartPosition(i)+(i>FromSlide?Diaporama->List[i]->GetTransitDuration():0)-Diaporama->GetObjectStartPosition(FromSlide);
- qlonglong Duration=Diaporama->List[i]->GetDuration()-(i>FromSlide?Diaporama->List[i]->GetTransitDuration():0);
- while ((NextChapter<ToSlide)&&(!Diaporama->List[NextChapter]->StartNewChapter)) {
- Duration=Duration+Diaporama->List[NextChapter]->GetDuration();
- NextChapter++;
- if (NextChapter<ToSlide) Duration=Duration-Diaporama->List[NextChapter]->GetTransitDuration();
- }
- out<<"[CHAPTER]\n"; // Write Chapter header
- out<<"TIMEBASE=1/1000\n"; // Timebase
- out<<"START="+QString("%1").arg(Start)+"\n"; // Start position in ms
- out<<"END="+QString("%1").arg(Start+Duration)+"\n"; // End position in ms
- out<<"TITLE="+Diaporama->List[i]->SlideName+"\n"; // Title
- }
-
- File.close();
-
- #ifdef OLDFFMPEG
- TAG=" -i \""+TempMETAFileName+"\" -map_metadata 0:"+(ui->IncludeSoundCB->isChecked()?"2":"1")+" -map_chapters 0:"+(ui->IncludeSoundCB->isChecked()?"2":"1");
- #else
- TAG=" -i \""+TempMETAFileName+"\" -map_metadata:g "+(ui->IncludeSoundCB->isChecked()?"2":"1")+" -map_chapters "+(ui->IncludeSoundCB->isChecked()?"2":"1");;
- #endif
- }
- }
- #endif
- if (Continue) {
- ToLog(LOGMSG_INFORMATION,QApplication::translate("DlgRenderVideo","Start ffmpeg encoder"));
- int GeoW=DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].PARNUM;
- int GeoH=DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].PARDEN;
- #ifdef Q_OS_WIN
- ffmpegCommand="\""+Diaporama->ApplicationConfig->PathFFMPEG+"\"";
- #elif defined(Q_OS_UNIX) && !defined(Q_OS_MACX)
- ffmpegCommand=Diaporama->ApplicationConfig->PathFFMPEG;
- #endif
- QString AddSizestr="";
- if (W==720) {
- switch (Diaporama->ImageGeometry) {
- case GEOMETRY_4_3: W=(double(H)/3)*4; GeoW=4; GeoH=3; break;
- case GEOMETRY_16_9: W=(double(H)/9)*16; GeoW=16; GeoH=9; break;
- case GEOMETRY_40_17: W=(double(H)/17)*40; GeoW=16; GeoH=9; break;
- }
- }
- ffmpegCommand=ffmpegCommand+QString(" -y -f image2pipe -vcodec ppm -r ")+QString(DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].FPS)+" -i -"+
- (ui->IncludeSoundCB->isChecked()?" -i \""+TempWAVFileName+"\"":"")+
- TAG+
- #ifdef OLDFFMPEG
- " -timestamp now"+
- #endif
- " -dframes "+QString("%1").arg(NbrFrame)+" "+vCodec+AddSizestr+" -r "+ // -shortest
- QString(DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].FPS)+
- " "+aCodec+QString(" -ar %1 -ac %2 -aspect %3:%4")
- .arg(AudioFrequency)
- .arg(Channels)
- .arg(GeoW)
- .arg(GeoH);
- if (ExtendV>0) ffmpegCommand=ffmpegCommand+QString(" -padtop %1 -padbottom %2").arg(ExtendV/2).arg(ExtendV-ExtendV/2);
- if (ExtendH>0) ffmpegCommand=ffmpegCommand+QString(" -padleft %1 -padright %2").arg(ExtendH/2).arg(ExtendH-ExtendH/2);
-
- // Activate multithreading support if getCpuCount()>1 and codec is h264 or VP8
- if (((getCpuCount()-1)>1)&&(
- (VIDEOCODECDEF[VideoCodecIndex].Codec_id==CODEC_ID_H264)||
- (VIDEOCODECDEF[VideoCodecIndex].Codec_id==CODEC_ID_VP8)
- )) ffmpegCommand=ffmpegCommand+" -threads "+QString("%1").arg(getCpuCount()-1);
-
- ffmpegCommand=ffmpegCommand+" \""+OutputFileName+"\"";
- ToLog(LOGMSG_INFORMATION,ffmpegCommand);
-
- ffmpegCommand=AdjustDirForOS(ffmpegCommand);
- }
- }
-
- // Start ffmpegCommand
- if (Continue) {
- Process.setProcessChannelMode(QProcess::/*SeparateChannels*/ForwardedChannels); // Forward standard and error message to the ffdiaporama console
- //Process.setWorkingDirectory(Diaporama->ApplicationConfig->UserConfigPath); // Set working directory to user folder (for log generation)
- Process.start(ffmpegCommand,QIODevice::Append|QIODevice::ReadWrite); // Start command
- if (!Process.waitForStarted()) {
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Error","Error message"),
- QApplication::translate("DlgRenderVideo","Error starting ffmpeg","Error message")+"\n"+ffmpegCommand,
- QMessageBox::Close);
- Continue=false;
- }
- }
-
- // Encode video
- if (Continue) {
- LastCheckTime =StartTime; // Display control : last time the loop start
- int Position =Diaporama->GetObjectStartPosition(FromSlide); // Render current position
- int ColumnStart =-1; // Render start position of current object
- int Column =-1; // Render current object
-
- for (RenderedFrame=0;Continue && (RenderedFrame<NbrFrame);RenderedFrame++) {
- int AdjustedDuration=((Column>=0)&&(Column<Diaporama->List.count()))?Diaporama->List[Column]->GetDuration()-Diaporama->GetTransitionDuration(Column+1):0;
- if (AdjustedDuration<33) AdjustedDuration=33; // Not less than 1/30 sec
-
- if ((ColumnStart==-1)||(Column==-1)||((Column<Diaporama->List.count())&&((ColumnStart+AdjustedDuration)<=Position))) {
- while ((ColumnStart==-1)||(Column==-1)||((Column<Diaporama->List.count())&&((ColumnStart+AdjustedDuration)<=Position))) {
- Column++;
- AdjustedDuration=(Column<Diaporama->List.count())?Diaporama->List[Column]->GetDuration()-Diaporama->GetTransitionDuration(Column+1):0;
- if (AdjustedDuration<33) AdjustedDuration=33; // Not less than 1/30 sec
- ColumnStart=Diaporama->GetObjectStartPosition(Column);
- if (Column<Diaporama->List.count()) ui->SlideProgressBar->setMaximum(int(double(AdjustedDuration)/(FPS/double(1000)))-1);
- }
- RefreshDisplay =true;
- } else RefreshDisplay =(LastCheckTime.msecsTo(QTime::currentTime())>=1000); // Refresh display only one time per second
-
- // Refresh Display (if needed)
- if (RefreshDisplay) {
- DurationProcess=StartTime.msecsTo(QTime::currentTime());
- double CalcFPS =(double(RenderedFrame)/(double(DurationProcess)/1000));
- double EstimDur=double(NbrFrame-RenderedFrame)/CalcFPS;
- DisplayText=QString("%1").arg((QTime(0,0,0,0).addMSecs(DurationProcess)).toString("hh:mm:ss"))+
- QApplication::translate("DlgRenderVideo"," - Estimated time left : ")+
- QString("%1").arg(QTime(0,0,0,0).addMSecs(EstimDur*1000).toString("hh:mm:ss"));
- ui->ElapsedTimeLabel->setText(DisplayText);
- DisplayText=QString("%1").arg(double(RenderedFrame)/(double(DurationProcess)/1000),0,'f',1); ui->FPSLabel->setText(DisplayText);
- DisplayText=QString("%1/%2").arg(Column-FromSlide+1).arg(ToSlide-FromSlide+1); ui->SlideNumberLabel->setText(DisplayText);
- DisplayText=QString("%1/%2").arg(RenderedFrame).arg(NbrFrame); ui->FrameNumberLabel->setText(DisplayText);
- ui->SlideProgressBar->setValue(int(double(Position-ColumnStart)/(FPS/double(1000))));
- ui->TotalProgressBar->setValue(RenderedFrame);
- LastCheckTime=QTime::currentTime();
- }
-
- // Get current frame
- Frame=new cDiaporamaObjectInfo(PreviousFrame,Position,Diaporama,(FPS/1000));
-
- // Prepare frame with correct W and H
- Diaporama->LoadSources(Frame,double(H)/double(1080),W,H,false,true); // Load source images
- Diaporama->DoAssembly(Frame,W,H); // Make final assembly
-
- // Give time to interface!
- QApplication::processEvents();
-
- // Apply anamorphous
- if ((UpdateWidth!=W)&&(Frame->RenderedImage->width()!=UpdateWidth)) {
- QImage *NewImage=new QImage(Frame->RenderedImage->scaled(QSize(UpdateWidth,Frame->RenderedImage->height()),Qt::IgnoreAspectRatio,Qt::SmoothTransformation));
- delete Frame->RenderedImage;
- Frame->RenderedImage=NewImage;
- }
-
- // Save image to the pipe
- if (!Frame->RenderedImage->save(&Process,"PPM",100)) {
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Error","Error message"),QApplication::translate("DlgRenderVideo","Error sending image to ffmpeg","Error message"),QMessageBox::Close);
- Continue=false;
- }
-
- // Wait until ffmpeg processed the frame
- while (Continue &&(Process.bytesToWrite()>0)) {
- if (!Process.waitForBytesWritten()) {
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Error","Error message"),QApplication::translate("DlgRenderVideo","ffmpeg error","Error message"),QMessageBox::Close);
- Continue=false;
- }
- // Give time to interface!
- QApplication::processEvents();
- // Stop the process if error occur or user ask to stop
- Continue=Continue && !StopProcessWanted;
- }
-
- // Calculate next position
- Position+=(FPS/1000);
-
- if (PreviousFrame!=NULL) delete PreviousFrame;
- PreviousFrame=Frame;
- Frame =NULL;
-
- // Stop the process if error occur or user ask to stop
- Continue=Continue && !StopProcessWanted;;
- }
- // Clean PreviousFrame
- if (PreviousFrame!=NULL) delete PreviousFrame;
-
- ToLog(LOGMSG_INFORMATION,QApplication::translate("DlgRenderVideo","Closing encoder"));
-
- // Close the pipe to stop ffmpeg process
- Process.closeWriteChannel();
-
- // Last information update
- DurationProcess=StartTime.msecsTo(QTime::currentTime());
- DisplayText=QString("%1").arg((QTime(0,0,0,0).addMSecs(DurationProcess)).toString("hh:mm:ss")); ui->ElapsedTimeLabel->setText(DisplayText);
- DisplayText=QString("%1").arg(double(NbrFrame)/(double(DurationProcess)/1000),0,'f',1); ui->FPSLabel->setText(DisplayText);
- DisplayText=QString("%1/%2").arg(Column-FromSlide+1).arg(ToSlide-FromSlide+1); ui->SlideNumberLabel->setText(DisplayText);
- DisplayText=QString("%1/%2").arg(NbrFrame).arg(NbrFrame); ui->FrameNumberLabel->setText(DisplayText);
- ui->SlideProgressBar->setValue(ui->SlideProgressBar->maximum());
- ui->TotalProgressBar->setValue(NbrFrame);
-
- if (!Process.waitForFinished(30000)) { // 30 sec max to close ffmpeg
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Error","Error message"),QApplication::translate("DlgRenderVideo","Error during ffmpeg process","Error message"),QMessageBox::Close);
- Process.terminate();
- Continue=false;
- } else if (Process.exitStatus()!=QProcess::NormalExit) {
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Error","Error message"),QApplication::translate("DlgRenderVideo","Error exiting ffmpeg","Error message"),QMessageBox::Close);
- Continue=false;
- }
- }
-
- if (TempWAVFileName!="") QFile::remove(TempWAVFileName);
- if (TempMETAFileName!="") QFile::remove(TempMETAFileName);
-
- Process.terminate();
- Process.close();
-
- // Inform user of success
- if (Continue) CustomMessageBox(this,QMessageBox::Information,QApplication::translate("DlgRenderVideo","Render video"),QApplication::translate("DlgRenderVideo","Job completed succesfully!"));
-
- // Save Window size and position
- Diaporama->ApplicationConfig->DlgRenderVideoWSP->SaveWindowState(this);
-
- // Close the dialog box
- done(0);
- }
-}
-
-//============================================================================================
-
-QString DlgRenderVideo::AdjustMETA(QString Text) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::AdjustMETA");
-
- //Metadata keys or values containing special characters (’=’, ’;’, ’#’, ’\’ and a newline) must be escaped with a backslash ’\’.
- Text.replace("=","\\=");
- Text.replace(";","\\;");
- Text.replace("#","\\#");
- //Text.replace("\\","\\\\");
- Text.replace("\n","\\\n");
- Text=Text+"\n";
- #ifdef Q_OS_WIN
- return Text.toUtf8();
- #else
- return Text;
- #endif
-}
-
-//============================================================================================
-// Make audio temp file
-//============================================================================================
-
-bool DlgRenderVideo::WriteTempAudioFile(QString TempWAVFileName,int FromSlide) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::WriteTempAudioFile");
-
- bool Continue =true; // true if no error occur
- cDiaporamaObjectInfo *PreviousFrame =NULL;
- cDiaporamaObjectInfo *Frame =NULL;
- AVOutputFormat *Fmt =NULL; // No delete needed!
- AVCodec *AudioCodec =NULL;
- QFutureWatcher<void> ThreadWrite;
- sWriteWAV WriteWAV;
- double RenderFPS =25; // For sound generation, use only 25 FPS to avoid rounded issue (instead of VideoFrameRate)
-
- WriteWAV.AudioCodecContext =NULL;
- WriteWAV.audio_outbuf =NULL;
- WriteWAV.AudioStream =NULL;
- WriteWAV.OutputFormatContext=NULL;
-
- ui->SoundProgressBar->setMaximum(NbrFrame);
-
- // Get the container format
- Fmt=av_guess_format(NULL,TempWAVFileName.toUtf8(),NULL);
- if (Fmt==NULL) {
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Error creating temporary wav file!");
- Continue=false;
- } else Fmt->audio_codec=CODEC_ID_PCM_S16LE;
-
- // allocate the output media context
- if (Continue) {
-
- WriteWAV.OutputFormatContext = avformat_alloc_context();
- if (!WriteWAV.OutputFormatContext) {
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Memory error : Unable to allocate OutputFormatContext!");
- Continue=false;
- } else {
- memcpy(WriteWAV.OutputFormatContext->filename,TempWAVFileName.toUtf8(),strlen(TempWAVFileName.toUtf8())+1);
- WriteWAV.OutputFormatContext->oformat =Fmt;
- //OutputFormatContext->timestamp=0;
- WriteWAV.OutputFormatContext->bit_rate =1536;
- #ifdef OLDFFMPEG
- AVFormatParameters fpOutFile;
- memset(&fpOutFile,0,sizeof(AVFormatParameters));
- if (av_set_parameters(WriteWAV.OutputFormatContext,&fpOutFile)<0) {
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Invalid output format parameters!");
- Continue=false;
- }
- #endif
- }
- }
-
- // Allocate AudioStream
- if (Continue) {
- #ifdef OLDFFMPEG
- WriteWAV.AudioStream=av_new_stream(WriteWAV.OutputFormatContext,0);
- #else
- WriteWAV.AudioStream=avformat_new_stream(WriteWAV.OutputFormatContext,0);
- #endif
- if (WriteWAV.AudioStream==NULL) {
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Memory error : could not allocate audio stream!");
- Continue=false;
- }
- }
-
- // Open audio codec
- if (Continue) {
- WriteWAV.AudioCodecContext=WriteWAV.AudioStream->codec;
- #ifdef OLDFFMPEG
- avcodec_get_context_defaults2(WriteWAV.AudioCodecContext,AVMEDIA_TYPE_AUDIO); // Fill stream with default values
- #else
- avcodec_get_context_defaults3(WriteWAV.AudioCodecContext,NULL); // Fill stream with default values
- #endif
- AudioCodec=avcodec_find_encoder(CODEC_ID_PCM_S16LE); // Open Audio encoder
- if (!AudioCodec) {
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Audio codec not found!");
- Continue=false;
- } else {
- WriteWAV.AudioCodecContext->codec_id = CODEC_ID_PCM_S16LE;
- WriteWAV.AudioCodecContext->codec_type = AVMEDIA_TYPE_AUDIO;
- WriteWAV.AudioCodecContext->sample_fmt = AV_SAMPLE_FMT_S16;
- WriteWAV.AudioCodecContext->sample_rate = 48000;
- WriteWAV.AudioCodecContext->bit_rate = 48000;
- WriteWAV.AudioCodecContext->rc_max_rate = 0;
- WriteWAV.AudioCodecContext->rc_min_rate = 0;
- WriteWAV.AudioCodecContext->bit_rate_tolerance = 0;
- WriteWAV.AudioCodecContext->rc_buffer_size = 0;
- WriteWAV.AudioCodecContext->channels = 2;
- WriteWAV.AudioCodecContext->channel_layout = AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT; //CH_LAYOUT_STEREO;
- WriteWAV.AudioCodecContext->time_base = (AVRational){1,WriteWAV.AudioCodecContext->sample_rate};
- WriteWAV.AudioStream->r_frame_rate = WriteWAV.AudioCodecContext->time_base;
- WriteWAV.AudioStream->time_base = WriteWAV.AudioCodecContext->time_base;
- WriteWAV.AudioCodecContext->flags |= CODEC_FLAG_GLOBAL_HEADER;
-
- // open the codec
- #ifdef OLDFFMPEG
- if (avcodec_open(WriteWAV.AudioCodecContext,AudioCodec)<0) {
- #else
- if (avcodec_open2(WriteWAV.AudioCodecContext,AudioCodec,NULL)<0) {
- #endif
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"could not open audio codec!");
- Continue=false;
- } else {
- // Init sound blocks
- WriteWAV.RenderMusic.SetFPS(RenderFPS);
- }
- }
- }
-
- // open the file for writing
- if (Continue) {
- int Err=0;
- #ifdef OLDFFMPEG
- if (url_fopen(&WriteWAV.OutputFormatContext->pb,TempWAVFileName.toUtf8(),URL_WRONLY)<0) {
- #else
- if ((Err=avio_open(&WriteWAV.OutputFormatContext->pb,TempWAVFileName.toUtf8(),AVIO_FLAG_WRITE))<0) {
- #endif
- char Buf[500];
- av_strerror(Err,Buf,500);
- ToLog(LOGMSG_CRITICAL,Buf);
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Error creating temporary audio file!");
- Continue=false;
- }
- }
-
- // Allocate buffer to encode
- if (Continue) {
- WriteWAV.audio_outbuf=(uint8_t *)av_malloc(FF_MIN_BUFFER_SIZE);
- if (WriteWAV.audio_outbuf==NULL) {
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Memory error : could not allocate audio buffer!");
- Continue=false;
- }
- }
-
- // write the header
- if ((Continue)&&
- #ifdef OLDFFMPEG
- (av_write_header(WriteWAV.OutputFormatContext)!=0)) {
- #else
- (avformat_write_header(WriteWAV.OutputFormatContext,NULL)<0)) {
- #endif
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Error writing the header of the temporary audio file!");
- Continue=false;
- }
-
- // Encode the file
- if (Continue) {
- LastCheckTime =StartTime; // Display control : last time the loop start
- qlonglong Position =Diaporama->GetObjectStartPosition(FromSlide); // Render current position
- int ColumnStart =-1; // Render start position of current object
- int Column =-1; // Render current object
- for (qlonglong RenderedFrame=0;Continue && (RenderedFrame<NbrFrame);RenderedFrame++) {
-
- // Calculate position & column
- int AdjustedDuration=((Column>=0)&&(Column<Diaporama->List.count()))?Diaporama->List[Column]->GetDuration()-Diaporama->GetTransitionDuration(Column+1):0;
- if (AdjustedDuration<33) AdjustedDuration=33; // Not less than 1/30 sec
- if ((ColumnStart==-1)||(Column==-1)||((Column<Diaporama->List.count())&&((ColumnStart+AdjustedDuration)<=Position))) {
- Column++;
- AdjustedDuration=((Column>=0)&&(Column<Diaporama->List.count()))?Diaporama->List[Column]->GetDuration()-Diaporama->GetTransitionDuration(Column+1):0;
- if (AdjustedDuration<33) AdjustedDuration=33; // Not less than 1/30 sec
- ColumnStart=Position;
- }
- // Refresh Display (if needed)
- if (LastCheckTime.msecsTo(QTime::currentTime())>=1000) { // Refresh display only one time per second
- int DurationProcess =0;
- QString DisplayText ="";
-
- DurationProcess=StartTime.msecsTo(QTime::currentTime());
- DisplayText=QString("%1").arg((QTime(0,0,0,0).addMSecs(DurationProcess)).toString("hh:mm:ss")); ui->ElapsedTimeLabel->setText(DisplayText);
- DisplayText=QString("%1").arg(double(RenderedFrame)/(double(DurationProcess)/1000),0,'f',1); ui->FPSLabel->setText(DisplayText);
- LastCheckTime=QTime::currentTime();
- ui->SoundProgressBar->setValue(RenderedFrame);
- }
-
- // Get current frame
- Frame=new cDiaporamaObjectInfo(PreviousFrame,Position,Diaporama,(FPS/1000)/*((double(AV_TIME_BASE)/RenderFPS)/1000)*/);
-
- // Ensure MusicTracks are ready
- if ((Frame->CurrentObject)&&(Frame->CurrentObject_MusicTrack==NULL)) {
- Frame->CurrentObject_MusicTrack=new cSoundBlockList();
- Frame->CurrentObject_MusicTrack->SetFPS(RenderFPS);
- }
- if ((Frame->TransitObject)&&(Frame->TransitObject_MusicTrack==NULL)&&(Frame->TransitObject_MusicObject!=NULL)&&(Frame->TransitObject_MusicObject!=Frame->CurrentObject_MusicObject)) {
- Frame->TransitObject_MusicTrack=new cSoundBlockList();
- Frame->TransitObject_MusicTrack->SetFPS(RenderFPS);
- }
-
- // Ensure SoundTracks are ready
- if ((Frame->CurrentObject)&&(Frame->CurrentObject_SoundTrackMontage==NULL)) {
- Frame->CurrentObject_SoundTrackMontage=new cSoundBlockList();
- Frame->CurrentObject_SoundTrackMontage->SetFPS(RenderFPS);
- }
- if ((Frame->TransitObject)&&(Frame->TransitObject_SoundTrackMontage==NULL)) {
- Frame->TransitObject_SoundTrackMontage=new cSoundBlockList();
- Frame->TransitObject_SoundTrackMontage->SetFPS(RenderFPS);
- }
-
- // Prepare frame with W and H =0 to force SoundMusicOnly! (thread mode is not necessary here)
- Diaporama->LoadSources(Frame,0,0,0,false,true);
-
- // Give time to interface!
- QApplication::processEvents();
-
- // Calc number of packet to mix
- int MaxPacket=Frame->CurrentObject_MusicTrack->List.count();
- if ((Frame->CurrentObject_SoundTrackMontage!=NULL)&&
- (Frame->CurrentObject_SoundTrackMontage->List.count()>0)&&
- (MaxPacket>Frame->CurrentObject_SoundTrackMontage->List.count())) MaxPacket=Frame->CurrentObject_SoundTrackMontage->List.count();
- if (MaxPacket>WriteWAV.RenderMusic.NbrPacketForFPS) MaxPacket=WriteWAV.RenderMusic.NbrPacketForFPS;
-
- // mix audio data
- for (int j=0;j<MaxPacket;j++)
- WriteWAV.RenderMusic.MixAppendPacket(Frame->CurrentObject_MusicTrack->DetachFirstPacket(),(Frame->CurrentObject_SoundTrackMontage!=NULL)?Frame->CurrentObject_SoundTrackMontage->DetachFirstPacket():NULL);
-
- // Write audio frame to disk
- if (ThreadWrite.isRunning()) ThreadWrite.waitForFinished();
- ThreadWrite.setFuture(QtConcurrent::run(this,&DlgRenderVideo::WriteRenderedMusicToDisk,&WriteWAV,&Continue));
-
- QApplication::processEvents(); // Give time to interface!
-
- // Calculate next position
- Position +=(FPS/1000);
- if (PreviousFrame!=NULL) delete PreviousFrame;
- PreviousFrame=Frame;
- Frame =NULL;
-
- // Stop the process if error occur or user ask to stop
- Continue=Continue && !StopProcessWanted;;
- }
-
- if (ThreadWrite.isRunning()) ThreadWrite.waitForFinished();
-
- // Write de trailer
- if ((Continue)&&(av_write_trailer(WriteWAV.OutputFormatContext)!=0)) {
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Error writing the trailer of the temporary audio file!");
- Continue=false;
- }
- }
-
- // Ensure sound progress bar is at 100%
- if (Continue) ui->SoundProgressBar->setValue(ui->SoundProgressBar->maximum());
-
- // Clean all
-
- if (WriteWAV.audio_outbuf) av_free(WriteWAV.audio_outbuf);
- if (PreviousFrame) delete PreviousFrame;
- if (Frame) delete Frame;
- if (WriteWAV.OutputFormatContext) {
- #ifdef OLDFFMPEG
- if (WriteWAV.OutputFormatContext->pb) url_fclose(WriteWAV.OutputFormatContext->pb); // close the file
- #else
- if (WriteWAV.OutputFormatContext->pb) avio_close(WriteWAV.OutputFormatContext->pb); // close the file
- #endif
- if (WriteWAV.OutputFormatContext->streams[0]) {
- avcodec_close(WriteWAV.AudioStream->codec); // close codec
- if (WriteWAV.OutputFormatContext->streams[0]->codec) av_freep(&WriteWAV.OutputFormatContext->streams[0]->codec); // free the audiostream
- }
- av_free(WriteWAV.OutputFormatContext); // free the container
- }
-
- return Continue;
-}
-
-void DlgRenderVideo::WriteRenderedMusicToDisk(sWriteWAV *WriteWAV,bool *Continue) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::WriteTempAudioFile");
-
- // Flush audio frame
- AVPacket pkt;
- while (WriteWAV->RenderMusic.List.count()>0) {
- int16_t *PacketSound=WriteWAV->RenderMusic.DetachFirstPacket();
- if (PacketSound==NULL) {
- PacketSound=(int16_t *)av_malloc(WriteWAV->RenderMusic.SoundPacketSize+4);
- memset(PacketSound,0,WriteWAV->RenderMusic.SoundPacketSize);
- }
- int out_size= avcodec_encode_audio(WriteWAV->AudioCodecContext,WriteWAV->audio_outbuf,WriteWAV->RenderMusic.SoundPacketSize,(short int *)PacketSound);
- if (out_size>0) {
- av_init_packet(&pkt);
-
- if ((WriteWAV->AudioCodecContext->coded_frame!=NULL)&&(WriteWAV->AudioCodecContext->coded_frame->pts!=int64_t(INT64_C(0x8000000000000000))))
- pkt.pts=av_rescale_q(WriteWAV->AudioCodecContext->coded_frame->pts,WriteWAV->AudioCodecContext->time_base,WriteWAV->AudioStream->time_base);
-
- if ((WriteWAV->AudioCodecContext->coded_frame!=NULL)&&(WriteWAV->AudioCodecContext->coded_frame->key_frame))
- pkt.flags|=AV_PKT_FLAG_KEY;
-
- pkt.stream_index=WriteWAV->AudioStream->index;
- pkt.data =WriteWAV->audio_outbuf;
- pkt.size =out_size;
-
- // write the compressed frame in the media file
- if (av_interleaved_write_frame(WriteWAV->OutputFormatContext,&pkt)!=0) {
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Error while writing audio frame!");
- *Continue=false;
- }
- } else if (out_size<0) {
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Error encoding sound!");
- *Continue=false;
- }
- av_free(PacketSound);
- }
-}
diff --git a/src/ffDiaporama/DlgRenderVideo.h b/src/ffDiaporama/DlgRenderVideo.h
deleted file mode 100755
index 71210e4..0000000
--- a/src/ffDiaporama/DlgRenderVideo.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef DLGRENDERVIDEO_H
-#define DLGRENDERVIDEO_H
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-#include "../sharedfiles/_QCustomDialog.h"
-
-// Specific inclusions
-#include "_Diaporama.h"
-
-namespace Ui {
- class DlgRenderVideo;
-}
-
-struct sWriteWAV {
- cSoundBlockList RenderMusic;
- AVCodecContext *AudioCodecContext;
- uint8_t *audio_outbuf;
- AVStream *AudioStream;
- AVFormatContext *OutputFormatContext;
-};
-
-class DlgRenderVideo : public QDialog {
-Q_OBJECT
-public:
- cDiaporama *Diaporama;
- int ExportMode; // Export mode (smartphone, advanced, etc...)
- bool StopSpinboxRecursion;
- bool StopProcessWanted; // True if user click on cancel or close during encoding process
- int Extend; // amout of padding (top and bottom) for cinema mode with DVD
- int VideoCodecIndex; // Index of video codec
- int AudioCodecIndex; // Index of audio codec
- double FPS;
- qlonglong NbrFrame; // Number of frame to generate
- QTime StartTime; // Time the process start
- QTime LastCheckTime; // Last time the loop start
- qlonglong RenderedFrame;
- bool IsDestFileOpen; // true if encoding is started
-
- QString OutputFileName; // filename with path for the last rendering file
- int OutputFileFormat; // Container format
- QString VideoCodec; // Last video codec used
- double VideoFrameRate; // Last video frame rate used
- int VideoBitRate; // Last video bit rate used
- QString AudioCodec; // Last audio codec used
- int AudioFrequency; // Last audio frequency used
- int AudioBitRate; // Last audio bit rate used
- int ImageSize; // Last image size use for rendering
- int Standard; // Last standard use for rendering
-
- QString Language;
-
- explicit DlgRenderVideo(cDiaporama &Diaporama,int ExportMode,QWidget *parent = 0);
- ~DlgRenderVideo();
-
- bool WriteTempAudioFile(QString TempWAVFileName,int FromSlide);
- QString AdjustMETA(QString Text);
-
-protected:
- virtual void showEvent(QShowEvent *);
- virtual void reject();
- virtual void accept();
-
-private slots:
- void Help();
- void ProjectProperties();
- void SetSavedWindowGeometry();
- void InitImageSizeCombo(int);
- void SelectDestinationFile();
- void AdjustDestinationFile();
- void FileFormatCombo(int);
- void InitVideoBitRateCB(int);
- void InitAudioBitRateCB(int);
- void s_DeviceTypeCB(int);
- void s_DeviceModelCB(int);
- void SetZoneToAll();
- void SetZoneToPartial();
- void s_IncludeSound();
-
-private:
- Ui::DlgRenderVideo *ui;
-
- void WriteRenderedMusicToDisk(sWriteWAV *WriteWAV,bool *Continue);
-};
-
-#endif // DLGRENDERVIDEO_H
diff --git a/src/ffDiaporama/DlgRenderVideo.ui b/src/ffDiaporama/DlgRenderVideo.ui
deleted file mode 100755
index 2633a6e..0000000
--- a/src/ffDiaporama/DlgRenderVideo.ui
+++ /dev/null
@@ -1,1027 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>DlgRenderVideo</class>
- <widget class="QDialog" name="DlgRenderVideo">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>500</width>
- <height>425</height>
- </rect>
- </property>
- <property name="minimumSize">
- <size>
- <width>500</width>
- <height>350</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- </font>
- </property>
- <property name="windowTitle">
- <string notr="true">Render video</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>4</number>
- </property>
- <property name="margin">
- <number>8</number>
- </property>
- <item>
- <widget class="QScrollArea" name="SelectDestScroll">
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="widgetResizable">
- <bool>true</bool>
- </property>
- <widget class="QWidget" name="SelectDestWidget">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>467</width>
- <height>367</height>
- </rect>
- </property>
- <layout class="QGridLayout" name="gridLayout_2">
- <property name="margin">
- <number>4</number>
- </property>
- <property name="spacing">
- <number>4</number>
- </property>
- <item row="11" column="0">
- <widget class="QLabel" name="ImageSizeLabel">
- <property name="text">
- <string>Image format :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Destination file :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLineEdit" name="DestinationFilePath">
- <property name="toolTip">
- <string>Destination file path</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="DestinationFilePathBT">
- <property name="toolTip">
- <string>Select the destination file path</string>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/FolderOpen.png</normaloff>:/img/FolderOpen.png</iconset>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="9" column="0">
- <widget class="QLabel" name="StandardLabel">
- <property name="text">
- <string>Video standard :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="9" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_7">
- <property name="spacing">
- <number>2</number>
- </property>
- <item>
- <widget class="QComboBox" name="StandardCombo">
- <property name="toolTip">
- <string>Select the video standard to use, PAL or NTSC.</string>
- </property>
- <item>
- <property name="text">
- <string>PAL</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>NTSC</string>
- </property>
- </item>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="GeometryLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Geometry :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="GeometryCombo">
- <property name="currentIndex">
- <number>0</number>
- </property>
- <item>
- <property name="text">
- <string>Old TV (4:3)</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>TV Wide (16:9)</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Cinema (2.35:1)</string>
- </property>
- </item>
- </widget>
- </item>
- </layout>
- </item>
- <item row="11" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_6">
- <property name="spacing">
- <number>2</number>
- </property>
- <item>
- <widget class="QComboBox" name="ImageSizeCombo">
- <property name="toolTip">
- <string>Select the image resolution to use for the rendering.</string>
- </property>
- <property name="currentIndex">
- <number>-1</number>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="13" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_8">
- <property name="spacing">
- <number>2</number>
- </property>
- <item>
- <widget class="QComboBox" name="VideoFormatCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>150</width>
- <height>0</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select the video codec to use for the rendering.</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="VideoBitRateLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Bit rate :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="VideoBitRateCB">
- <property name="minimumSize">
- <size>
- <width>80</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>80</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select the bit rate to use for video during the rendering.</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="15" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_9">
- <property name="spacing">
- <number>2</number>
- </property>
- <item>
- <widget class="QComboBox" name="AudioFormatCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>150</width>
- <height>0</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select the audio codec to use for the rendering.</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="AudioBitRateLabel">
- <property name="text">
- <string>Bit rate :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="AudioBitRateCB">
- <property name="minimumSize">
- <size>
- <width>80</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>80</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select the bit rate to use for audio during the rendering.</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="FileFormatLabel">
- <property name="text">
- <string>File format :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="FileFormatCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string>Select the file type to use for the rendering.</string>
- </property>
- </widget>
- </item>
- <item row="15" column="0">
- <widget class="QLabel" name="AudioFormatLabel">
- <property name="text">
- <string>Audio codec :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="13" column="0">
- <widget class="QLabel" name="VideoFormatLabel">
- <property name="text">
- <string>Video codec :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="6" column="1">
- <widget class="QComboBox" name="DeviceModelCB">
- <property name="toolTip">
- <string>Select the model of equipment</string>
- </property>
- </widget>
- </item>
- <item row="6" column="0">
- <widget class="QLabel" name="DeviceModelLabel">
- <property name="text">
- <string>Device model :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="5" column="0">
- <widget class="QLabel" name="DeviceTypeLabel">
- <property name="text">
- <string>Device type :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="5" column="1">
- <widget class="QComboBox" name="DeviceTypeCB">
- <property name="toolTip">
- <string>Select the type of equipment.</string>
- </property>
- </widget>
- </item>
- <item row="18" column="1">
- <spacer name="verticalSpacer_2">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="7" column="1">
- <layout class="QGridLayout" name="gridLayout_4">
- <property name="horizontalSpacing">
- <number>4</number>
- </property>
- <property name="verticalSpacing">
- <number>2</number>
- </property>
- <item row="0" column="0" colspan="5">
- <widget class="QRadioButton" name="RenderZoneAllBt">
- <property name="text">
- <string>All slides</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QRadioButton" name="RenderZoneFromBt">
- <property name="text">
- <string>From</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QSpinBox" name="RenderZoneFromED"/>
- </item>
- <item row="1" column="2">
- <widget class="QLabel" name="RenderZoneTo">
- <property name="text">
- <string>To</string>
- </property>
- </widget>
- </item>
- <item row="1" column="3">
- <widget class="QSpinBox" name="RenderZoneToED"/>
- </item>
- <item row="1" column="4">
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item row="7" column="0">
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>To render :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
- </property>
- </widget>
- </item>
- <item row="14" column="0">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>Sound :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="14" column="1">
- <widget class="QCheckBox" name="IncludeSoundCB">
- <property name="text">
- <string>Include sound in the video</string>
- </property>
- </widget>
- </item>
- <item row="17" column="0" colspan="2">
- <widget class="QLabel" name="RenderFormatText">
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="16" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_10">
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLineEdit" name="LanguageED">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>50</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>50</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="text">
- <string>und</string>
- </property>
- <property name="maxLength">
- <number>3</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_5">
- <property name="text">
- <string>(ISO 639 language code)</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="16" column="0">
- <widget class="QLabel" name="label_7">
- <property name="text">
- <string>Language :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- <item>
- <widget class="QWidget" name="ProcessWidget" native="true">
- <layout class="QVBoxLayout" name="verticalLayout_3">
- <property name="spacing">
- <number>6</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <layout class="QGridLayout" name="gridLayout_3">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>2</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label_6">
- <property name="text">
- <string>Rendering to :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_11">
- <property name="text">
- <string>Image format :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_12">
- <property name="text">
- <string>Video format :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_13">
- <property name="text">
- <string>Audio format :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QLabel" name="InformationLabel1">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">TextLabel</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QLabel" name="InformationLabel2">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">TextLabel</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QLabel" name="InformationLabel3">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">TextLabel</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QLabel" name="InformationLabel4">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">TextLabel</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="Line" name="line_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_5">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="SoundProgressLabel">
- <property name="text">
- <string>Audio track - Total progression</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QProgressBar" name="SoundProgressBar">
- <property name="value">
- <number>24</number>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_3">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="label_8">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Video track - Current slide progression</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="SlideNumberLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>100</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>100</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="text">
- <string notr="true">1/1</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QProgressBar" name="SlideProgressBar">
- <property name="value">
- <number>24</number>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_4">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="label_9">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Video track - Total progression</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="FrameNumberLabel">
- <property name="minimumSize">
- <size>
- <width>100</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>100</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="text">
- <string notr="true">1/1</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QProgressBar" name="TotalProgressBar">
- <property name="value">
- <number>24</number>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_3">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QGridLayout" name="gridLayout">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>2</number>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="DisplayTextLabel">
- <property name="text">
- <string>Elapsed time :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_16">
- <property name="text">
- <string>Average render speed :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="0" column="1" colspan="2">
- <widget class="QLabel" name="ElapsedTimeLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">00:00:00</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QLabel" name="FPSLabel">
- <property name="text">
- <string notr="true">0.0</string>
- </property>
- </widget>
- </item>
- <item row="1" column="2">
- <widget class="QLabel" name="label_17">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>fps</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>0</width>
- <height>0</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="Line" name="line">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <property name="spacing">
- <number>4</number>
- </property>
- <item>
- <widget class="QPushButton" name="ProjectPropertiesBt">
- <property name="toolTip">
- <string>Accept modification and start rendering process</string>
- </property>
- <property name="text">
- <string>&Properties</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/PrjProperties.png</normaloff>:/img/PrjProperties.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="OkBt">
- <property name="toolTip">
- <string>Accept modification and start rendering process</string>
- </property>
- <property name="text">
- <string>&Ok</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="CancelBt">
- <property name="toolTip">
- <string>Cancel modification or rendering process and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Cancel</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="HelpBT">
- <property name="toolTip">
- <string>Open help page describing this dialog box</string>
- </property>
- <property name="text">
- <string>&Help</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
- </property>
- <property name="shortcut">
- <string>F1</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <tabstops>
- <tabstop>FileFormatCB</tabstop>
- <tabstop>DestinationFilePath</tabstop>
- <tabstop>DestinationFilePathBT</tabstop>
- <tabstop>DeviceTypeCB</tabstop>
- <tabstop>DeviceModelCB</tabstop>
- <tabstop>StandardCombo</tabstop>
- <tabstop>GeometryCombo</tabstop>
- <tabstop>ImageSizeCombo</tabstop>
- <tabstop>VideoFormatCB</tabstop>
- <tabstop>VideoBitRateCB</tabstop>
- <tabstop>AudioFormatCB</tabstop>
- <tabstop>AudioBitRateCB</tabstop>
- <tabstop>OkBt</tabstop>
- <tabstop>CancelBt</tabstop>
- <tabstop>HelpBT</tabstop>
- <tabstop>SelectDestScroll</tabstop>
- </tabstops>
- <resources/>
- <connections/>
-</ui>
diff --git a/src/ffDiaporama/DlgRenderVideo/DlgRenderVideo.cpp b/src/ffDiaporama/DlgRenderVideo/DlgRenderVideo.cpp
new file mode 100755
index 0000000..884e57d
--- /dev/null
+++ b/src/ffDiaporama/DlgRenderVideo/DlgRenderVideo.cpp
@@ -0,0 +1,1522 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "../_ApplicationDefinitions.h"
+#include "../DlgffDPjrProperties/DlgffDPjrProperties.h"
+#include "DlgRenderVideo.h"
+#include "ui_DlgRenderVideo.h"
+
+#include <QFileDialog>
+#include <QMessageBox>
+#include <QFutureWatcher>
+
+//====================================================================================================================
+
+DlgRenderVideo::DlgRenderVideo(cDiaporama &TheDiaporama,int TheExportMode,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent):
+ QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent),ui(new Ui::DlgRenderVideo) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::DlgRenderVideo");
+
+ ui->setupUi(this);
+ OkBt =ui->OkBt;
+ CancelBt =ui->CancelBt;
+ HelpBt =ui->HelpBT;
+ Diaporama =&TheDiaporama;
+ ExportMode =TheExportMode;
+ IsDestFileOpen =false;
+ StopSpinboxRecursion=false;
+ Language =Diaporama->ProjectInfo->DefaultLanguage;
+}
+
+//====================================================================================================================
+
+DlgRenderVideo::~DlgRenderVideo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::~DlgRenderVideo");
+
+ delete ui;
+}
+
+//====================================================================================================================
+
+void DlgRenderVideo::DoInitDialog() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::DoInitDialog");
+
+ switch (ExportMode) {
+ case EXPORTMODE_ADVANCED : setWindowTitle(QApplication::translate("DlgRenderVideo","Advanced render video")); break;
+ case MODE_SMARTPHONE : setWindowTitle(QApplication::translate("DlgRenderVideo","Render video for mobil player and smartphone")); break;
+ case MODE_MULTIMEDIASYS : setWindowTitle(QApplication::translate("DlgRenderVideo","Render video for multimedia system")); break;
+ case MODE_FORTHEWEB : setWindowTitle(QApplication::translate("DlgRenderVideo","Render video for the WEB")); break;
+ }
+
+ // For the first step, only SelectDestWidget is display and enable
+ ui->SelectDestScroll->setEnabled(true); ui->SelectDestScroll->setVisible(true);
+ ui->ProcessWidget->setEnabled(false); ui->ProcessWidget->setVisible(false);
+
+ QString FolderProject=Diaporama->ProjectFileName;
+ if (FolderProject!="") {
+ FolderProject=QFileInfo(FolderProject).absolutePath();
+ if (FolderProject.endsWith(QDir::separator())) {
+ FolderProject=QFileInfo(Diaporama->ProjectFileName).baseName();
+ } else if (FolderProject.lastIndexOf(QDir::separator())>0) FolderProject=FolderProject.mid(FolderProject.lastIndexOf(QDir::separator())+1);
+ }
+
+ // Output file
+ OutputFileName=Diaporama->ApplicationConfig->LastRenderVideoPath+
+ (Diaporama->ApplicationConfig->LastRenderVideoPath.endsWith(QDir::separator())?"":QString(QDir::separator()))+
+ (Diaporama->ProjectFileName!=""?
+ (Diaporama->ApplicationConfig->DefaultNameProjectName==1?QFileInfo(Diaporama->ProjectFileName).baseName():
+ (((Diaporama->ApplicationConfig->DefaultNameProjectName==2)&&(Diaporama->ProjectInfo->Title!=""))?Diaporama->ProjectInfo->Title:FolderProject)):
+ QApplication::translate("DlgRenderVideo","movie","Default name for rendering"));
+
+ OutputFileFormat = Diaporama->ApplicationConfig->DefaultFormat;
+ VideoCodec = Diaporama->ApplicationConfig->DefaultVideoCodec;
+ VideoFrameRate = 25;
+ VideoBitRate = Diaporama->ApplicationConfig->DefaultVideoBitRate;
+ AudioCodec = Diaporama->ApplicationConfig->DefaultAudioCodec;
+ AudioFrequency = 48000;
+ AudioBitRate = Diaporama->ApplicationConfig->DefaultAudioBitRate;
+ ImageSize = Diaporama->ApplicationConfig->DefaultImageSize;
+ Standard = Diaporama->ApplicationConfig->DefaultStandard;
+
+ ui->IncludeSoundCB->setChecked(true);
+ connect(ui->IncludeSoundCB,SIGNAL(clicked()),this,SLOT(s_IncludeSound()));
+
+ if (ExportMode==EXPORTMODE_ADVANCED) {
+
+ ui->DeviceTypeLabel->setVisible(false);
+ ui->DeviceTypeCB->setVisible(false);
+ ui->DeviceModelCB->setVisible(false);
+ ui->DeviceModelLabel->setVisible(false);
+ ui->RenderFormatText->setVisible(false);
+ ui->VideoFormatCB->view()->setFixedWidth(400);
+ ui->AudioFormatCB->view()->setFixedWidth(400);
+
+ // Init format container combo
+ for (int i=0;i<NBR_FORMATDEF;i++) if (FORMATDEF[i].IsFind) {
+ ui->FileFormatCB->addItem(FORMATDEF[i].LongName,QVariant(i));
+ if (i==OutputFileFormat) {
+ ui->FileFormatCB->setCurrentIndex(ui->FileFormatCB->count()-1);
+ FileFormatCombo(i);
+ }
+ }
+
+ connect(ui->FileFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(FileFormatCombo(int)));
+
+ // Video standard & geometry
+ ui->GeometryCombo->setEnabled(false);
+ ui->GeometryCombo->setCurrentIndex(Diaporama->ImageGeometry);
+ ui->StandardCombo->setCurrentIndex(Diaporama->ApplicationConfig->DefaultStandard);
+ connect(ui->GeometryCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(InitImageSizeCombo(int)));
+ connect(ui->StandardCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(InitImageSizeCombo(int)));
+
+ // Image size
+ InitImageSizeCombo(0);
+ ui->ImageSizeCombo->setCurrentIndex(ui->ImageSizeCombo->findText(DefImageFormat[Diaporama->ApplicationConfig->DefaultStandard][Diaporama->ImageGeometry][Diaporama->ApplicationConfig->DefaultImageSize].Name));
+ connect(ui->ImageSizeCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(InitVideoBitRateCB(int)));
+
+ // codec(s) & bitrate(s)
+ FileFormatCombo(0);
+ InitVideoBitRateCB(-1);
+ InitAudioBitRateCB(-1);
+
+ ui->AudioFormatLabel->setEnabled(ui->IncludeSoundCB->isChecked());
+ ui->AudioFormatCB->setEnabled(ui->IncludeSoundCB->isChecked());
+ ui->AudioBitRateLabel->setEnabled(ui->IncludeSoundCB->isChecked());
+ ui->AudioBitRateCB->setEnabled(ui->IncludeSoundCB->isChecked());
+
+ connect(ui->VideoFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(InitVideoBitRateCB(int)));
+ connect(ui->AudioFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(InitAudioBitRateCB(int)));
+
+ } else {
+ ui->FileFormatLabel->setVisible(false); ui->FileFormatCB->setVisible(false);
+ ui->GeometryLabel->setVisible(false); ui->GeometryCombo->setVisible(false);
+ ui->StandardLabel->setVisible(false); ui->StandardCombo->setVisible(false);
+ ui->VideoFormatLabel->setVisible(false); ui->VideoFormatCB->setVisible(false);
+ ui->VideoBitRateLabel->setVisible(false); ui->VideoBitRateCB->setVisible(false);
+
+ ui->AudioFormatLabel->setVisible(false); ui->AudioFormatLabel->setEnabled(false);
+ ui->AudioFormatCB->setVisible(false); ui->AudioFormatCB->setEnabled(false);
+ ui->AudioBitRateLabel->setVisible(false); ui->AudioBitRateLabel->setEnabled(false);
+ ui->AudioBitRateCB->setVisible(false); ui->AudioBitRateCB->setEnabled(false);
+
+ QStringList List;
+ int Default=ExportMode==MODE_SMARTPHONE?Diaporama->ApplicationConfig->DefaultSmartphoneType:
+ ExportMode==MODE_MULTIMEDIASYS?Diaporama->ApplicationConfig->DefaultMultimediaType:
+ ExportMode==MODE_FORTHEWEB?Diaporama->ApplicationConfig->DefaultForTheWEBType:
+ Diaporama->ApplicationConfig->DefaultLossLess;
+ if (ExportMode!=MODE_LOSSLESS) {
+ ui->ImageSizeLabel->setVisible(false);
+ ui->ImageSizeCombo->setVisible(false);
+ ui->DeviceTypeLabel->setVisible(true);
+ ui->DeviceTypeCB->setVisible(true);
+ ui->DeviceModelCB->setVisible(true);
+ ui->DeviceModelLabel->setVisible(true);
+ for (int i=0;i<Diaporama->ApplicationConfig->DeviceModelList.TranslatedRenderSubtype[ExportMode].count();i++) List.append(Diaporama->ApplicationConfig->DeviceModelList.TranslatedRenderSubtype[ExportMode][i]+"#"+QString("%1").arg(i));
+ List.sort();
+ for (int i=0;i<List.count();i++) {
+ QString Item=List[i];
+ int ItemData=Item.mid(Item.lastIndexOf("#")+1).toInt();
+ Item=Item.left(Item.lastIndexOf("#"));
+ ui->DeviceTypeCB->addItem(Item,QVariant(ItemData));
+ if (Default==ItemData) ui->DeviceTypeCB->setCurrentIndex(i);
+ }
+
+ s_DeviceTypeCB(0);
+ s_DeviceModelCB(0);
+ connect(ui->DeviceTypeCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_DeviceTypeCB(int)));
+ connect(ui->DeviceModelCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_DeviceModelCB(int)));
+ } else {
+ ui->ImageSizeLabel->setVisible(true);
+ ui->ImageSizeCombo->setVisible(true);
+ ui->DeviceTypeLabel->setVisible(false);
+ ui->DeviceTypeCB->setVisible(false);
+ ui->DeviceModelCB->setVisible(false);
+ ui->DeviceModelLabel->setVisible(false);
+ InitImageSizeCombo(0);
+ ui->ImageSizeCombo->setCurrentIndex(ui->ImageSizeCombo->findText(DefImageFormat[Diaporama->ApplicationConfig->DefaultStandard][Diaporama->ImageGeometry][Diaporama->ApplicationConfig->DefaultLossLess].Name));
+ InitVideoBitRateCB(0);
+ connect(ui->ImageSizeCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(InitVideoBitRateCB(int)));
+ }
+ }
+
+ ui->LanguageED->setText(Language);
+ ui->RenderZoneAllBt->setChecked(true);
+ ui->RenderZoneFromBt->setChecked(false);
+ ui->RenderZoneFromED->setEnabled(ui->RenderZoneFromBt->isChecked());
+ ui->RenderZoneToED->setEnabled(ui->RenderZoneFromBt->isChecked());
+ ui->RenderZoneTo->setEnabled(ui->RenderZoneFromBt->isChecked());
+ ui->RenderZoneFromED->setRange(1,Diaporama->List.count());
+ ui->RenderZoneFromED->setValue(1);
+ ui->RenderZoneToED->setRange(1,Diaporama->List.count());
+ ui->RenderZoneToED->setValue(Diaporama->List.count());
+ connect(ui->RenderZoneAllBt,SIGNAL(clicked()),this,SLOT(SetZoneToAll()));
+ connect(ui->RenderZoneFromBt,SIGNAL(clicked()),this,SLOT(SetZoneToPartial()));
+
+ ui->DestinationFilePath->setText(OutputFileName);
+ AdjustDestinationFile();
+ connect(ui->DestinationFilePathBT,SIGNAL(clicked()),this,SLOT(SelectDestinationFile()));
+ connect(ui->DestinationFilePath,SIGNAL(editingFinished()),this,SLOT(AdjustDestinationFile()));
+
+ connect(ui->ProjectPropertiesBt,SIGNAL(clicked()),this,SLOT(ProjectProperties()));
+}
+
+//====================================================================================================================
+
+void DlgRenderVideo::ProjectProperties() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::ProjectProperties");
+
+ DlgffDPjrProperties Dlg(Diaporama->ProjectInfo,HELPFILE_DlgffDPjrProperties,BaseApplicationConfig,((cApplicationConfig *)BaseApplicationConfig)->DlgffDPjrPropertiesWSP,this);
+ Dlg.InitDialog();
+ if (Dlg.exec()==0) emit SetModifyFlag();
+}
+
+//====================================================================================================================
+
+void DlgRenderVideo::SetZoneToAll() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::SetZoneToAll");
+
+ ui->RenderZoneAllBt->setChecked(true);
+ ui->RenderZoneFromBt->setChecked(false);
+ ui->RenderZoneFromED->setEnabled(ui->RenderZoneFromBt->isChecked());
+ ui->RenderZoneToED->setEnabled(ui->RenderZoneFromBt->isChecked());
+ ui->RenderZoneTo->setEnabled(ui->RenderZoneFromBt->isChecked());
+}
+
+//====================================================================================================================
+
+void DlgRenderVideo::SetZoneToPartial() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::SetZoneToPartial");
+
+ ui->RenderZoneAllBt->setChecked(false);
+ ui->RenderZoneFromBt->setChecked(true);
+ ui->RenderZoneFromED->setEnabled(ui->RenderZoneFromBt->isChecked());
+ ui->RenderZoneToED->setEnabled(ui->RenderZoneFromBt->isChecked());
+ ui->RenderZoneTo->setEnabled(ui->RenderZoneFromBt->isChecked());
+}
+
+//====================================================================================================================
+
+void DlgRenderVideo::s_DeviceTypeCB(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::s_DeviceTypeCB");
+
+ ui->DeviceModelCB->clear();
+ int ItemData=ui->DeviceTypeCB->currentIndex();
+ if (ItemData>=0) ItemData=ui->DeviceTypeCB->itemData(ItemData).toInt();
+ QStringList List;
+ for (int i=0;i<Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel.count();i++)
+ if ((Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceType==ExportMode)&&(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceSubtype==ItemData))
+ List.append(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName);
+ List.sort();
+ ui->DeviceModelCB->addItems(List);
+ int i=0;
+ int ToFind=(ExportMode==MODE_SMARTPHONE)?Diaporama->ApplicationConfig->DefaultSmartphoneModel:
+ (ExportMode==MODE_MULTIMEDIASYS)?Diaporama->ApplicationConfig->DefaultMultimediaModel:
+ Diaporama->ApplicationConfig->DefaultForTheWEBModel;
+ while ((i<Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex!=ToFind)) i++;
+ if (Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceIndex==ToFind)
+ ui->DeviceModelCB->setCurrentIndex(ui->DeviceModelCB->findText(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName));
+}
+
+//====================================================================================================================
+
+void DlgRenderVideo::InitImageSizeCombo(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::InitImageSizeCombo");
+ int Geometry=(ExportMode!=MODE_LOSSLESS?ui->GeometryCombo->currentIndex():Diaporama->ImageGeometry);
+ int Standard=(ExportMode!=MODE_LOSSLESS?ui->StandardCombo->currentIndex():Diaporama->ApplicationConfig->DefaultStandard);
+ int ImageSize=ui->ImageSizeCombo->currentIndex();
+ ui->ImageSizeCombo->clear();
+ QStringList List;
+ for (int i=0;i<NBR_SIZEDEF;i++) List.append(QString("%1:%2#####%3").arg(DefImageFormat[Standard][Geometry][i].Name).arg(ORDERIMAGENAME[i]).arg(i));
+ // Sort List
+ for (int i=0;i<List.count();i++) for (int j=0;j<List.count()-1;j++) {
+ QString StrA=List[j].mid(List[j].lastIndexOf(":")+1); StrA=StrA.left(StrA.indexOf("#"));
+ QString StrB=List[j+1].mid(List[j+1].lastIndexOf(":")+1); StrB=StrB.left(StrB.indexOf("#"));
+ if (StrA.toInt()>StrB.toInt()) List.swap(j,j+1);
+ }
+ // Fill combo
+ for (int i=0;i<List.count();i++) {
+ QString Codec=List[i].left(List[i].indexOf("#####")); Codec=Codec.left(Codec.lastIndexOf(":"));
+ int Index=List[i].mid(List[i].indexOf("#####")+QString("#####").length()).toInt();
+ ui->ImageSizeCombo->addItem(Codec,QVariant(Index));
+ }
+ ui->ImageSizeCombo->setCurrentIndex(ImageSize);
+}
+
+//====================================================================================================================
+
+void DlgRenderVideo::SelectDestinationFile() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::SelectDestinationFile");
+
+ QString FileFormat;
+ if (ExportMode==EXPORTMODE_ADVANCED) {
+ int OutputFileFormat=ui->FileFormatCB->itemData(ui->FileFormatCB->currentIndex()).toInt();
+ FileFormat=QString(FORMATDEF[OutputFileFormat].LongName)+" (*."+QString(FORMATDEF[OutputFileFormat].FileExtension)+")";
+ } else {
+ QString Device=ui->DeviceModelCB->currentText();
+ int i=0;
+ while ((i<Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName!=Device)) i++;
+ if (i<Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel.count()) {
+ FileFormat=QString(FORMATDEF[Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->FileFormat].LongName)+" (*."+
+ QString(FORMATDEF[Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->FileFormat].FileExtension)+")";
+ }
+ }
+ //QString Path=QFileInfo(ui->DestinationFilePath->text()).absolutePath();
+ //QString OutputFileName =QFileDialog::getSaveFileName(this,QApplication::translate("DlgRenderVideo","Select destination file"),Path,FileFormat);
+ QString OutputFileName =QFileDialog::getSaveFileName(this,QApplication::translate("DlgRenderVideo","Select destination file"),ui->DestinationFilePath->text(),FileFormat);
+ if (OutputFileName!="") {
+ Diaporama->ApplicationConfig->LastRenderVideoPath=QFileInfo(OutputFileName).dir().absolutePath();
+ ui->DestinationFilePath->setText(OutputFileName);
+ AdjustDestinationFile();
+ }
+}
+
+//====================================================================================================================
+
+void DlgRenderVideo::FileFormatCombo(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::FileFormatCombo");
+
+ AdjustDestinationFile();
+
+ ui->VideoFormatCB->clear();
+ ui->AudioFormatCB->clear();
+
+ //********* Video codec part
+ int CurrentFormat=ui->FileFormatCB->itemData(ui->FileFormatCB->currentIndex()).toInt();
+ QString AllowedCodec=FORMATDEF[CurrentFormat].PossibleVideoCodec;
+ QString Codec="";
+ QString ToSelect="";
+ QStringList List;
+ int Index=0;
+ while (AllowedCodec.length()>0) {
+ Index=AllowedCodec.indexOf("#");
+ if (Index>0) {
+ Codec=AllowedCodec.left(Index);
+ AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1);
+ } else {
+ Codec=AllowedCodec;
+ AllowedCodec="";
+ }
+ // Now find index of this codec in the VIDEOCODECDEF
+ Index=0;
+ while ((Index<NBR_VIDEOCODECDEF)&&(Codec!=QString(VIDEOCODECDEF[Index].FFD_VCODECST))) Index++;
+ if ((Index<NBR_VIDEOCODECDEF)&&(VIDEOCODECDEF[Index].IsFind)) {
+ List.append(QString("%1#####%2").arg(VIDEOCODECDEF[Index].LongName).arg(Index));
+ if (Codec==QString(VideoCodec)) ToSelect=QString(VIDEOCODECDEF[Index].LongName);
+ }
+ }
+ // Sort List
+ for (int i=0;i<List.count();i++) for (int j=0;j<List.count()-1;j++) if (List[j]>List[j+1]) List.swap(j,j+1);
+ // Fill combo
+ for (int i=0;i<List.count();i++) {
+ Codec=List[i].left(List[i].indexOf("#####"));
+ Index=List[i].mid(List[i].indexOf("#####")+QString("#####").length()).toInt();
+ ui->VideoFormatCB->addItem(Codec,QVariant(Index));
+ }
+ // Set current selection
+ if (ui->VideoFormatCB->findText(ToSelect)!=-1) ui->VideoFormatCB->setCurrentIndex(ui->VideoFormatCB->findText(ToSelect));
+ else ui->VideoFormatCB->setCurrentIndex(0);
+ ui->VideoFormatCB->setEnabled(ui->VideoFormatCB->count()>0);
+
+ //********* Audio codec part
+ AllowedCodec=FORMATDEF[CurrentFormat].PossibleAudioCodec;
+ Codec="";
+ Index=0;
+ ToSelect="";
+ List.clear();
+ while (AllowedCodec.length()>0) {
+ Index=AllowedCodec.indexOf("#");
+ if (Index>0) {
+ Codec=AllowedCodec.left(Index);
+ AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1);
+ } else {
+ Codec=AllowedCodec;
+ AllowedCodec="";
+ }
+ // Now find index of this codec in the AUDIOCODECDEF
+ Index=0;
+ while ((Index<NBR_AUDIOCODECDEF)&&(Codec!=QString(AUDIOCODECDEF[Index].ShortName))) Index++;
+ if ((Index<NBR_AUDIOCODECDEF)&&(AUDIOCODECDEF[Index].IsFind)) {
+ List.append(QString("%1#####%2").arg(AUDIOCODECDEF[Index].LongName).arg(Index));
+ if (Codec==QString(AudioCodec)) ToSelect=QString(AUDIOCODECDEF[Index].LongName);
+ }
+ }
+ // Sort List
+ for (int i=0;i<List.count();i++) for (int j=0;j<List.count()-1;j++) if (List[j]>List[j+1]) List.swap(j,j+1);
+ // Fill combo
+ for (int i=0;i<List.count();i++) {
+ Codec=List[i].left(List[i].indexOf("#####"));
+ Index=List[i].mid(List[i].indexOf("#####")+QString("#####").length()).toInt();
+ ui->AudioFormatCB->addItem(Codec,QVariant(Index));
+ }
+ // Set current selection
+ if (ui->AudioFormatCB->findText(ToSelect)!=-1) ui->AudioFormatCB->setCurrentIndex(ui->AudioFormatCB->findText(ToSelect));
+ else ui->AudioFormatCB->setCurrentIndex(0);
+ ui->AudioFormatCB->setEnabled(ui->AudioFormatCB->count()>0);
+}
+
+//====================================================================================================================
+
+void DlgRenderVideo::InitVideoBitRateCB(int ChangeIndex) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::InitVideoBitRateCB");
+
+ if (ExportMode==MODE_LOSSLESS) {
+ QString Text="Format=\tMKV\nVideo=\tx264 lossless";
+ int ImgSize=ImageSize=ui->ImageSizeCombo->itemData(ui->ImageSizeCombo->currentIndex()).toInt();
+ int ExtendH =0;
+ int ExtendV =0;
+ int W=DefImageFormat[Standard][Diaporama->ImageGeometry][ImgSize].Width;
+ int H=DefImageFormat[Standard][Diaporama->ImageGeometry][ImgSize].Height;
+ Text=Text+QString("-%1").arg(W)+"x"+QString("%1").arg(H);
+ if (ExtendH>0) Text=Text+"+PADLEFT:"+QString("%1").arg(ExtendH/2)+"+PADRIGHT:"+QString("%1").arg(ExtendH-ExtendH/2);
+ if (ExtendV>0) Text=Text+"+PADTOP:"+QString("%1").arg(ExtendV/2)+"+PADBOTTOM:"+QString("%1").arg(ExtendV-ExtendV/2);
+ if (ui->IncludeSoundCB->isChecked()) Text=Text+"\nAudio=\tFLAC";
+ ui->RenderFormatText->setText(Text);
+ AdjustDestinationFile();
+ } else {
+ ui->VideoBitRateCB->clear();
+ int CurrentCodec=ui->VideoFormatCB->currentIndex();
+ int CurrentSize =ui->ImageSizeCombo->itemData(ui->ImageSizeCombo->currentIndex()).toInt();
+ if (CurrentCodec>=0) {
+ CurrentCodec=ui->VideoFormatCB->itemData(CurrentCodec).toInt();
+
+ QString AllowedBitRate;
+ QString BitRate="";
+ int Index=0;
+ bool IsFindBitRate=false;
+ AllowedBitRate=VIDEOCODECDEF[CurrentCodec].PossibleBitrate;
+ BitRate="";
+ Index=0;
+ IsFindBitRate=false;
+ QStringList List;
+ while (AllowedBitRate.length()>0) {
+ Index=AllowedBitRate.indexOf("#");
+ if (Index>0) {
+ BitRate=AllowedBitRate.left(Index);
+ AllowedBitRate=AllowedBitRate.right(AllowedBitRate.length()-Index-1);
+ } else {
+ BitRate=AllowedBitRate;
+ AllowedBitRate="";
+ }
+ List.append(BitRate);
+ }
+ for (int i=0;i<List.count();i++) for (int j=0;j<List.count()-1;j++) {
+ QString NameA=List[j]; if (NameA.endsWith("k")) NameA=NameA.left(NameA.length()-1);
+ int NumA=NameA.toInt();
+ QString NameB=List[j+1]; if (NameB.endsWith("k")) NameB=NameB.left(NameB.length()-1);
+ int NumB=NameB.toInt();
+ if (NumA>NumB) List.swap(j,j+1);
+ }
+ for (int i=0;i<List.count();i++) {
+ ui->VideoBitRateCB->addItem(List[i]);
+ if ((ChangeIndex==-1)&&(List[i]==QString("%1k").arg(VideoBitRate))) {
+ ui->VideoBitRateCB->setCurrentIndex(ui->VideoBitRateCB->count()-1);
+ IsFindBitRate=true;
+ }
+ }
+ if (!IsFindBitRate) ui->VideoBitRateCB->setCurrentIndex(ui->VideoBitRateCB->findText(VIDEOCODECDEF[CurrentCodec].DefaultBitrate[CurrentSize]));
+ ui->VideoBitRateCB->setEnabled(ui->VideoBitRateCB->count()>1);
+ } else ui->VideoBitRateCB->setEnabled(false);
+ }
+}
+
+//====================================================================================================================
+
+void DlgRenderVideo::InitAudioBitRateCB(int ChangeIndex) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::InitAudioBitRateCB");
+
+ ui->AudioBitRateCB->clear();
+ int CurrentCodec=ui->AudioFormatCB->currentIndex();
+ if (CurrentCodec>=0) {
+ CurrentCodec=ui->AudioFormatCB->itemData(CurrentCodec).toInt();
+
+ QString AllowedBitRate;
+ QString BitRate="";
+ int Index=0;
+ bool IsFindBitRate=false;
+ AllowedBitRate=AUDIOCODECDEF[CurrentCodec].PossibleBitrate2CH;
+ BitRate="";
+ Index=0;
+ IsFindBitRate=false;
+ QStringList List;
+ while (AllowedBitRate.length()>0) {
+ Index=AllowedBitRate.indexOf("#");
+ if (Index>0) {
+ BitRate=AllowedBitRate.left(Index);
+ AllowedBitRate=AllowedBitRate.right(AllowedBitRate.length()-Index-1);
+ } else {
+ BitRate=AllowedBitRate;
+ AllowedBitRate="";
+ }
+ List.append(BitRate);
+ }
+ for (int i=0;i<List.count();i++) for (int j=0;j<List.count()-1;j++) {
+ QString NameA=List[j]; if (NameA.endsWith("k")) NameA=NameA.left(NameA.length()-1);
+ int NumA=NameA.toInt();
+ QString NameB=List[j+1]; if (NameB.endsWith("k")) NameB=NameB.left(NameB.length()-1);
+ int NumB=NameB.toInt();
+ if (NumA>NumB) List.swap(j,j+1);
+ }
+ for (int i=0;i<List.count();i++) {
+ ui->AudioBitRateCB->addItem(List[i]);
+ if ((ChangeIndex==-1)&&(List[i]==QString("%1k").arg(AudioBitRate))) {
+ ui->AudioBitRateCB->setCurrentIndex(ui->AudioBitRateCB->count()-1);
+ IsFindBitRate=true;
+ }
+ }
+ if (!IsFindBitRate) ui->AudioBitRateCB->setCurrentIndex(ui->AudioBitRateCB->findText(AUDIOCODECDEF[CurrentCodec].Default));
+ ui->AudioBitRateCB->setEnabled(ui->AudioBitRateCB->count()>1);
+ } else ui->AudioBitRateCB->setEnabled(false);
+}
+
+//====================================================================================================================
+
+void DlgRenderVideo::AdjustDestinationFile() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::AdjustDestinationFile");
+
+ QString FileFormat;
+ if (ExportMode==EXPORTMODE_ADVANCED) {
+ int OutputFileFormat=ui->FileFormatCB->itemData(ui->FileFormatCB->currentIndex()).toInt();
+ FileFormat=FORMATDEF[OutputFileFormat].FileExtension;
+ } else {
+ if (ExportMode!=MODE_LOSSLESS) {
+ QString Device=ui->DeviceModelCB->currentText();
+ int i=0;
+ while ((i<Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName!=Device)) i++;
+ if (i<Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel.count()) {
+ FileFormat=QString(FORMATDEF[Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->FileFormat].FileExtension);
+ }
+ } else {
+ FileFormat="mkv";
+ }
+ }
+ QString OutputFileName =ui->DestinationFilePath->text();
+
+ OutputFileName=QFileInfo(OutputFileName).absoluteFilePath();
+ if (QFileInfo(OutputFileName).suffix().length()>0) OutputFileName=OutputFileName.left(OutputFileName.length()-QFileInfo(OutputFileName).suffix().length()-1);
+ if (OutputFileName.endsWith(".")) OutputFileName=OutputFileName.left(OutputFileName.length()-1);
+ OutputFileName=AdjustDirForOS(OutputFileName+"."+FileFormat);
+ ui->DestinationFilePath->setText(OutputFileName);
+}
+
+//====================================================================================================================
+
+void DlgRenderVideo::reject() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::reject");
+
+ if (IsDestFileOpen) {
+ StopProcessWanted=true;
+ ToLog(LOGMSG_INFORMATION,QApplication::translate("DlgRenderVideo","Stop rendering"));
+ } else QCustomDialog::reject();
+}
+
+//====================================================================================================================
+
+void DlgRenderVideo::s_IncludeSound() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::s_IncludeSound");
+
+ ui->AudioFormatLabel->setEnabled(ui->IncludeSoundCB->isChecked());
+ ui->AudioFormatCB->setEnabled(ui->IncludeSoundCB->isChecked());
+ ui->AudioBitRateLabel->setEnabled(ui->IncludeSoundCB->isChecked());
+ ui->AudioBitRateCB->setEnabled(ui->IncludeSoundCB->isChecked());
+ if (ExportMode!=EXPORTMODE_ADVANCED) s_DeviceModelCB(ui->DeviceModelCB->currentIndex());
+}
+
+//====================================================================================================================
+
+void DlgRenderVideo::s_DeviceModelCB(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::s_DeviceModelCB");
+
+ QString Device=ui->DeviceModelCB->currentText();
+ int i=0;
+ while ((i<Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName!=Device)) i++;
+ if (i<Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel.count()) {
+ int Standard=Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->Standard;
+ QString Text="Format=\t"+QString(FORMATDEF[Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->FileFormat].LongName)+"\nVideo=\t";
+ Text=Text+VIDEOCODECDEF[Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->VideoCodec].LongName;
+ int ImgSize=Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->ImageSize;
+ int ExtendH =0;
+ int ExtendV =0;
+ int W=DefImageFormat[Standard][Diaporama->ImageGeometry][ImgSize].Width;
+ int H=DefImageFormat[Standard][Diaporama->ImageGeometry][ImgSize].Height;
+ Text=Text+QString("-%1").arg(W)+"x"+QString("%1").arg(H);
+ if (ExtendH>0) Text=Text+"+PADLEFT:"+QString("%1").arg(ExtendH/2)+"+PADRIGHT:"+QString("%1").arg(ExtendH-ExtendH/2);
+ if (ExtendV>0) Text=Text+"+PADTOP:"+QString("%1").arg(ExtendV/2)+"+PADBOTTOM:"+QString("%1").arg(ExtendV-ExtendV/2);
+
+ QString VideoBitRateStr=QString("%1").arg(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->VideoBitrate); if (VideoBitRateStr.endsWith("000")) VideoBitRateStr=VideoBitRateStr.left(VideoBitRateStr.length()-3)+"k";
+ QString AudioBitRateStr=QString("%1").arg(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->AudioBitrate); if (AudioBitRateStr.endsWith("000")) AudioBitRateStr=AudioBitRateStr.left(AudioBitRateStr.length()-3)+"k";
+
+ Text=Text+"-"+VideoBitRateStr+"b/s";
+ if (ui->IncludeSoundCB->isChecked()) Text=Text+"\nAudio=\t"+AUDIOCODECDEF[Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->AudioCodec].LongName+"-"+AudioBitRateStr+"b/s";
+ ui->RenderFormatText->setText(Text);
+
+ } else ui->RenderFormatText->setText("");
+ AdjustDestinationFile();
+}
+
+//====================================================================================================================
+
+// Video codec part
+bool DlgRenderVideo::ComputeVideoPart(QString &vCodec) {
+ bool Continue=true;
+ #ifdef LIBAV_08
+ bool isAVCONV=(Diaporama->ApplicationConfig->BinaryEncoderPath=="avconv");
+ #endif
+
+ switch (VIDEOCODECDEF[VideoCodecIndex].FFD_VCODEC) {
+
+ case VCODEC_H263 :
+ case VCODEC_THEORA :
+ case VCODEC_MPEG :
+ case VCODEC_VP8 :
+ case VCODEC_H264HQ :
+ case VCODEC_H264PQ :
+ case VCODEC_X264LL :
+ vCodec=QString("-vcodec %1 -pix_fmt yuv420p -b:0 %2").arg(VIDEOCODECDEF[VideoCodecIndex].ShortName).arg(VideoBitRate);
+ break;
+
+ case VCODEC_MJPEG :
+ vCodec=QString("-vcodec %1 -qscale 2 -qmin 2 -qmax 2").arg(VIDEOCODECDEF[VideoCodecIndex].ShortName);
+ break;
+
+ case VCODEC_MPEG4 :
+ if (AudioCodec.contains("amr",Qt::CaseInsensitive)) vCodec=QString("-f 3gp -vcodec mpeg4 -pix_fmt yuv420p -b:0 %1").arg(VideoBitRate);
+ else vCodec=QString("-vcodec %1 -pix_fmt yuv420p -b:0 %2").arg(VIDEOCODECDEF[VideoCodecIndex].ShortName).arg(VideoBitRate);
+ break;
+
+ default:
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Unknown video codec");
+ Continue=false;
+ break;
+ }
+ if ((VIDEOCODECDEF[VideoCodecIndex].FFD_VCODEC==VCODEC_MPEG)||(VIDEOCODECDEF[VideoCodecIndex].FFD_VCODEC==VCODEC_VP8))
+ vCodec=vCodec+" -bf 3";
+
+ if ((VIDEOCODECDEF[VideoCodecIndex].FFD_VCODEC==VCODEC_VP8)||(VIDEOCODECDEF[VideoCodecIndex].FFD_VCODEC==VCODEC_H264PQ)||(VIDEOCODECDEF[VideoCodecIndex].FFD_VCODEC==VCODEC_H264HQ))
+ vCodec=vCodec+QString(" -minrate %1 -maxrate %2 -bufsize %3").arg(VideoBitRate-VideoBitRate/10).arg(VideoBitRate+VideoBitRate/10).arg(VideoBitRate*2);
+
+ if ((VIDEOCODECDEF[VideoCodecIndex].FFD_VCODEC==VCODEC_X264LL)||(VIDEOCODECDEF[VideoCodecIndex].FFD_VCODEC==VCODEC_H264PQ)||(VIDEOCODECDEF[VideoCodecIndex].FFD_VCODEC==VCODEC_H264HQ)) {
+ QString Preset=AdjustDirForOS(QDir::currentPath()); if (!Preset.endsWith(QDir::separator())) Preset=Preset+QDir::separator();
+
+ if (VIDEOCODECDEF[VideoCodecIndex].FFD_VCODEC==VCODEC_H264HQ) {
+ #ifdef LIBAV_07
+ Preset="-fpre \""+Preset+"libx264-hq.ffpreset\"";
+ #endif
+ #ifdef LIBAV_08
+ Preset="-preset veryfast -refs:0 3";
+ //if (isAVCONV) Preset="-preset veryfast -refs:0 3";
+ // else Preset="-preset veryfast -x264opts ref=3";
+ #endif
+ } else if (VIDEOCODECDEF[VideoCodecIndex].FFD_VCODEC==VCODEC_H264PQ) {
+ #ifdef LIBAV_07
+ Preset="-fpre \""+Preset+"libx264-pq.ffpreset\"";
+ #endif
+ #ifdef LIBAV_08
+ Preset="-preset veryfast -profile:v baseline -tune:v fastdecode";
+ //if (isAVCONV) Preset="-preset veryfast -profile:v baseline -tune:v fastdecode";
+ // else Preset="-preset veryfast -x264opts level=1.3:no-cabac:vbv-bufsize=768:vbv-maxrate=768";
+ #endif
+ } else if (VIDEOCODECDEF[VideoCodecIndex].FFD_VCODEC==VCODEC_X264LL) {
+ #ifdef LIBAV_07
+ Preset="-fpre \""+Preset+"libx264-lossless.ffpreset\"";
+ #endif
+ #ifdef LIBAV_08
+ Preset="-preset veryfast -qp 0 ";
+ #endif
+ }
+ vCodec=vCodec+" "+Preset;
+ }
+
+ #ifdef LIBAV_07
+ vCodec.replace(" -b:0 "," -b "); // switch to old syntax
+ #endif
+ #ifdef LIBAV_08
+ if (isAVCONV) vCodec.replace("-vcodec libx264","-vcodec libx264 -vsync vfr"); // add vsync vfr for h264 (AVCONV only)
+ #endif
+
+ return Continue;
+}
+
+//====================================================================================================================
+
+// Audio codec part
+bool DlgRenderVideo::ComputeAudioPart(QString &aCodec) {
+ bool Continue=true;
+
+ if (!ui->IncludeSoundCB->isChecked()) {
+ aCodec="-an";
+ return true;
+ } else {
+ int AudioChannels =2;
+
+ switch (AUDIOCODECDEF[AudioCodecIndex].Codec_id) {
+
+ case CODEC_ID_PCM_S16LE:
+ aCodec=QString("-acodec copy"); // Use copy instead of -acodec pcm_s16le because we generate temp.wav as pcm_s16le !
+ break;
+
+ case CODEC_ID_FLAC:
+ aCodec=QString("-acodec flac");
+ break;
+
+ case CODEC_ID_MP2:
+ case CODEC_ID_MP3:
+ case CODEC_ID_AAC:
+ case CODEC_ID_AC3:
+ case CODEC_ID_VORBIS:
+ case CODEC_ID_AMR_WB:
+ case CODEC_ID_AMR_NB:
+ aCodec=QString("-acodec %1 -ab %2").arg(AUDIOCODECDEF[AudioCodecIndex].ShortName).arg(AudioBitRate);
+ break;
+
+ default:
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Unknown audio codec");
+ Continue=false;
+ break;
+ }
+ if (AUDIOCODECDEF[AudioCodecIndex].Codec_id==CODEC_ID_AMR_WB) {
+ AudioChannels=1;
+ AudioFrequency=16000;
+ } else if (AUDIOCODECDEF[AudioCodecIndex].Codec_id==CODEC_ID_AMR_NB) {
+ AudioChannels=1;
+ AudioFrequency=8000;
+ }
+ if (QString(AUDIOCODECDEF[AudioCodecIndex].ShortName)==QString("aac")) aCodec=aCodec+" -strict experimental -absf aac_adtstoasc";
+ if (AudioFrequency!=48000) aCodec=aCodec+QString(" -ar %1").arg(AudioFrequency);
+ if (AudioChannels !=2) aCodec=aCodec+QString(" -ac %1").arg(AudioChannels);
+
+ #ifdef LIBAV_07
+ aCodec=aCodec+" -alang "+Language;
+ #endif
+ #ifdef LIBAV_08
+ aCodec=aCodec+" -metadata:s:1 language="+Language;
+ #endif
+
+ return Continue;
+ }
+}
+
+//====================================================================================================================
+
+// Audio codec part
+bool DlgRenderVideo::ComputeTAGPart(QString &aTAG) {
+ #ifdef LIBAV_08
+ bool isAVCONV=(Diaporama->ApplicationConfig->BinaryEncoderPath=="avconv");
+ #endif
+
+ // Create metadata temp file
+ TempMETAFileName=AdjustDirForOS(QFileInfo(OutputFileName).absolutePath());
+ if (!TempMETAFileName.endsWith(QDir::separator())) TempMETAFileName=TempMETAFileName+QDir::separator();
+ TempMETAFileName=TempMETAFileName+"TAG.txt";
+
+ QFile File(TempMETAFileName);
+ if (File.open(QFile::WriteOnly|QFile::Truncate|QFile::Text)) {
+ QTextStream out(&File);
+ /* M4V/MKV/MP4/MOV/FLV/OGV AVI WEBM MPG/3GP
+ title X X X -
+ author X X - -
+ album X X - -
+ year X X - -
+ comment X X - -
+ composer X - - -
+
+
+ language Ok=3GP/MKV/MP4/M4V/MOV/OGV/WEBM/AVI/FLV Ko=MPG
+ */
+ out<<";FFMETADATA1\n"; // Write header
+ out<<QString("title="+AdjustMETA(Diaporama->ProjectInfo->Title==""?QFileInfo(OutputFileName).baseName():Diaporama->ProjectInfo->Title));
+ out<<QString("artist="+AdjustMETA(Diaporama->ProjectInfo->Author));
+ out<<QString("album="+AdjustMETA(Diaporama->ProjectInfo->Album));
+ out<<QString("comment="+AdjustMETA(Diaporama->ProjectInfo->Comment));
+ out<<QString("date="+QString("%1").arg(Diaporama->ProjectInfo->Year)+"\n");
+ out<<QString("composer="+AdjustMETA(Diaporama->ProjectInfo->Composer));
+ out<<QString("language="+Language+"\n");
+ out<<QString("creation_time="+QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss")+"\n"); // ISO 8601 format
+
+ for (int i=FromSlide;i<=ToSlide;i++) if ((i==FromSlide)||(Diaporama->List[i]->StartNewChapter)) {
+ int NextChapter=i+1;
+ qlonglong Start =Diaporama->GetObjectStartPosition(i)+(i>FromSlide?Diaporama->List[i]->GetTransitDuration():0)-Diaporama->GetObjectStartPosition(FromSlide);
+ qlonglong Duration=Diaporama->List[i]->GetDuration()-(i>FromSlide?Diaporama->List[i]->GetTransitDuration():0);
+ while ((NextChapter<ToSlide)&&(!Diaporama->List[NextChapter]->StartNewChapter)) {
+ Duration=Duration+Diaporama->List[NextChapter]->GetDuration();
+ NextChapter++;
+ if (NextChapter<ToSlide) Duration=Duration-Diaporama->List[NextChapter]->GetTransitDuration();
+ }
+ out<<"[CHAPTER]\n"; // Write Chapter header
+ out<<"TIMEBASE=1/1000\n"; // Timebase
+ out<<"START="+QString("%1").arg(Start)+"\n"; // Start position in ms
+ out<<"END="+QString("%1").arg(Start+Duration)+"\n"; // End position in ms
+ out<<"TITLE="+Diaporama->List[i]->SlideName+"\n"; // Title
+ }
+
+ File.close();
+
+ #ifdef LIBAV_07
+ aTAG=" -i \""+TempMETAFileName+"\" -map_metadata g:0 -map_chapters 0";
+ #endif
+ #ifdef LIBAV_08
+ if (isAVCONV) aTAG=" -i \""+TempMETAFileName+"\" -map_metadata:g "+(ui->IncludeSoundCB->isChecked()?"2":"1")+" -map_chapters "+(ui->IncludeSoundCB->isChecked()?"2":"1");
+ aTAG=" -i \""+TempMETAFileName+"\" -map_metadata:g 0 -map_chapters 0"; // For ffmpeg, mapping is to destination file (for avconv is to source !)
+ #endif
+ return true;
+ } else return false;
+}
+
+//====================================================================================================================
+
+void DlgRenderVideo::DoAccept() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::DoAccept");
+
+ cDiaporamaObjectInfo *PreviousFrame =NULL;
+ cDiaporamaObjectInfo *Frame =NULL;
+ QString vCodec="";
+ QString aCodec="";
+ QString TAG="";
+ QString ffmpegCommand;
+ QProcess Process;
+ bool RefreshDisplay;
+ int DurationProcess; // Display information
+ QString DisplayText; // Display information
+
+ if (IsDestFileOpen) {
+ StopProcessWanted=true;
+ ToLog(LOGMSG_INFORMATION,QApplication::translate("DlgRenderVideo","Stop rendering"));
+ } else {
+ TempWAVFileName ="";
+ TempMETAFileName="";
+ AudioFrequency =48000;
+ RenderedFrame =0;
+ FromSlide =(ui->RenderZoneFromBt->isChecked())?ui->RenderZoneFromED->value()-1:0;
+ ToSlide =(ui->RenderZoneFromBt->isChecked())?ui->RenderZoneToED->value()-1:Diaporama->List.count()-1;
+ int ExtendH =0;
+ int ExtendV =0;
+
+ if (FromSlide>ToSlide) {
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Range selection"),
+ QApplication::translate("DlgRenderVideo","Slide range is defined to incorrect values"));
+ ui->RenderZoneToED->setFocus();
+ return;
+ }
+
+ Language=ui->LanguageED->text();
+ if (Language=="") Language="und";
+ if (Language.length()!=3) {
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Language selection"),
+ QApplication::translate("DlgRenderVideo","Language must be empty or an ISO 639 language code (3 characters)\nSee help for more details!"));
+ ui->LanguageED->setFocus();
+ return;
+ }
+
+ if (OutputFileName !=ui->DestinationFilePath->text()) OutputFileName=ui->DestinationFilePath->text();
+
+ if ((QFileInfo(OutputFileName).exists())&&(CustomMessageBox(this,QMessageBox::Question,QApplication::translate("DlgRenderVideo","Overwrite file ?"),
+ QApplication::translate("DlgRenderVideo","The file you selected already exist.\nDo you want to overwrite it ?"),
+ QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)!=QMessageBox::Yes)) return;
+
+ // Get values from controls
+
+ if (ExportMode==EXPORTMODE_ADVANCED) {
+ Standard =ui->StandardCombo->currentIndex();
+ ImageSize=ui->ImageSizeCombo->itemData(ui->ImageSizeCombo->currentIndex()).toInt();
+
+ OutputFileFormat=ui->FileFormatCB->itemData(ui->FileFormatCB->currentIndex()).toInt();
+ VideoFrameRate =DefImageFormat[ui->StandardCombo->currentIndex()][ui->GeometryCombo->currentIndex()][ImageSize].dFPS;
+ // Video codec
+ VideoCodecIndex=ui->VideoFormatCB->currentIndex();
+ if (VideoCodecIndex<0) {
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Video codec error!");
+ done(0);
+ return;
+ }
+ VideoCodecIndex=ui->VideoFormatCB->itemData(VideoCodecIndex).toInt();
+ QString BitRate=ui->VideoBitRateCB->currentText();
+ if (BitRate.endsWith("k")) BitRate=BitRate.left(BitRate.length()-1)+"000";
+ VideoBitRate=BitRate.toInt();
+
+ // Audio codec
+ AudioCodecIndex=ui->AudioFormatCB->currentIndex();
+ if (AudioCodecIndex<0) {
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Audio codec error!");
+ done(0);
+ return;
+ }
+ AudioCodecIndex=ui->AudioFormatCB->itemData(AudioCodecIndex).toInt();
+ BitRate=ui->AudioBitRateCB->currentText();
+ if (BitRate.endsWith("k")) BitRate=BitRate.left(BitRate.length()-1)+"000";
+ AudioBitRate=BitRate.toInt();
+ ExtendV =DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].Extend*2;
+
+ } else if (ExportMode==MODE_LOSSLESS) {
+
+ Standard =Diaporama->ApplicationConfig->DefaultStandard;
+ ImageSize =ui->ImageSizeCombo->itemData(ui->ImageSizeCombo->currentIndex()).toInt();
+ VideoFrameRate =DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].dFPS;
+ OutputFileFormat=2; // MKV
+ VideoCodecIndex =8; // x264 lossless
+ AudioCodecIndex =7; // FLAC
+ VideoBitRate =0; // Not use
+ AudioBitRate =0; // Not use
+ ExtendV =DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].Extend*2;
+
+ } else {
+
+ OutputFileFormat=0;
+ QString Device=ui->DeviceModelCB->currentText();
+ if (Device=="") {
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Device model selection"),
+ QApplication::translate("DlgRenderVideo","A device model is require!"));
+ ui->DeviceModelCB->setFocus();
+ return;
+ }
+ int i=0;
+ while ((i<Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel.count())&&(Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->DeviceName!=Device)) i++;
+ if (i<Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel.count()) {
+ Standard =Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->Standard;
+ OutputFileFormat=Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->FileFormat;
+ VideoCodecIndex =Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->VideoCodec;
+ AudioCodecIndex =Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->AudioCodec;
+ ImageSize =Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->ImageSize;
+ VideoFrameRate =DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].dFPS;
+ VideoBitRate =Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->VideoBitrate;
+ AudioBitRate =Diaporama->ApplicationConfig->DeviceModelList.RenderDeviceModel[i]->AudioBitrate;
+ ExtendV =DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].Extend*2;
+ }
+ }
+
+ //QString FileFormat =FORMATDEF[OutputFileFormat].FileExtension;
+ VideoCodec=VIDEOCODECDEF[VideoCodecIndex].FFD_VCODECST;
+ AudioCodec=AUDIOCODECDEF[AudioCodecIndex].ShortName;
+
+ // Special case adjustment
+ if (AUDIOCODECDEF[AudioCodecIndex].Codec_id==CODEC_ID_PCM_S16LE) AudioBitRate=1536; // Special case for WAV
+ if (QString(FORMATDEF[OutputFileFormat].ShortName)==QString("flv")) AudioFrequency=44100; // Special case for FLV
+ if (QString(FORMATDEF[OutputFileFormat].ShortName)==QString("3gp")) AudioFrequency=8000; // Special case for AMRNB
+
+ //*****************
+ QString VideoBitRateStr=QString("%1").arg(VideoBitRate); if (VideoBitRateStr.endsWith("000")) VideoBitRateStr=VideoBitRateStr.left(VideoBitRateStr.length()-3)+"k";
+ QString AudioBitRateStr=QString("%1").arg(AudioBitRate); if (AudioBitRateStr.endsWith("000")) AudioBitRateStr=AudioBitRateStr.left(AudioBitRateStr.length()-3)+"k";
+
+ ui->InformationLabel1->setText(OutputFileName);
+ ui->InformationLabel2->setText(DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].Name);
+ ui->InformationLabel3->setText(QString(VIDEOCODECDEF[VideoCodecIndex].LongName)+" - "+(VideoBitRateStr!="0"?VideoBitRateStr+"b/s":"lossless"));
+ ui->InformationLabel4->setText(QString(AUDIOCODECDEF[AudioCodecIndex].LongName)+QString(" - %1 Hz - ").arg(AudioFrequency)+(AudioBitRateStr!="0"?AudioBitRateStr+"b/s":"lossless"));
+
+ //**********************************************************************************************************************************
+ if ((VideoFrameRate>=29.96)&&(VideoFrameRate<=29.98)) VideoFrameRate=29.97; // Manual rounded
+
+ FPS =double(AV_TIME_BASE)/25; // For sound generation, use only 25 FPS to avoid rounded issue (instead of VideoFrameRate)
+ NbrFrame =int(double(Diaporama->GetPartialDuration(FromSlide,ToSlide)*1000)/FPS); // Number of frame to generate
+ StartTime =QTime::currentTime(); // Display control : time the process start
+
+ ui->SoundProgressBar->setValue(0);
+ ui->SoundProgressBar->setMaximum(NbrFrame);
+ ui->SlideProgressBar->setValue(0);
+ ui->SlideProgressBar->setMaximum(0);
+ ui->TotalProgressBar->setValue(0);
+ ui->TotalProgressBar->setMaximum(0);
+ ui->SlideNumberLabel->setText("");
+ ui->FrameNumberLabel->setText("");
+
+ //**********************************************************************************************************************************
+ // Switch dialog to rendering mode
+ //**********************************************************************************************************************************
+
+ bool Continue=true; // Loop control
+ IsDestFileOpen =true;
+ StopProcessWanted =false;
+
+ // if process encoding was not started then start it
+
+ // Only ProcessWidget must be display and enable
+ ui->SelectDestScroll->setEnabled(false); ui->SelectDestScroll->setVisible(false);
+ ui->ProcessWidget->setEnabled(true); ui->ProcessWidget->setVisible(true);
+ ui->SelectDestScroll->setVisible(false);
+
+ // Disable unwanted buttons
+ ui->OkBt->setEnabled(false);
+ ui->ProjectPropertiesBt->setEnabled(false);
+ ui->HelpBT->setEnabled(false);
+
+ //**********************************************************************************************************************************
+ // 1st step encoding : produce WAV file with sound
+ //**********************************************************************************************************************************
+
+ if (ui->IncludeSoundCB->isChecked()) {
+ // Create tempwavefile in the same directory as destination file
+ TempWAVFileName=AdjustDirForOS(QFileInfo(OutputFileName).absolutePath());
+ if (!TempWAVFileName.endsWith(QDir::separator())) TempWAVFileName=TempWAVFileName+QDir::separator();
+ TempWAVFileName=TempWAVFileName+"temp.wav";
+ ToLog(LOGMSG_INFORMATION,QApplication::translate("DlgRenderVideo","Encoding sound"));
+ Continue=WriteTempAudioFile(TempWAVFileName,FromSlide);
+ } else {
+ ui->SoundProgressLabel->setEnabled(false);
+ ui->SoundProgressBar->setEnabled(false);
+ }
+
+ //**********************************************************************************************************************************
+ // 2nd step encoding : produce final file using temporary WAV file with sound
+ //**********************************************************************************************************************************
+ //StartTime=QTime::currentTime(); // Display control : time the process start
+ FPS =double(AV_TIME_BASE)/VideoFrameRate;
+ NbrFrame =int(double(Diaporama->GetPartialDuration(FromSlide,ToSlide)*1000)/FPS); // Number of frame to generate
+
+ ui->SlideProgressBar->setValue(0);
+ ui->TotalProgressBar->setValue(0);
+ ui->TotalProgressBar->setMaximum(NbrFrame);
+ ui->SlideNumberLabel->setText("");
+ ui->FrameNumberLabel->setText("");
+
+ int GeoW =DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].PARNUM;
+ int GeoH =DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].PARDEN;
+ int W =DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].Width;
+ int H =DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].Height;
+ int UpdateWidth =W;
+
+ // Special case for SD-DVD format (anamorphous)
+ if (W==720) switch (Diaporama->ImageGeometry) {
+ case GEOMETRY_4_3: W=(Standard==STANDARD_PAL?768:640); GeoW=4; GeoH=3; break;
+ case GEOMETRY_16_9: W=(Standard==STANDARD_PAL?1024:852); GeoW=16; GeoH=9; break;
+ case GEOMETRY_40_17: W=(Standard==STANDARD_PAL?1356:1130); GeoW=40; GeoH=17; break;
+ }
+
+ Continue=Continue && ComputeVideoPart(vCodec);
+ Continue=Continue && ComputeAudioPart(aCodec);
+
+ #ifdef LIBAV_TAGCHAPTERS
+ Continue=Continue && ComputeTAGPart(TAG);
+ #endif
+
+ // Construct ffmpeg command line
+ if (Continue) {
+ ToLog(LOGMSG_INFORMATION,QApplication::translate("DlgRenderVideo","Start avconv encoder"));
+
+ #ifdef Q_OS_WIN
+ ffmpegCommand="\""+Diaporama->ApplicationConfig->BinaryEncoderPath+"\"";
+ #elif defined(Q_OS_UNIX) && !defined(Q_OS_MACX)
+ ffmpegCommand=Diaporama->ApplicationConfig->BinaryEncoderPath;
+ #endif
+
+ ffmpegCommand=ffmpegCommand+QString(" -y -f image2pipe -vcodec ppm -r %1 -i -").arg(DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].FPS)+
+ (ui->IncludeSoundCB->isChecked()?" -i \""+TempWAVFileName+"\"":"")+
+ TAG+
+ #ifdef LIBAV_07
+ " -timestamp now"+
+ #endif
+ QString(" -dframes %1 %2 -r %3 ").arg(NbrFrame).arg(vCodec).arg(DefImageFormat[Standard][Diaporama->ImageGeometry][ImageSize].FPS)+
+ //(UpdateWidth!=W?QString(" -s %1x%2").arg(UpdateWidth).arg(H+ExtendV):"")+
+ #ifdef LIBAV_08
+ " -sws_flags bicubic "+
+ #endif
+ QString("%1 -aspect %2:%3").arg(aCodec).arg(GeoW).arg(GeoH);
+
+ // Activate multithreading support if getCpuCount()>1 and codec is h264 or VP8
+ if (((getCpuCount()-1)>1)&&((VIDEOCODECDEF[VideoCodecIndex].Codec_id==CODEC_ID_H264)||(VIDEOCODECDEF[VideoCodecIndex].Codec_id==CODEC_ID_VP8)))
+ ffmpegCommand=ffmpegCommand+" -threads "+QString("%1").arg(getCpuCount()-1);
+
+ ffmpegCommand=ffmpegCommand+" \""+OutputFileName+"\"";
+ ToLog(LOGMSG_INFORMATION,ffmpegCommand);
+
+ ffmpegCommand=AdjustDirForOS(ffmpegCommand);
+ }
+
+ // Start ffmpegCommand
+ if (Continue) {
+ Process.setProcessChannelMode(QProcess::/*SeparateChannels*/ForwardedChannels); // Forward standard and error message to the ffdiaporama console
+ Process.start(ffmpegCommand,QIODevice::Append|QIODevice::ReadWrite); // Start command
+ if (!Process.waitForStarted()) {
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Error","Error message"),
+ QApplication::translate("DlgRenderVideo","Error starting avconv","Error message")+"\n"+ffmpegCommand,
+ QMessageBox::Close);
+ Continue=false;
+ }
+ }
+
+ // Encode video
+ if (Continue) {
+ LastCheckTime =StartTime; // Display control : last time the loop start
+ int Position =Diaporama->GetObjectStartPosition(FromSlide); // Render current position
+ int ColumnStart =-1; // Render start position of current object
+ int Column =-1; // Render current object
+
+ for (RenderedFrame=0;Continue && (RenderedFrame<NbrFrame);RenderedFrame++) {
+ int AdjustedDuration=((Column>=0)&&(Column<Diaporama->List.count()))?Diaporama->List[Column]->GetDuration()-Diaporama->GetTransitionDuration(Column+1):0;
+ if (AdjustedDuration<33) AdjustedDuration=33; // Not less than 1/30 sec
+
+ if ((ColumnStart==-1)||(Column==-1)||((Column<Diaporama->List.count())&&((ColumnStart+AdjustedDuration)<=Position))) {
+ while ((ColumnStart==-1)||(Column==-1)||((Column<Diaporama->List.count())&&((ColumnStart+AdjustedDuration)<=Position))) {
+ Column++;
+ AdjustedDuration=(Column<Diaporama->List.count())?Diaporama->List[Column]->GetDuration()-Diaporama->GetTransitionDuration(Column+1):0;
+ if (AdjustedDuration<33) AdjustedDuration=33; // Not less than 1/30 sec
+ ColumnStart=Diaporama->GetObjectStartPosition(Column);
+ if (Column<Diaporama->List.count()) ui->SlideProgressBar->setMaximum(int(double(AdjustedDuration)/(FPS/double(1000)))-1);
+ }
+ RefreshDisplay =true;
+ } else RefreshDisplay =(LastCheckTime.msecsTo(QTime::currentTime())>=1000); // Refresh display only one time per second
+
+ // Refresh Display (if needed)
+ if (RefreshDisplay) {
+ DurationProcess=StartTime.msecsTo(QTime::currentTime());
+ double CalcFPS =(double(RenderedFrame)/(double(DurationProcess)/1000));
+ double EstimDur=double(NbrFrame-RenderedFrame)/CalcFPS;
+ DisplayText=QString("%1").arg((QTime(0,0,0,0).addMSecs(DurationProcess)).toString("hh:mm:ss"))+
+ QApplication::translate("DlgRenderVideo"," - Estimated time left : ")+
+ QString("%1").arg(QTime(0,0,0,0).addMSecs(EstimDur*1000).toString("hh:mm:ss"));
+ ui->ElapsedTimeLabel->setText(DisplayText);
+ DisplayText=QString("%1").arg(double(RenderedFrame)/(double(DurationProcess)/1000),0,'f',1); ui->FPSLabel->setText(DisplayText);
+ DisplayText=QString("%1/%2").arg(Column-FromSlide+1).arg(ToSlide-FromSlide+1); ui->SlideNumberLabel->setText(DisplayText);
+ DisplayText=QString("%1/%2").arg(RenderedFrame).arg(NbrFrame); ui->FrameNumberLabel->setText(DisplayText);
+ ui->SlideProgressBar->setValue(int(double(Position-ColumnStart)/(FPS/double(1000))));
+ ui->TotalProgressBar->setValue(RenderedFrame);
+ LastCheckTime=QTime::currentTime();
+ }
+
+ // Get current frame
+ Frame=new cDiaporamaObjectInfo(PreviousFrame,Position,Diaporama,(FPS/1000));
+
+ // Prepare frame with correct W and H
+ Diaporama->LoadSources(Frame,double(H)/double(1080),W,H,false,true); // Load source images
+ Diaporama->DoAssembly(Frame,W,H); // Make final assembly
+
+ // Give time to interface!
+ QApplication::processEvents();
+
+ // Apply anamorphous
+ if ((UpdateWidth!=W)&&(Frame->RenderedImage->width()!=UpdateWidth)) {
+ QImage *NewImage=new QImage(Frame->RenderedImage->scaled(QSize(UpdateWidth,Frame->RenderedImage->height()),Qt::IgnoreAspectRatio,Qt::SmoothTransformation));
+ delete Frame->RenderedImage;
+ Frame->RenderedImage=NewImage;
+ }
+
+ QImage *ToSave=Frame->RenderedImage;
+ if ((ExtendV>0)||(ExtendH>0)) {
+ ToSave=new QImage(W+ExtendH,H+ExtendV,QImage::Format_RGB32);
+ ToSave->fill(0);
+ QPainter P;
+ P.begin(ToSave);
+ P.drawImage(ExtendH/2,ExtendV/2,*Frame->RenderedImage);
+ P.end();
+ }
+
+ // Save image to the pipe
+ if (!ToSave->save(&Process,"PPM",-1)) {
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Error","Error message"),QApplication::translate("DlgRenderVideo","Error sending image to ffmpeg","Error message"),QMessageBox::Close);
+ Continue=false;
+ }
+
+ if (ToSave!=Frame->RenderedImage) delete ToSave;
+
+ // Wait until ffmpeg processed the frame
+ while (Continue &&(Process.bytesToWrite()>0)) {
+ if (!Process.waitForBytesWritten()) {
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Error","Error message"),QApplication::translate("DlgRenderVideo","avconv error","Error message"),QMessageBox::Close);
+ Continue=false;
+ }
+ // Give time to interface!
+ QApplication::processEvents();
+ // Stop the process if error occur or user ask to stop
+ Continue=Continue && !StopProcessWanted;
+ }
+
+ // Calculate next position
+ Position+=(FPS/1000);
+
+ if (PreviousFrame!=NULL) delete PreviousFrame;
+ PreviousFrame=Frame;
+ Frame =NULL;
+
+ // Stop the process if error occur or user ask to stop
+ Continue=Continue && !StopProcessWanted;;
+ }
+ // Clean PreviousFrame
+ if (PreviousFrame!=NULL) delete PreviousFrame;
+
+ ToLog(LOGMSG_INFORMATION,QApplication::translate("DlgRenderVideo","Closing encoder"));
+
+ // Close the pipe to stop ffmpeg process
+ Process.closeWriteChannel();
+
+ // Last information update
+ DurationProcess=StartTime.msecsTo(QTime::currentTime());
+ DisplayText=QString("%1").arg((QTime(0,0,0,0).addMSecs(DurationProcess)).toString("hh:mm:ss")); ui->ElapsedTimeLabel->setText(DisplayText);
+ DisplayText=QString("%1").arg(double(NbrFrame)/(double(DurationProcess)/1000),0,'f',1); ui->FPSLabel->setText(DisplayText);
+ DisplayText=QString("%1/%2").arg(Column-FromSlide+1).arg(ToSlide-FromSlide+1); ui->SlideNumberLabel->setText(DisplayText);
+ DisplayText=QString("%1/%2").arg(NbrFrame).arg(NbrFrame); ui->FrameNumberLabel->setText(DisplayText);
+ ui->SlideProgressBar->setValue(ui->SlideProgressBar->maximum());
+ ui->TotalProgressBar->setValue(NbrFrame);
+
+ if (!Process.waitForFinished(30000)) { // 30 sec max to close ffmpeg
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Error","Error message"),QApplication::translate("DlgRenderVideo","Error during avconv process","Error message"),QMessageBox::Close);
+ Process.terminate();
+ Continue=false;
+ } else if (Process.exitStatus()!=QProcess::NormalExit) {
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Error","Error message"),QApplication::translate("DlgRenderVideo","Error exiting avconv","Error message"),QMessageBox::Close);
+ Continue=false;
+ }
+ }
+
+ if (TempWAVFileName!="") QFile::remove(TempWAVFileName);
+ if (TempMETAFileName!="") QFile::remove(TempMETAFileName);
+
+ Process.terminate();
+ Process.close();
+
+ // Inform user of success
+ if (Continue) CustomMessageBox(this,QMessageBox::Information,QApplication::translate("DlgRenderVideo","Render video"),QApplication::translate("DlgRenderVideo","Job completed successfully!"));
+
+ // Save Window size and position
+ Diaporama->ApplicationConfig->DlgRenderVideoWSP->SaveWindowState(this);
+
+ // Close the dialog box
+ done(0);
+ }
+}
+
+//============================================================================================
+
+QString DlgRenderVideo::AdjustMETA(QString Text) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::AdjustMETA");
+
+ //Metadata keys or values containing special characters (’=’, ’;’, ’#’, ’\’ and a newline) must be escaped with a backslash ’\’.
+ Text.replace("=","\\=");
+ Text.replace(";","\\;");
+ Text.replace("#","\\#");
+ //Text.replace("\\","\\\\");
+ Text.replace("\n","\\\n");
+ Text=Text+"\n";
+ #ifdef Q_OS_WIN
+ return Text.toUtf8();
+ #else
+ return Text;
+ #endif
+}
+
+//============================================================================================
+// Make audio temp file
+//============================================================================================
+
+bool DlgRenderVideo::WriteTempAudioFile(QString TempWAVFileName,int FromSlide) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::WriteTempAudioFile");
+
+ bool Continue =true; // true if no error occur
+ cDiaporamaObjectInfo *PreviousFrame =NULL;
+ cDiaporamaObjectInfo *Frame =NULL;
+ AVOutputFormat *Fmt =NULL; // No delete needed!
+ AVCodec *AudioCodec =NULL;
+ QFutureWatcher<void> ThreadWrite;
+ sWriteWAV WriteWAV;
+ double RenderFPS =25; // For sound generation, use only 25 FPS to avoid rounded issue (instead of VideoFrameRate)
+
+ WriteWAV.AudioCodecContext =NULL;
+ WriteWAV.audio_outbuf =NULL;
+ WriteWAV.AudioStream =NULL;
+ WriteWAV.OutputFormatContext=NULL;
+
+ ui->SoundProgressBar->setMaximum(NbrFrame);
+
+ // Get the container format
+ Fmt=av_guess_format(NULL,TempWAVFileName.toUtf8(),NULL);
+ if (Fmt==NULL) {
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Error creating temporary wav file!");
+ Continue=false;
+ } else Fmt->audio_codec=CODEC_ID_PCM_S16LE;
+
+ // allocate the output media context
+ if (Continue) {
+
+ WriteWAV.OutputFormatContext = avformat_alloc_context();
+ if (!WriteWAV.OutputFormatContext) {
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Memory error : Unable to allocate OutputFormatContext!");
+ Continue=false;
+ } else {
+ memcpy(WriteWAV.OutputFormatContext->filename,TempWAVFileName.toUtf8(),strlen(TempWAVFileName.toUtf8())+1);
+ WriteWAV.OutputFormatContext->oformat =Fmt;
+ WriteWAV.OutputFormatContext->bit_rate =1536;
+ }
+ }
+
+ // Allocate AudioStream
+ if (Continue) {
+ #ifdef LIBAV_07
+ WriteWAV.AudioStream=av_new_stream(WriteWAV.OutputFormatContext,0);
+ #else
+ WriteWAV.AudioStream=avformat_new_stream(WriteWAV.OutputFormatContext,0);
+ #endif
+ if (WriteWAV.AudioStream==NULL) {
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Memory error : could not allocate audio stream!");
+ Continue=false;
+ }
+ }
+
+ // Open audio codec
+ if (Continue) {
+ WriteWAV.AudioCodecContext=WriteWAV.AudioStream->codec;
+ #ifdef LIBAV_07
+ avcodec_get_context_defaults2(WriteWAV.AudioCodecContext,AVMEDIA_TYPE_AUDIO); // Fill stream with default values
+ #else
+ avcodec_get_context_defaults3(WriteWAV.AudioCodecContext,NULL); // Fill stream with default values
+ #endif
+ AudioCodec=avcodec_find_encoder(CODEC_ID_PCM_S16LE); // Open Audio encoder
+ if (!AudioCodec) {
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Audio codec not found!");
+ Continue=false;
+ } else {
+ WriteWAV.AudioCodecContext->codec_id = CODEC_ID_PCM_S16LE;
+ WriteWAV.AudioCodecContext->codec_type = AVMEDIA_TYPE_AUDIO;
+ WriteWAV.AudioCodecContext->sample_fmt = AV_SAMPLE_FMT_S16;
+ WriteWAV.AudioCodecContext->sample_rate = 48000;
+ WriteWAV.AudioCodecContext->bit_rate = 48000;
+ WriteWAV.AudioCodecContext->rc_max_rate = 0;
+ WriteWAV.AudioCodecContext->rc_min_rate = 0;
+ WriteWAV.AudioCodecContext->bit_rate_tolerance = 0;
+ WriteWAV.AudioCodecContext->rc_buffer_size = 0;
+ WriteWAV.AudioCodecContext->channels = 2;
+ WriteWAV.AudioCodecContext->channel_layout = AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT; //CH_LAYOUT_STEREO;
+ WriteWAV.AudioCodecContext->time_base = (AVRational){1,WriteWAV.AudioCodecContext->sample_rate};
+ WriteWAV.AudioStream->r_frame_rate = WriteWAV.AudioCodecContext->time_base;
+ WriteWAV.AudioStream->time_base = WriteWAV.AudioCodecContext->time_base;
+ WriteWAV.AudioCodecContext->flags |= CODEC_FLAG_GLOBAL_HEADER;
+
+ // open the codec
+ if (avcodec_open2(WriteWAV.AudioCodecContext,AudioCodec,NULL)<0) {
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"could not open audio codec!");
+ Continue=false;
+ } else {
+ // Init sound blocks
+ WriteWAV.RenderMusic.SetFPS(RenderFPS);
+ }
+ }
+ }
+
+ // open the file for writing
+ if (Continue) {
+ int Err=0;
+ if ((Err=avio_open(&WriteWAV.OutputFormatContext->pb,TempWAVFileName.toUtf8(),AVIO_FLAG_WRITE))<0) {
+ char Buf[500];
+ av_strerror(Err,Buf,500);
+ ToLog(LOGMSG_CRITICAL,Buf);
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Error creating temporary audio file!");
+ Continue=false;
+ }
+ }
+
+ // Allocate buffer to encode
+ if (Continue) {
+ WriteWAV.audio_outbuf=(uint8_t *)av_malloc(FF_MIN_BUFFER_SIZE);
+ if (WriteWAV.audio_outbuf==NULL) {
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Memory error : could not allocate audio buffer!");
+ Continue=false;
+ }
+ }
+
+ // write the header
+ if ((Continue)&&(avformat_write_header(WriteWAV.OutputFormatContext,NULL)<0)) {
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Error writing the header of the temporary audio file!");
+ Continue=false;
+ }
+
+ // Encode the file
+ if (Continue) {
+ LastCheckTime =StartTime; // Display control : last time the loop start
+ qlonglong Position =Diaporama->GetObjectStartPosition(FromSlide); // Render current position
+ int ColumnStart =-1; // Render start position of current object
+ int Column =-1; // Render current object
+ for (qlonglong RenderedFrame=0;Continue && (RenderedFrame<NbrFrame);RenderedFrame++) {
+
+ // Calculate position & column
+ int AdjustedDuration=((Column>=0)&&(Column<Diaporama->List.count()))?Diaporama->List[Column]->GetDuration()-Diaporama->GetTransitionDuration(Column+1):0;
+ if (AdjustedDuration<33) AdjustedDuration=33; // Not less than 1/30 sec
+ if ((ColumnStart==-1)||(Column==-1)||((Column<Diaporama->List.count())&&((ColumnStart+AdjustedDuration)<=Position))) {
+ Column++;
+ AdjustedDuration=((Column>=0)&&(Column<Diaporama->List.count()))?Diaporama->List[Column]->GetDuration()-Diaporama->GetTransitionDuration(Column+1):0;
+ if (AdjustedDuration<33) AdjustedDuration=33; // Not less than 1/30 sec
+ ColumnStart=Position;
+ }
+ // Refresh Display (if needed)
+ if (LastCheckTime.msecsTo(QTime::currentTime())>=1000) { // Refresh display only one time per second
+ int DurationProcess =0;
+ QString DisplayText ="";
+
+ DurationProcess=StartTime.msecsTo(QTime::currentTime());
+ DisplayText=QString("%1").arg((QTime(0,0,0,0).addMSecs(DurationProcess)).toString("hh:mm:ss")); ui->ElapsedTimeLabel->setText(DisplayText);
+ DisplayText=QString("%1").arg(double(RenderedFrame)/(double(DurationProcess)/1000),0,'f',1); ui->FPSLabel->setText(DisplayText);
+ LastCheckTime=QTime::currentTime();
+ ui->SoundProgressBar->setValue(RenderedFrame);
+ }
+
+ // Get current frame
+ Frame=new cDiaporamaObjectInfo(PreviousFrame,Position,Diaporama,(FPS/1000)/*((double(AV_TIME_BASE)/RenderFPS)/1000)*/);
+
+ // Ensure MusicTracks are ready
+ if ((Frame->CurrentObject)&&(Frame->CurrentObject_MusicTrack==NULL)) {
+ Frame->CurrentObject_MusicTrack=new cSoundBlockList();
+ Frame->CurrentObject_MusicTrack->SetFPS(RenderFPS);
+ }
+ if ((Frame->TransitObject)&&(Frame->TransitObject_MusicTrack==NULL)&&(Frame->TransitObject_MusicObject!=NULL)&&(Frame->TransitObject_MusicObject!=Frame->CurrentObject_MusicObject)) {
+ Frame->TransitObject_MusicTrack=new cSoundBlockList();
+ Frame->TransitObject_MusicTrack->SetFPS(RenderFPS);
+ }
+
+ // Ensure SoundTracks are ready
+ if ((Frame->CurrentObject)&&(Frame->CurrentObject_SoundTrackMontage==NULL)) {
+ Frame->CurrentObject_SoundTrackMontage=new cSoundBlockList();
+ Frame->CurrentObject_SoundTrackMontage->SetFPS(RenderFPS);
+ }
+ if ((Frame->TransitObject)&&(Frame->TransitObject_SoundTrackMontage==NULL)) {
+ Frame->TransitObject_SoundTrackMontage=new cSoundBlockList();
+ Frame->TransitObject_SoundTrackMontage->SetFPS(RenderFPS);
+ }
+
+ // Prepare frame with W and H =0 to force SoundMusicOnly! (thread mode is not necessary here)
+ Diaporama->LoadSources(Frame,0,0,0,false,true);
+
+ // Give time to interface!
+ QApplication::processEvents();
+
+ // Calc number of packet to mix
+ int MaxPacket=Frame->CurrentObject_MusicTrack->List.count();
+ if ((Frame->CurrentObject_SoundTrackMontage!=NULL)&&
+ (Frame->CurrentObject_SoundTrackMontage->List.count()>0)&&
+ (MaxPacket>Frame->CurrentObject_SoundTrackMontage->List.count())) MaxPacket=Frame->CurrentObject_SoundTrackMontage->List.count();
+ if (MaxPacket>WriteWAV.RenderMusic.NbrPacketForFPS) MaxPacket=WriteWAV.RenderMusic.NbrPacketForFPS;
+
+ // mix audio data
+ for (int j=0;j<MaxPacket;j++)
+ WriteWAV.RenderMusic.MixAppendPacket(Frame->CurrentObject_MusicTrack->DetachFirstPacket(),(Frame->CurrentObject_SoundTrackMontage!=NULL)?Frame->CurrentObject_SoundTrackMontage->DetachFirstPacket():NULL);
+
+ // Write audio frame to disk
+ if (ThreadWrite.isRunning()) ThreadWrite.waitForFinished();
+ ThreadWrite.setFuture(QtConcurrent::run(this,&DlgRenderVideo::WriteRenderedMusicToDisk,&WriteWAV,&Continue));
+
+ QApplication::processEvents(); // Give time to interface!
+
+ // Calculate next position
+ Position +=(FPS/1000);
+ if (PreviousFrame!=NULL) delete PreviousFrame;
+ PreviousFrame=Frame;
+ Frame =NULL;
+
+ // Stop the process if error occur or user ask to stop
+ Continue=Continue && !StopProcessWanted;;
+ }
+
+ if (ThreadWrite.isRunning()) ThreadWrite.waitForFinished();
+
+ // Write de trailer
+ if ((Continue)&&(av_write_trailer(WriteWAV.OutputFormatContext)!=0)) {
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Error writing the trailer of the temporary audio file!");
+ Continue=false;
+ }
+ }
+
+ // Ensure sound progress bar is at 100%
+ if (Continue) ui->SoundProgressBar->setValue(ui->SoundProgressBar->maximum());
+
+ // Clean all
+
+ if (WriteWAV.audio_outbuf) av_free(WriteWAV.audio_outbuf);
+ if (PreviousFrame) delete PreviousFrame;
+ if (Frame) delete Frame;
+ if (WriteWAV.OutputFormatContext) {
+ if (WriteWAV.OutputFormatContext->pb) avio_close(WriteWAV.OutputFormatContext->pb); // close the file
+ if (WriteWAV.OutputFormatContext->streams[0]) {
+ avcodec_close(WriteWAV.AudioStream->codec); // close codec
+ if (WriteWAV.OutputFormatContext->streams[0]->codec) av_freep(&WriteWAV.OutputFormatContext->streams[0]->codec); // free the audiostream
+ }
+ av_free(WriteWAV.OutputFormatContext); // free the container
+ }
+
+ return Continue;
+}
+
+void DlgRenderVideo::WriteRenderedMusicToDisk(sWriteWAV *WriteWAV,bool *Continue) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRenderVideo::WriteTempAudioFile");
+
+ // Flush audio frame
+ AVPacket pkt;
+ while (WriteWAV->RenderMusic.List.count()>0) {
+ int16_t *PacketSound=WriteWAV->RenderMusic.DetachFirstPacket();
+ if (PacketSound==NULL) {
+ PacketSound=(int16_t *)av_malloc(WriteWAV->RenderMusic.SoundPacketSize+4);
+ memset(PacketSound,0,WriteWAV->RenderMusic.SoundPacketSize);
+ }
+ int out_size= avcodec_encode_audio(WriteWAV->AudioCodecContext,WriteWAV->audio_outbuf,WriteWAV->RenderMusic.SoundPacketSize,(short int *)PacketSound);
+ if (out_size>0) {
+ av_init_packet(&pkt);
+
+ if ((WriteWAV->AudioCodecContext->coded_frame!=NULL)&&(WriteWAV->AudioCodecContext->coded_frame->pts!=int64_t(INT64_C(0x8000000000000000))))
+ pkt.pts=av_rescale_q(WriteWAV->AudioCodecContext->coded_frame->pts,WriteWAV->AudioCodecContext->time_base,WriteWAV->AudioStream->time_base);
+
+ if ((WriteWAV->AudioCodecContext->coded_frame!=NULL)&&(WriteWAV->AudioCodecContext->coded_frame->key_frame))
+ pkt.flags|=AV_PKT_FLAG_KEY;
+
+ pkt.stream_index=WriteWAV->AudioStream->index;
+ pkt.data =WriteWAV->audio_outbuf;
+ pkt.size =out_size;
+
+ // write the compressed frame in the media file
+ if (av_interleaved_write_frame(WriteWAV->OutputFormatContext,&pkt)!=0) {
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Error while writing audio frame!");
+ *Continue=false;
+ }
+ } else if (out_size<0) {
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("DlgRenderVideo","Render video"),"Error encoding sound!");
+ *Continue=false;
+ }
+ av_free(PacketSound);
+ }
+}
diff --git a/src/ffDiaporama/DlgRenderVideo/DlgRenderVideo.h b/src/ffDiaporama/DlgRenderVideo/DlgRenderVideo.h
new file mode 100755
index 0000000..dc2a4d2
--- /dev/null
+++ b/src/ffDiaporama/DlgRenderVideo/DlgRenderVideo.h
@@ -0,0 +1,119 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef DLGRENDERVIDEO_H
+#define DLGRENDERVIDEO_H
+
+// Basic inclusions (common to all files)
+#include "../../engine/_GlobalDefines.h"
+#include "../../engine/_QCustomDialog.h"
+
+// Specific inclusions
+#include "../_Diaporama.h"
+
+namespace Ui {
+ class DlgRenderVideo;
+}
+
+struct sWriteWAV {
+ cSoundBlockList RenderMusic;
+ AVCodecContext *AudioCodecContext;
+ uint8_t *audio_outbuf;
+ AVStream *AudioStream;
+ AVFormatContext *OutputFormatContext;
+};
+
+class DlgRenderVideo : public QCustomDialog {
+Q_OBJECT
+public:
+ cDiaporama *Diaporama;
+ int ExportMode; // Export mode (smartphone, advanced, etc...)
+ bool StopSpinboxRecursion;
+ bool StopProcessWanted; // True if user click on cancel or close during encoding process
+ int Extend; // amout of padding (top and bottom) for cinema mode with DVD
+ int VideoCodecIndex; // Index of video codec
+ int AudioCodecIndex; // Index of audio codec
+ double FPS;
+ qlonglong NbrFrame; // Number of frame to generate
+ QTime StartTime; // Time the process start
+ QTime LastCheckTime; // Last time the loop start
+ qlonglong RenderedFrame;
+ bool IsDestFileOpen; // true if encoding is started
+
+ QString OutputFileName; // filename with path for the last rendering file
+ int OutputFileFormat; // Container format
+ QString VideoCodec; // Last video codec used
+ double VideoFrameRate; // Last video frame rate used
+ int VideoBitRate; // Last video bit rate used
+ QString AudioCodec; // Last audio codec used
+ int AudioFrequency; // Last audio frequency used
+ int AudioBitRate; // Last audio bit rate used
+ int ImageSize; // Last image size use for rendering
+ int Standard; // Last standard use for rendering
+
+ QString Language;
+ QString TempWAVFileName;
+ QString TempMETAFileName;
+ int FromSlide,ToSlide;
+
+ explicit DlgRenderVideo(cDiaporama &Diaporama,int ExportMode,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent=0);
+ ~DlgRenderVideo();
+
+ // function to be overloaded
+ virtual void DoInitDialog(); // Initialise dialog
+ virtual void DoAccept(); // Call when user click on Ok button
+ virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button
+ virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo
+ virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button
+
+protected:
+ virtual void reject();
+
+private slots:
+ void ProjectProperties();
+ void InitImageSizeCombo(int);
+ void SelectDestinationFile();
+ void AdjustDestinationFile();
+ void FileFormatCombo(int);
+ void InitVideoBitRateCB(int);
+ void InitAudioBitRateCB(int);
+ void s_DeviceTypeCB(int);
+ void s_DeviceModelCB(int);
+ void SetZoneToAll();
+ void SetZoneToPartial();
+ void s_IncludeSound();
+
+signals:
+ void SetModifyFlag();
+
+private:
+ Ui::DlgRenderVideo *ui;
+
+ bool WriteTempAudioFile(QString TempWAVFileName,int FromSlide);
+ QString AdjustMETA(QString Text);
+ void WriteRenderedMusicToDisk(sWriteWAV *WriteWAV,bool *Continue);
+
+ bool ComputeVideoPart(QString &vCodec);
+ bool ComputeAudioPart(QString &aCodec);
+ bool ComputeTAGPart( QString &aTAG);
+
+};
+
+#endif // DLGRENDERVIDEO_H
diff --git a/src/ffDiaporama/DlgRenderVideo/DlgRenderVideo.ui b/src/ffDiaporama/DlgRenderVideo/DlgRenderVideo.ui
new file mode 100755
index 0000000..e63548b
--- /dev/null
+++ b/src/ffDiaporama/DlgRenderVideo/DlgRenderVideo.ui
@@ -0,0 +1,1029 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DlgRenderVideo</class>
+ <widget class="QDialog" name="DlgRenderVideo">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>500</width>
+ <height>425</height>
+ </rect>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>500</width>
+ <height>350</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="windowTitle">
+ <string notr="true">Render video</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <property name="margin">
+ <number>8</number>
+ </property>
+ <item>
+ <widget class="QScrollArea" name="SelectDestScroll">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="SelectDestWidget">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>467</width>
+ <height>367</height>
+ </rect>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <property name="margin">
+ <number>4</number>
+ </property>
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <item row="11" column="0">
+ <widget class="QLabel" name="ImageSizeLabel">
+ <property name="text">
+ <string>Image format :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Destination file :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLineEdit" name="DestinationFilePath">
+ <property name="toolTip">
+ <string>Destination file path</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="DestinationFilePathBT">
+ <property name="toolTip">
+ <string>Select the destination file path</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/FolderOpen.png</normaloff>:/img/FolderOpen.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="9" column="0">
+ <widget class="QLabel" name="StandardLabel">
+ <property name="text">
+ <string>Video standard :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_7">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QComboBox" name="StandardCombo">
+ <property name="toolTip">
+ <string>Select the video standard to use, PAL or NTSC.</string>
+ </property>
+ <item>
+ <property name="text">
+ <string>PAL</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>NTSC</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="GeometryLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Geometry :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="GeometryCombo">
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <item>
+ <property name="text">
+ <string>Old TV (4:3)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>TV Wide (16:9)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Cinema (2.35:1)</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="11" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_6">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QComboBox" name="ImageSizeCombo">
+ <property name="toolTip">
+ <string>Select the image resolution to use for the rendering.</string>
+ </property>
+ <property name="currentIndex">
+ <number>-1</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="13" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_8">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QComboBox" name="VideoFormatCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>150</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Select the video codec to use for the rendering.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="VideoBitRateLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Bit rate :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="VideoBitRateCB">
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>80</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Select the bit rate to use for video during the rendering.</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="15" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_9">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QComboBox" name="AudioFormatCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>150</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Select the audio codec to use for the rendering.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="AudioBitRateLabel">
+ <property name="text">
+ <string>Bit rate :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="AudioBitRateCB">
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>80</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Select the bit rate to use for audio during the rendering.</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="FileFormatLabel">
+ <property name="text">
+ <string>File format :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QComboBox" name="FileFormatCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip">
+ <string>Select the file type to use for the rendering.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="15" column="0">
+ <widget class="QLabel" name="AudioFormatLabel">
+ <property name="text">
+ <string>Audio codec :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="13" column="0">
+ <widget class="QLabel" name="VideoFormatLabel">
+ <property name="text">
+ <string>Video codec :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <widget class="QComboBox" name="DeviceModelCB">
+ <property name="toolTip">
+ <string>Select the model of equipment</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="DeviceModelLabel">
+ <property name="text">
+ <string>Device model :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="DeviceTypeLabel">
+ <property name="text">
+ <string>Device type :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QComboBox" name="DeviceTypeCB">
+ <property name="toolTip">
+ <string>Select the type of equipment.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="18" column="1">
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="7" column="1">
+ <layout class="QGridLayout" name="gridLayout_4">
+ <property name="horizontalSpacing">
+ <number>4</number>
+ </property>
+ <property name="verticalSpacing">
+ <number>2</number>
+ </property>
+ <item row="0" column="0" colspan="5">
+ <widget class="QRadioButton" name="RenderZoneAllBt">
+ <property name="text">
+ <string>All slides</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QRadioButton" name="RenderZoneFromBt">
+ <property name="text">
+ <string>From</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="RenderZoneFromED"/>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLabel" name="RenderZoneTo">
+ <property name="text">
+ <string>To</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QSpinBox" name="RenderZoneToED"/>
+ </item>
+ <item row="1" column="4">
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item row="7" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>To render :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
+ </property>
+ </widget>
+ </item>
+ <item row="14" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Sound :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="14" column="1">
+ <widget class="QCheckBox" name="IncludeSoundCB">
+ <property name="text">
+ <string>Include sound in the video</string>
+ </property>
+ </widget>
+ </item>
+ <item row="17" column="0" colspan="2">
+ <widget class="QLabel" name="RenderFormatText">
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="16" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_10">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLineEdit" name="LanguageED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>50</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>und</string>
+ </property>
+ <property name="maxLength">
+ <number>3</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>(ISO 639 language code)</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="16" column="0">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Language :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <widget class="QWidget" name="ProcessWidget" native="true">
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <layout class="QGridLayout" name="gridLayout_3">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>Rendering to :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_11">
+ <property name="text">
+ <string>Image format :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_12">
+ <property name="text">
+ <string>Video format :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_13">
+ <property name="text">
+ <string>Audio format :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="InformationLabel1">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true">TextLabel</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="InformationLabel2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true">TextLabel</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLabel" name="InformationLabel3">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true">TextLabel</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLabel" name="InformationLabel4">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true">TextLabel</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="Line" name="line_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_5">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="SoundProgressLabel">
+ <property name="text">
+ <string>Audio track - Total progression</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QProgressBar" name="SoundProgressBar">
+ <property name="value">
+ <number>24</number>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_8">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Video track - Current slide progression</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="SlideNumberLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>100</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true">1/1</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QProgressBar" name="SlideProgressBar">
+ <property name="value">
+ <number>24</number>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_9">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Video track - Total progression</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="FrameNumberLabel">
+ <property name="minimumSize">
+ <size>
+ <width>100</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>100</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true">1/1</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QProgressBar" name="TotalProgressBar">
+ <property name="value">
+ <number>24</number>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="Line" name="line_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QGridLayout" name="gridLayout">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="DisplayTextLabel">
+ <property name="text">
+ <string>Elapsed time :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_16">
+ <property name="text">
+ <string>Average render speed :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" colspan="2">
+ <widget class="QLabel" name="ElapsedTimeLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true">00:00:00</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="FPSLabel">
+ <property name="text">
+ <string notr="true">0.0</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QLabel" name="label_17">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>fps</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="ProjectPropertiesBt">
+ <property name="toolTip">
+ <string>Accept modification and start rendering process</string>
+ </property>
+ <property name="text">
+ <string>&Properties</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/PrjProperties.png</normaloff>:/img/PrjProperties.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="OkBt">
+ <property name="toolTip">
+ <string>Accept modification and start rendering process</string>
+ </property>
+ <property name="text">
+ <string>&Ok</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="CancelBt">
+ <property name="toolTip">
+ <string>Cancel modification or rendering process and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Cancel</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="HelpBT">
+ <property name="toolTip">
+ <string>Open help page describing this dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Help</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>F1</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <tabstops>
+ <tabstop>FileFormatCB</tabstop>
+ <tabstop>DestinationFilePath</tabstop>
+ <tabstop>DestinationFilePathBT</tabstop>
+ <tabstop>DeviceTypeCB</tabstop>
+ <tabstop>DeviceModelCB</tabstop>
+ <tabstop>StandardCombo</tabstop>
+ <tabstop>GeometryCombo</tabstop>
+ <tabstop>ImageSizeCombo</tabstop>
+ <tabstop>VideoFormatCB</tabstop>
+ <tabstop>VideoBitRateCB</tabstop>
+ <tabstop>AudioFormatCB</tabstop>
+ <tabstop>AudioBitRateCB</tabstop>
+ <tabstop>OkBt</tabstop>
+ <tabstop>CancelBt</tabstop>
+ <tabstop>HelpBT</tabstop>
+ <tabstop>SelectDestScroll</tabstop>
+ </tabstops>
+ <resources>
+ <include location="../../../RSCffDiaporama.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.cpp b/src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.cpp
new file mode 100755
index 0000000..bf2ddc2
--- /dev/null
+++ b/src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.cpp
@@ -0,0 +1,60 @@
+#include "DlgRulerDef.h"
+#include "ui_DlgRulerDef.h"
+
+#define RULER_HORIZ_SCREENBORDER 0x0001
+#define RULER_HORIZ_TVMARGIN 0x0002
+#define RULER_HORIZ_SCREENCENTER 0x0004
+#define RULER_HORIZ_UNSELECTED 0x0008
+#define RULER_VERT_SCREENBORDER 0x0010
+#define RULER_VERT_TVMARGIN 0x0020
+#define RULER_VERT_SCREENCENTER 0x0040
+#define RULER_VERT_UNSELECTED 0x0080
+
+DlgRulerDef::DlgRulerDef(int *RulerDef,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent):
+ QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent),ui(new Ui::DlgRulerDef) {
+
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRulerDef::DlgRulerDef");
+
+ this->RulerDef=RulerDef;
+ ui->setupUi(this);
+ OkBt =ui->OKBT;
+ CancelBt=ui->CancelBt;
+ HelpBt =ui->HelpBT;
+}
+
+//====================================================================================================================
+
+DlgRulerDef::~DlgRulerDef() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRulerDef::~DlgRulerDef");
+ delete ui;
+}
+
+//====================================================================================================================
+
+void DlgRulerDef::DoInitDialog() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRulerDef::DoInitDialog");
+ ui->Horiz_ScreenBorderCB-> setChecked(((*RulerDef)&RULER_HORIZ_SCREENBORDER)!=0); connect(ui->Horiz_ScreenBorderCB, SIGNAL(stateChanged(int)),this,SLOT(CBStateChanged(int)));
+ ui->Horiz_TVMarginsCB-> setChecked(((*RulerDef)&RULER_HORIZ_TVMARGIN)!=0); connect(ui->Horiz_TVMarginsCB, SIGNAL(stateChanged(int)),this,SLOT(CBStateChanged(int)));
+ ui->Horiz_ScreenCenterCB-> setChecked(((*RulerDef)&RULER_HORIZ_SCREENCENTER)!=0); connect(ui->Horiz_ScreenCenterCB, SIGNAL(stateChanged(int)),this,SLOT(CBStateChanged(int)));
+ ui->Horiz_UnselectedObjCB->setChecked(((*RulerDef)&RULER_HORIZ_UNSELECTED)!=0); connect(ui->Horiz_UnselectedObjCB,SIGNAL(stateChanged(int)),this,SLOT(CBStateChanged(int)));
+ ui->Vert_ScreenBorderCB-> setChecked(((*RulerDef)&RULER_VERT_SCREENBORDER)!=0); connect(ui->Vert_ScreenBorderCB, SIGNAL(stateChanged(int)),this,SLOT(CBStateChanged(int)));
+ ui->Vert_TVMarginsCB-> setChecked(((*RulerDef)&RULER_VERT_TVMARGIN)!=0); connect(ui->Vert_TVMarginsCB, SIGNAL(stateChanged(int)),this,SLOT(CBStateChanged(int)));
+ ui->Vert_ScreenCenterCB-> setChecked(((*RulerDef)&RULER_VERT_SCREENCENTER)!=0); connect(ui->Vert_ScreenCenterCB, SIGNAL(stateChanged(int)),this,SLOT(CBStateChanged(int)));
+ ui->Vert_UnselectedObjCB-> setChecked(((*RulerDef)&RULER_VERT_UNSELECTED)!=0); connect(ui->Vert_UnselectedObjCB, SIGNAL(stateChanged(int)),this,SLOT(CBStateChanged(int)));
+}
+
+//====================================================================================================================
+
+void DlgRulerDef::CBStateChanged(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgRulerDef::CBStateChanged");
+ *RulerDef=0;
+ if (ui->Horiz_ScreenBorderCB-> isChecked()) (*RulerDef)|=RULER_HORIZ_SCREENBORDER;
+ if (ui->Horiz_TVMarginsCB-> isChecked()) (*RulerDef)|=RULER_HORIZ_TVMARGIN;
+ if (ui->Horiz_ScreenCenterCB-> isChecked()) (*RulerDef)|=RULER_HORIZ_SCREENCENTER;
+ if (ui->Horiz_UnselectedObjCB->isChecked()) (*RulerDef)|=RULER_HORIZ_UNSELECTED;
+ if (ui->Vert_ScreenBorderCB-> isChecked()) (*RulerDef)|=RULER_VERT_SCREENBORDER;
+ if (ui->Vert_TVMarginsCB-> isChecked()) (*RulerDef)|=RULER_VERT_TVMARGIN;
+ if (ui->Vert_ScreenCenterCB-> isChecked()) (*RulerDef)|=RULER_VERT_SCREENCENTER;
+ if (ui->Vert_UnselectedObjCB-> isChecked()) (*RulerDef)|=RULER_VERT_UNSELECTED;
+ emit RefreshDisplay();
+}
diff --git a/src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.h b/src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.h
new file mode 100755
index 0000000..7540759
--- /dev/null
+++ b/src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.h
@@ -0,0 +1,40 @@
+#ifndef DLGRULERDEF_H
+#define DLGRULERDEF_H
+
+// Basic inclusions (common to all files)
+#include "../../../engine/_GlobalDefines.h"
+#include "../../../engine/_QCustomDialog.h"
+
+#include <QDialog>
+
+namespace Ui {
+ class DlgRulerDef;
+}
+
+class DlgRulerDef : public QCustomDialog {
+Q_OBJECT
+public:
+ int *RulerDef;
+ int SavRuler;
+
+ explicit DlgRulerDef(int *RulerDef,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent=0);
+ ~DlgRulerDef();
+
+ // function to be overloaded
+ virtual void DoInitDialog(); // Initialise dialog
+ virtual void DoAccept() {/*Nothing to do*/} // Call when user click on Ok button
+ virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button
+ virtual void PrepareGlobalUndo() {SavRuler=*RulerDef;} // Initiale Undo
+ virtual void DoGlobalUndo() {*RulerDef=SavRuler;} // Apply Undo : call when user click on Cancel button
+
+signals:
+ void RefreshDisplay();
+
+private slots:
+ void CBStateChanged(int);
+
+private:
+ Ui::DlgRulerDef *ui;
+};
+
+#endif // DLGRULERDEF_H
diff --git a/src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui b/src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui
new file mode 100755
index 0000000..cdaf00d
--- /dev/null
+++ b/src/ffDiaporama/DlgSlide/DlgRuler/DlgRulerDef.ui
@@ -0,0 +1,291 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DlgRulerDef</class>
+ <widget class="QDialog" name="DlgRulerDef">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>300</height>
+ </rect>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="windowTitle">
+ <string>Ruler properties</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <property name="margin">
+ <number>4</number>
+ </property>
+ <item>
+ <widget class="QScrollArea" name="scrollArea">
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>390</width>
+ <height>250</height>
+ </rect>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>4</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>11</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Horizontal rulers</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="label_2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>11</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Vertical rulers</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="Horiz_ScreenBorderCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>screen borders</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QCheckBox" name="Vert_ScreenBorderCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>screen borders</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QCheckBox" name="Horiz_TVMarginsCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>TV margins</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QCheckBox" name="Vert_TVMarginsCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>TV margins</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QCheckBox" name="Horiz_ScreenCenterCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Screen center</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QCheckBox" name="Vert_ScreenCenterCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Screen center</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="4" column="0">
+ <widget class="QCheckBox" name="Horiz_UnselectedObjCB">
+ <property name="text">
+ <string>Unselected objects</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QCheckBox" name="Vert_UnselectedObjCB">
+ <property name="text">
+ <string>Unselected objects</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_5">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="OKBT">
+ <property name="toolTip">
+ <string>Accept modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Ok</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="CancelBt">
+ <property name="toolTip">
+ <string>Cancel modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Cancel</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="HelpBT">
+ <property name="toolTip">
+ <string>Open help page describing this dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Help</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>F1</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="../../../../RSCffDiaporama.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp b/src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp
new file mode 100755
index 0000000..e03d658
--- /dev/null
+++ b/src/ffDiaporama/DlgSlide/DlgSlideProperties.cpp
@@ -0,0 +1,2709 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "cCustomShotTable.h"
+#include "cCustomBlockTable.h"
+#include "cInteractiveZone.h"
+
+#include "DlgSlideProperties.h"
+#include "ui_DlgSlideProperties.h"
+
+#include "../DlgInfoFile/DlgInfoFile.h"
+#include "../DlgImage/DlgImageCorrection.h"
+#include "../DlgVideo/DlgVideoEdit.h"
+#include "../DlgText/DlgTextEdit.h"
+#include "DlgRuler/DlgRulerDef.h"
+
+#include <QClipboard>
+#include <QMimeData>
+#include <QMessageBox>
+#include <QFileDialog>
+#include <QTextDocument>
+#include <QTextCursor>
+#include <QTextCharFormat>
+#include <QTextBlockFormat>
+#include <QMenu>
+
+#define ICON_FRAMING_CUSTOM ":/img/action_cancel.png"
+#define ICON_FRAMING_FULL ":/img/AdjustWH.png"
+#define ICON_FRAMING_WIDTH ":/img/AdjustW.png"
+#define ICON_FRAMING_HEIGHT ":/img/AdjustH.png"
+#define ICON_GLOBALCONF ":/img/db.png"
+#define ICON_USERCONF ":/img/db_update.png"
+
+#define ICON_GEOMETRY_LOCKED ":/img/Geometry_Lock.png"
+#define ICON_GEOMETRY_UNLOCKED ":/img/Geometry_Unlock.png"
+#define ICON_GEOMETRY_PROJECT ":/img/Geometry_ProjectLock.png"
+#define ICON_VISIBLE_OK ":/img/Visible_OK.png"
+#define ICON_VISIBLE_KO ":/img/Visible_KO.png"
+#define ICON_SOUND_OK ":/img/object_sound.png"
+#define ICON_SOUND_KO ":/img/sound_KO.png"
+#define ICON_OBJECT_TEXT ":/img/object_text.png"
+#define ICON_OBJECT_SOUND ":/img/object_sound.png"
+#define ICON_OBJECT_MOVIE ":/img/object_movie.png"
+#define ICON_OBJECT_IMAGE ":/img/object_image.png"
+#define ICON_OBJECT_TEXTHIDE ":/img/object_textHide.png"
+#define ICON_OBJECT_MOVIEHIDE ":/img/object_movieHide.png"
+#define ICON_OBJECT_IMAGEHIDE ":/img/object_imageHide.png"
+#define ICON_RULER_ON ":/img/ruler_ok.png"
+#define ICON_RULER_OFF ":/img/ruler_ko.png"
+
+// Undo actions
+#define UNDOACTION_INTERACTIVEMOVERESIZE 1
+#define UNDOACTION_EDITZONE_POSX 2
+#define UNDOACTION_EDITZONE_POSY 3
+#define UNDOACTION_EDITZONE_WIDTH 4
+#define UNDOACTION_EDITZONE_HEIGHT 5
+#define UNDOACTION_EDITZONE_ROTATEX 6
+#define UNDOACTION_EDITZONE_ROTATEY 7
+#define UNDOACTION_EDITZONE_ROTATEZ 8
+#define UNDOACTION_EDITZONE_SHAPEFORM 9
+#define UNDOACTION_EDITZONE_SHAPEOPACITY 10
+#define UNDOACTION_EDITZONE_SHAPEPENSIZE 11
+#define UNDOACTION_EDITZONE_SHAPEPENSTYLE 12
+#define UNDOACTION_EDITZONE_SHAPEPENCOLOR 13
+#define UNDOACTION_EDITZONE_SHAPESHADOWFORM 14
+#define UNDOACTION_EDITZONE_SHAPESHADOWDIST 15
+#define UNDOACTION_EDITZONE_SHAPESHADOWCOLOR 16
+#define UNDOACTION_EDITZONE_TEXTANIMZOOM 17
+#define UNDOACTION_EDITZONE_TEXTANIMSCROLLX 18
+#define UNDOACTION_EDITZONE_TEXTANIMSCROLLY 19
+#define UNDOACTION_EDITZONE_BLOCKANIMTYPE 20
+#define UNDOACTION_EDITZONE_BLOCKANIMTURNX 21
+#define UNDOACTION_EDITZONE_BLOCKANIMTURNZ 22
+#define UNDOACTION_EDITZONE_BLOCKANIMTURNY 23
+#define UNDOACTION_EDITZONE_BLOCKANIMDISSOLVE 24
+#define UNDOACTION_STYLE_COORDINATES 25
+#define UNDOACTION_STYLE_SHAPE 26
+#define UNDOACTION_STYLE_FRAMING 27
+#define UNDOACTION_EDITZONE_NEWCHAPTER 28
+#define UNDOACTION_EDITZONE_SLIDENAME 29
+#define UNDOACTION_EDITZONE_SHOTDURATION 30
+#define UNDOACTION_SHOTTABLE_ADDSHOT 31
+#define UNDOACTION_SHOTTABLE_REMOVESHOT 32
+#define UNDOACTION_SHOTTABLE_CHORDER 33
+#define UNDOACTION_BLOCKTABLE_ADDTEXTBLOCK 34
+#define UNDOACTION_BLOCKTABLE_ADDFILEBLOCK 35
+#define UNDOACTION_BLOCKTABLE_REMOVEBLOCK 36
+#define UNDOACTION_BLOCKTABLE_PASTEBLOCK 37
+#define UNDOACTION_BLOCKTABLE_CHBLOCKORDER 38
+#define UNDOACTION_BLOCKTABLE_ARRANGEBLOCK 39
+#define UNDOACTION_BLOCKTABLE_EDITTEXT 40
+#define UNDOACTION_BLOCKTABLE_EDITVIDEO 41
+#define UNDOACTION_BLOCKTABLE_EDITIMAGE 42
+#define UNDOACTION_BLOCKTABLE_VISIBLESTATE 43
+#define UNDOACTION_BLOCKTABLE_SOUNDSTATE 44
+#define UNDOACTION_BLOCKTABLE_SAMEASPREVIOUSSTATE 45
+
+//********************************************************************************************************************************
+// DlgSlideProperties : Slide Dialog
+//********************************************************************************************************************************
+
+DlgSlideProperties::DlgSlideProperties(cDiaporamaObject *DiaporamaObject,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent):
+ QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent),ui(new Ui::DlgSlideProperties) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::DlgSlideProperties");
+
+ ui->setupUi(this);
+ OkBt =ui->OKBT;
+ CancelBt =ui->CancelBt;
+ HelpBt =ui->HelpBT;
+ UndoBt =ui->UndoBT;
+ CurrentShot =NULL;
+
+ CurrentSlide =DiaporamaObject;
+ ui->ShotTable->DiaporamaObject =DiaporamaObject;
+ ui->InteractiveZone->DiaporamaObject=DiaporamaObject;
+ ui->InteractiveZone->BlockTable =ui->BlockTable;
+ ui->InteractiveZone->MagneticRuler =CurrentSlide->Parent->ApplicationConfig->SlideRuler;
+}
+
+//====================================================================================================================
+
+DlgSlideProperties::~DlgSlideProperties() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::~DlgSlideProperties");
+ InRefreshControls=true; // To ensure no controls will change during delete
+ delete ui;
+}
+
+//====================================================================================================================
+// Initialise dialog
+
+void DlgSlideProperties::DoInitDialog() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::DoInitDialog");
+
+ ui->SplitterTop->setCollapsible(0,false);
+ ui->SplitterTop->setCollapsible(1,false);
+
+ setWindowTitle(windowTitle()+" - "+QApplication::translate("DlgSlideProperties","Slide")+QString(" %1/%2").arg(CurrentSlide->Parent->CurrentCol+1).arg(CurrentSlide->Parent->List.count()));
+ ui->NewChapterCB->setChecked(CurrentSlide->StartNewChapter);
+ ui->NewChapterCB->setEnabled(CurrentSlide->Parent->CurrentCol!=0);
+ ui->OKPreviousBT->setEnabled(CurrentSlide->Parent->CurrentCol>0);
+ ui->OKNextBT->setEnabled(CurrentSlide->Parent->CurrentCol<CurrentSlide->Parent->List.count()-1);
+ ui->TVMarginsBT->setIcon(QIcon(QString(ui->InteractiveZone->MagneticRuler!=0?ICON_RULER_ON:ICON_RULER_OFF)));
+
+ switch (CurrentSlide->Parent->ImageGeometry) {
+ case GEOMETRY_4_3 : DisplayW=1440; DisplayH=1080; break;
+ case GEOMETRY_16_9 : DisplayW=1920; DisplayH=1080; break;
+ case GEOMETRY_40_17 : DisplayW=1920; DisplayH=816; break;
+
+ }
+ ProjectGeometry=DisplayH/DisplayW;
+ ProjectGeometry=QString("%1").arg(ProjectGeometry,0,'e').toDouble(); // Rounded to same number as style managment
+
+ //******************************
+
+ CompositionList = NULL;
+
+ // Re-entrence flags
+ InRefreshStyleControls =false;
+ InRefreshControls =false;
+ StopMajFramingStyle =false;
+ InSelectionChange =false;
+ InDisplayDuration =false;
+ NoPrepUndo =false;
+
+ ui->SlideNameED->setText(CurrentSlide->SlideName);
+
+ // Init combo box Background form
+ for (int i=0;i<12;i++) ui->BackgroundFormCB->addItem("");
+ MakeFormIcon(ui->BackgroundFormCB);
+ ui->FramingStyleCB->view()->setFixedWidth(300);
+ ui->ShadowEffectCB->view()->setFixedWidth(300);
+
+ // Init combo box Background shadow form
+ ui->ShadowEffectCB->addItem(QApplication::translate("DlgSlideProperties","None"));
+ ui->ShadowEffectCB->addItem(QApplication::translate("DlgSlideProperties","Shadow upper left"));
+ ui->ShadowEffectCB->addItem(QApplication::translate("DlgSlideProperties","Shadow upper right"));
+ ui->ShadowEffectCB->addItem(QApplication::translate("DlgSlideProperties","Shadow bottom left"));
+ ui->ShadowEffectCB->addItem(QApplication::translate("DlgSlideProperties","Shadow bottom right"));
+ ui->ShadowEffectED->setRange(1,100);
+
+ // Init combo box external border style
+ ui->PenStyleCB->addItem(""); ui->PenStyleCB->setItemData(ui->PenStyleCB->count()-1,(int)Qt::SolidLine);
+ ui->PenStyleCB->addItem(""); ui->PenStyleCB->setItemData(ui->PenStyleCB->count()-1,(int)Qt::DashLine);
+ ui->PenStyleCB->addItem(""); ui->PenStyleCB->setItemData(ui->PenStyleCB->count()-1,(int)Qt::DotLine);
+ ui->PenStyleCB->addItem(""); ui->PenStyleCB->setItemData(ui->PenStyleCB->count()-1,(int)Qt::DashDotLine);
+ ui->PenStyleCB->addItem(""); ui->PenStyleCB->setItemData(ui->PenStyleCB->count()-1,(int)Qt::DashDotDotLine);
+ MakeBorderStyleIcon(ui->PenStyleCB);
+ // Init shape Borders
+ ui->PenSizeEd->setMinimum(0); ui->PenSizeEd->setMaximum(30);
+
+ // Init combo box Background opacity
+ ui->OpacityCB->addItem("100%");
+ ui->OpacityCB->addItem(" 75%");
+ ui->OpacityCB->addItem(" 50%");
+ ui->OpacityCB->addItem(" 25%");
+
+ ui->RotateXED->setRange(-180,180); ui->RotateXSLD->setRange(-180,180);
+ ui->RotateYED->setRange(-180,180); ui->RotateYSLD->setRange(-180,180);
+ ui->RotateZED->setRange(-180,180); ui->RotateZSLD->setRange(-180,180);
+
+ // Init Spinbox
+ if (CurrentSlide->Parent->ApplicationConfig->DisplayUnit==DISPLAYUNIT_PERCENT) {
+ ui->PosXEd->setDecimals(2); ui->PosXEd->setSingleStep(1); ui->PosXEd->setSuffix("%");
+ ui->PosYEd->setDecimals(2); ui->PosYEd->setSingleStep(1); ui->PosYEd->setSuffix("%");
+ ui->WidthEd->setDecimals(2); ui->WidthEd->setSingleStep(1); ui->WidthEd->setSuffix("%");
+ ui->HeightEd->setDecimals(2); ui->HeightEd->setSingleStep(1); ui->HeightEd->setSuffix("%");
+ } else { // DisplayUnit==DISPLAYUNIT_PIXELS
+ ui->PosXEd->setDecimals(0); ui->PosXEd->setSingleStep(1); ui->PosXEd->setSuffix("");
+ ui->PosYEd->setDecimals(0); ui->PosYEd->setSingleStep(1); ui->PosYEd->setSuffix("");
+ ui->WidthEd->setDecimals(0); ui->WidthEd->setSingleStep(1); ui->WidthEd->setSuffix("");
+ ui->HeightEd->setDecimals(0); ui->HeightEd->setSingleStep(1); ui->HeightEd->setSuffix("");
+ }
+
+ // Init block animation type
+ ui->BlockAnimCB->addItem(QApplication::translate("DlgSlideProperties","None"));
+ ui->BlockAnimCB->addItem(QApplication::translate("DlgSlideProperties","Multiple block turn"));
+ ui->BlockAnimCB->addItem(QApplication::translate("DlgSlideProperties","Dissolve"));
+
+ // Init Dissolve animation value
+ ui->DissolveCB->addItem(QApplication::translate("DlgSlideProperties","Appear"));
+ ui->DissolveCB->addItem(QApplication::translate("DlgSlideProperties","Disappear"));
+ ui->DissolveCB->addItem(QApplication::translate("DlgSlideProperties","Blink at slow speed"));
+ ui->DissolveCB->addItem(QApplication::translate("DlgSlideProperties","Blink at medium speed"));
+ ui->DissolveCB->addItem(QApplication::translate("DlgSlideProperties","Blink at fast speed"));
+ ui->DissolveCB->addItem(QApplication::translate("DlgSlideProperties","Blink at very fast speed"));
+
+ // Force icon in contextual menu
+ ui->actionAddTextBlock->setIconVisibleInMenu(true);
+ ui->actionAddFile->setIconVisibleInMenu(true);
+ ui->actionEditText->setIconVisibleInMenu(true);
+ ui->actionEditImage->setIconVisibleInMenu(true);
+ ui->actionEditVideo->setIconVisibleInMenu(true);
+ ui->actionUpBlock->setIconVisibleInMenu(true);
+ ui->actionDownBlock->setIconVisibleInMenu(true);
+ ui->actionSetVisible->setIconVisibleInMenu(true);
+ ui->actionSetHide->setIconVisibleInMenu(true);
+ ui->actionSameAsPreviousShot->setIconVisibleInMenu(true);
+ ui->actionUnlockSameAsPreviousShot->setIconVisibleInMenu(true);
+ ui->actionTakeSound->setIconVisibleInMenu(true);
+ ui->actionCopy->setIconVisibleInMenu(true);
+ ui->actionCut->setIconVisibleInMenu(true);
+ ui->actionPaste->setIconVisibleInMenu(true);
+ ui->actionRemoveBlock->setIconVisibleInMenu(true);
+ ui->actionInfo->setIconVisibleInMenu(true);
+ ui->actionTop->setIconVisibleInMenu(true);
+ ui->actionMiddle->setIconVisibleInMenu(true);
+ ui->actionBottom->setIconVisibleInMenu(true);
+ ui->actionLeft->setIconVisibleInMenu(true);
+ ui->actionCenter->setIconVisibleInMenu(true);
+ ui->actionRight->setIconVisibleInMenu(true);
+ ui->actionAddShot->setIconVisibleInMenu(true);
+ ui->actionRemoveShot->setIconVisibleInMenu(true);
+ ui->actionMoveLeft->setIconVisibleInMenu(true);
+ ui->actionMoveRight->setIconVisibleInMenu(true);
+
+ // Define handler
+ connect(ui->OKPreviousBT,SIGNAL(clicked()),this,SLOT(OKPrevious()));
+ connect(ui->OKNextBT,SIGNAL(clicked()),this,SLOT(OKNext()));
+ connect(ui->TVMarginsBT,SIGNAL(clicked()),this,SLOT(s_TVMarginsBt()));
+
+ connect(ui->actionCopy,SIGNAL(triggered()),this,SLOT(s_BlockTable_Copy()));
+ connect(ui->actionCut,SIGNAL(triggered()),this,SLOT(s_BlockTable_Cut()));
+ connect(ui->actionPaste,SIGNAL(triggered()),this,SLOT(s_BlockTable_Paste()));
+
+ connect(ui->actionSetVisible,SIGNAL(triggered()),this,SLOT(s_BlockSettings_ToggleVisibleState()));
+ connect(ui->actionSetHide,SIGNAL(triggered()),this,SLOT(s_BlockSettings_ToggleVisibleState()));
+ connect(ui->actionSameAsPreviousShot,SIGNAL(triggered()),this,SLOT(s_BlockSettings_ToggleSameAsPreviousShot()));
+ connect(ui->actionUnlockSameAsPreviousShot,SIGNAL(triggered()),this,SLOT(s_BlockSettings_ToggleSameAsPreviousShot()));
+ connect(ui->actionTakeSound,SIGNAL(triggered()),this,SLOT(s_BlockSettings_GetSound()));
+
+ connect(ui->actionUpBlock,SIGNAL(triggered()),this,SLOT(s_BlockTable_MoveBlockUp()));
+ connect(ui->actionDownBlock,SIGNAL(triggered()),this,SLOT(s_BlockTable_MoveBlockDown()));
+
+ connect(ui->actionTop,SIGNAL(triggered()),this,SLOT(s_BlockTable_AlignTop()));
+ connect(ui->actionMiddle,SIGNAL(triggered()),this,SLOT(s_BlockTable_AlignMiddle()));
+ connect(ui->actionBottom,SIGNAL(triggered()),this,SLOT(s_BlockTable_AlignBottom()));
+ connect(ui->actionLeft,SIGNAL(triggered()),this,SLOT(s_BlockTable_AlignLeft()));
+ connect(ui->actionCenter,SIGNAL(triggered()),this,SLOT(s_BlockTable_AlignCenter()));
+ connect(ui->actionRight,SIGNAL(triggered()),this,SLOT(s_BlockTable_AlignRight()));
+
+ connect(ui->SlideNameED,SIGNAL(textEdited(QString)),this,SLOT(s_SlideSet_SlideNameChange(QString)));
+ connect(ui->NewChapterCB,SIGNAL(stateChanged(int)),this,SLOT(s_SlideSet_NewChapter(int)));
+ connect(ui->ShotDurationED,SIGNAL(timeChanged(QTime)),this,SLOT(s_ShotTable_DurationChange(QTime)));
+
+ connect(ui->ArrangeBT,SIGNAL(pressed()),this,SLOT(s_BlockSettings_Arrange()));
+ connect(ui->EditBT,SIGNAL(pressed()),this,SLOT(s_BlockSettings_Edit()));
+ connect(ui->actionEditText,SIGNAL(triggered()),this,SLOT(s_BlockSettings_TextEditor()));
+ connect(ui->actionEditImage,SIGNAL(triggered()),this,SLOT(s_BlockSettings_ImageEditCorrect()));
+ connect(ui->actionEditVideo,SIGNAL(triggered()),this,SLOT(s_BlockSettings_VideoEdit()));
+ connect(ui->InfoBlock,SIGNAL(clicked()),this,SLOT(s_BlockSettings_Information()));
+ connect(ui->actionInfo,SIGNAL(triggered()),this,SLOT(s_BlockSettings_Information()));
+
+ connect(ui->ShotTable,SIGNAL(itemSelectionChanged()),this,SLOT(s_ShotTable_SelectionChanged()));
+ connect(ui->ShotTable,SIGNAL(RightClickEvent(QMouseEvent *)),this,SLOT(s_ShotTable_RightClickEvent(QMouseEvent *)));
+ connect(ui->ShotTable,SIGNAL(DragMoveItem()),this,SLOT(s_ShotTable_DragMoveItem()));
+ connect(ui->AddShot,SIGNAL(pressed()),this,SLOT(s_ShotTable_AddShot()));
+ connect(ui->actionAddShot,SIGNAL(triggered()),this,SLOT(s_ShotTable_AddShot()));
+ connect(ui->RemoveShot,SIGNAL(pressed()),this,SLOT(s_ShotTable_RemoveShot()));
+ connect(ui->actionRemoveShot,SIGNAL(triggered()),this,SLOT(s_ShotTable_RemoveShot()));
+ connect(ui->actionMoveLeft,SIGNAL(triggered()),this,SLOT(s_ShotTable_MoveLeft()));
+ connect(ui->actionMoveRight,SIGNAL(triggered()),this,SLOT(s_ShotTable_MoveRight()));
+
+ connect(ui->PosXEd,SIGNAL(valueChanged(double)),this,SLOT(s_BlockSettings_PosXValue(double)));
+ connect(ui->PosYEd,SIGNAL(valueChanged(double)),this,SLOT(s_BlockSettings_PosYValue(double)));
+ connect(ui->WidthEd,SIGNAL(valueChanged(double)),this,SLOT(s_BlockSettings_PosWidthValue(double)));
+ connect(ui->HeightEd,SIGNAL(valueChanged(double)),this,SLOT(s_BlockSettings_PosHeightValue(double)));
+ connect(ui->BackgroundFormCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_BlockSettings_ShapeBackgroundForm(int)));
+ connect(ui->OpacityCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_BlockSettings_ShapeOpacity(int)));
+ connect(ui->PenStyleCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_BlockSettings_ShapePenStyle(int)));
+ connect(ui->ShadowEffectCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_BlockSettings_ShapeShadowFormValue(int)));
+ connect(ui->ShadowEffectED,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_ShapeShadowDistanceValue(int)));
+
+ connect(ui->PenColorCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_BlockSettings_ShapePenColor(int)));
+ connect(ui->PenSizeEd,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_ShapePenSize(int)));
+ connect(ui->ShadowColorCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_BlockSettings_ShapeShadowColor(int)));
+
+ connect(ui->RotateXED,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_RotateXValue(int))); connect(ui->RotateXSLD,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_RotateXValue(int))); connect(ui->ResetRotateXBT,SIGNAL(released()),this,SLOT(s_BlockSettings_ResetRotateXValue()));
+ connect(ui->RotateYED,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_RotateYValue(int))); connect(ui->RotateYSLD,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_RotateYValue(int))); connect(ui->ResetRotateYBT,SIGNAL(released()),this,SLOT(s_BlockSettings_ResetRotateYValue()));
+ connect(ui->RotateZED,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_RotateZValue(int))); connect(ui->RotateZSLD,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_RotateZValue(int))); connect(ui->ResetRotateZBT,SIGNAL(released()),this,SLOT(s_BlockSettings_ResetRotateZValue()));
+
+ // Block animation
+ connect(ui->BlockAnimCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_BlockSettings_BlockAnimType(int)));
+ connect(ui->TurnZED,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_BlockAnimTurnZValue(int))); connect(ui->TurnZSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_BlockAnimTurnZValue(int))); connect(ui->ResetTurnZBT,SIGNAL(released()),this,SLOT(s_BlockSettings_BlockAnimTurnZReset()));
+ connect(ui->TurnXED,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_BlockAnimTurnXValue(int))); connect(ui->TurnXSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_BlockAnimTurnXValue(int))); connect(ui->ResetTurnXBT,SIGNAL(released()),this,SLOT(s_BlockSettings_BlockAnimTurnXReset()));
+ connect(ui->TurnYED,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_BlockAnimTurnYValue(int))); connect(ui->TurnYSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_BlockAnimTurnYValue(int))); connect(ui->ResetTurnYBT,SIGNAL(released()),this,SLOT(s_BlockSettings_BlockAnimTurnYReset()));
+ connect(ui->DissolveCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_BlockSettings_BlockAnimDissolveType(int)));
+
+ // Block table/scene part
+ connect(ui->BlockTable,SIGNAL(itemSelectionChanged()),this,SLOT(s_BlockTable_SelectionChanged()));
+ connect(ui->BlockTable,SIGNAL(DoubleClickEvent(QMouseEvent *)),this,SLOT(s_BlockTable_ItemDoubleClicked(QMouseEvent *)));
+ connect(ui->BlockTable,SIGNAL(RightClickEvent(QMouseEvent *)),this,SLOT(s_BlockTable_ItemRightClicked(QMouseEvent *)));
+ connect(ui->BlockTable,SIGNAL(DragMoveBlock(int,int)),this,SLOT(s_BlockTable_DragMoveBlock(int,int)));
+ connect(ui->BlockTable,SIGNAL(DragDropFiles(QList<QUrl>)),this,SLOT(s_BlockTable_DragDropFiles(QList<QUrl>)));
+ connect(ui->AddTextBlock,SIGNAL(pressed()),this,SLOT(s_BlockTable_AddNewTextBlock())); connect(ui->actionAddTextBlock,SIGNAL(triggered()),this,SLOT(s_BlockTable_AddNewTextBlock()));
+ connect(ui->AddFileBlock,SIGNAL(pressed()),this,SLOT(s_BlockTable_AddNewFileBlock())); connect(ui->actionAddFile,SIGNAL(triggered()),this,SLOT(s_BlockTable_AddNewFileBlock()));
+ connect(ui->actionRemoveBlock,SIGNAL(triggered()),this,SLOT(s_BlockTable_RemoveBlock()));
+
+ // Style buttons
+ connect(ui->FramingStyleCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChangeFramingStyle(int)));
+ connect(ui->CoordinateStyleBT,SIGNAL(pressed()),this,SLOT(s_CoordinateStyleBT()));
+ connect(ui->BlockShapeStyleBT,SIGNAL(pressed()),this,SLOT(s_BlockShapeStyleBT()));
+
+ // Text annimation
+ connect(ui->ZoomSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_TextAnimZoom(int)));
+ connect(ui->ZoomED,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_TextAnimZoom(int)));
+ connect(ui->ZoomResetBT,SIGNAL(released()),this,SLOT(s_BlockSettings_TextAnimZoomReset()));
+ connect(ui->ScrollXSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_TextAnimScrollX(int)));
+ connect(ui->ScrollXED,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_TextAnimScrollX(int)));
+ connect(ui->ScrollXResetBT,SIGNAL(released()),this,SLOT(s_BlockSettings_TextAnimScrollXReset()));
+ connect(ui->ScrollYSlider,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_TextAnimScrollY(int)));
+ connect(ui->ScrollYED,SIGNAL(valueChanged(int)),this,SLOT(s_BlockSettings_TextAnimScrollY(int)));
+ connect(ui->ScrollYResetBT,SIGNAL(released()),this,SLOT(s_BlockSettings_TextAnimScrollYReset()));
+
+ // Interactive zone
+ connect(ui->InteractiveZone,SIGNAL(StartSelectionChange()),this,SLOT(s_BlockTable_StartSelectionChange()));
+ connect(ui->InteractiveZone,SIGNAL(EndSelectionChange()),this,SLOT(s_BlockTable_EndSelectionChange()));
+ connect(ui->InteractiveZone,SIGNAL(RightClickEvent(QMouseEvent *)),this,SLOT(s_BlockTable_ItemRightClicked(QMouseEvent *)));
+ connect(ui->InteractiveZone,SIGNAL(DoubleClickEvent(QMouseEvent *)),this,SLOT(s_BlockTable_ItemDoubleClicked(QMouseEvent *)));
+ connect(ui->InteractiveZone,SIGNAL(TransformBlock(double,double,double,double,double,double,double,double)),this,SLOT(s_BlockSettings_IntZoneTransformBlocks(double,double,double,double,double,double,double,double)));
+ connect(ui->InteractiveZone,SIGNAL(DisplayTransformBlock(double,double,double,double,double,double,double,double)),this,SLOT(s_BlockSettings_IntZoneDisplayTransformBlocks(double,double,double,double,double,double,double,double)));
+
+ s_Event_ClipboardChanged(); // Setup clipboard button state
+ connect(QApplication::clipboard(),SIGNAL(dataChanged()),this,SLOT(s_Event_ClipboardChanged()));
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::resizeEvent(QResizeEvent *) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::resizeEvent");
+
+ ui->InteractiveZone->RefreshDisplay();
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::showEvent(QShowEvent *ev) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::showEvent");
+
+ QCustomDialog::showEvent(ev);
+
+ if (CurrentShot==NULL) {
+ // Init ShotTable
+ ui->ShotTable->setUpdatesEnabled(false);
+ for (int i=0;i<CurrentSlide->List.count();i++) {
+ ui->ShotTable->insertColumn(i);
+ ui->ShotTable->setColumnWidth(i,CurrentSlide->Parent->GetWidthForHeight(ui->ShotTable->rowHeight(0)));
+ }
+ ui->ShotTable->setCurrentCell(0,0);
+ ui->ShotTable->setUpdatesEnabled(true);
+ }
+}
+
+//====================================================================================================================
+// Initiale Undo
+
+void DlgSlideProperties::PrepareGlobalUndo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::PrepareGlobalUndo");
+
+ // Save object before modification for cancel button
+ Undo=new QDomDocument(APPLICATION_NAME);
+ QDomElement root=Undo->createElement("UNDO-DLG"); // Create xml document and root
+ CurrentSlide->SaveToXML(root,"UNDO-DLG-OBJECT",CurrentSlide->Parent->ProjectFileName,true); // Save object
+ Undo->appendChild(root); // Add object to xml document
+}
+
+//====================================================================================================================
+// Apply Undo : call when user click on Cancel button
+
+void DlgSlideProperties::DoGlobalUndo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::DoGlobalUndo");
+
+ QDomElement root=Undo->documentElement();
+ if (root.tagName()=="UNDO-DLG") CurrentSlide->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL);
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::MakeFormIcon(QComboBox *UICB) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::MakeFormIcon");
+
+ for (int i=0;i<UICB->count();i++) {
+ cCompositionObject Object(COMPOSITIONTYPE_BACKGROUND,0,((cApplicationConfig *)BaseApplicationConfig));
+ Object.Text ="";
+ Object.x =0;
+ Object.y =0;
+ Object.w =1;
+ Object.h =1;
+ Object.BackgroundForm =i+1;
+ Object.Opacity =4;
+ Object.PenSize =1;
+ Object.PenStyle =Qt::SolidLine;
+ Object.PenColor ="#000000";
+ Object.BackgroundBrush->BrushType=BRUSHTYPE_NOBRUSH;
+ QPixmap Image(UICB->iconSize());
+ QPainter Painter;
+ Painter.begin(&Image);
+ Painter.fillRect(QRect(0,0,UICB->iconSize().width(),UICB->iconSize().height()),"#ffffff");
+ Object.DrawCompositionObject(&Painter,1,0,0,UICB->iconSize().width(),UICB->iconSize().height(),true,0,0,NULL,1,NULL,false,0,false);
+ Painter.end();
+ UICB->setItemIcon(i,QIcon(Image));
+ }
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::MakeBorderStyleIcon(QComboBox *UICB) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::MakeBorderStyleIcon");
+
+ for (int i=0;i<UICB->count();i++) {
+ QPixmap Image(32,32);
+ QPainter Painter;
+ Painter.begin(&Image);
+ Painter.fillRect(QRect(0,0,32,32),"#ffffff");
+ QPen Pen;
+ Pen.setColor(Qt::black);
+ Pen.setStyle((Qt::PenStyle)UICB->itemData(i).toInt());
+ Pen.setWidth(2);
+ Painter.setPen(Pen);
+ Painter.setBrush(QBrush(QColor("#ffffff")));
+ Painter.drawLine(0,16,32,16);
+ Painter.end();
+ UICB->setItemIcon(i,QIcon(Image));
+ }
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::SaveWindowState() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::SaveWindowState");
+
+ // Save Window size and position
+ if (DlgWSP) ((cSaveDlgSlideProperties *)DlgWSP)->SaveWindowState(this,ui->SplitterTop);
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::RestoreWindowState() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::RestoreWindowState");
+
+ // Restore window size and position
+ if (DlgWSP) ((cSaveDlgSlideProperties *)DlgWSP)->ApplyToWindow(this,ui->SplitterTop);
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::keyReleaseEvent(QKeyEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::keyReleaseEvent");
+ if (event->modifiers()==Qt::ControlModifier) {
+ switch (event->key()) {
+ case Qt::Key_C : s_BlockTable_Copy(); break;
+ case Qt::Key_X : s_BlockTable_Cut(); break;
+ case Qt::Key_V : s_BlockTable_Paste(); break;
+ default : QCustomDialog::keyReleaseEvent(event); break;
+ }
+ } if (event->modifiers()==Qt::NoModifier) {
+ switch (event->key()) {
+ case Qt::Key_Delete :
+ if ((ui->InteractiveZone->hasFocus())||(ui->BlockTable->hasFocus())) s_BlockTable_RemoveBlock();
+ else if (ui->ShotTable->hasFocus()) s_ShotTable_RemoveShot();
+ break;
+ default :
+ QCustomDialog::keyReleaseEvent(event);
+ break;
+ }
+ } else QCustomDialog::keyReleaseEvent(event);
+}
+
+//====================================================================================================================
+// Call when user click on Ok button
+
+void DlgSlideProperties::OKPrevious() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::OKPrevious");
+
+ SaveWindowState(); // Save Window size and position
+ done(2); // Close the box
+}
+
+void DlgSlideProperties::OKNext() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::OKNext");
+
+ SaveWindowState(); // Save Window size and position
+ done(3); // Close the box
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::s_Event_ClipboardChanged() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_Event_ClipboardChanged");
+
+ ui->actionPaste->setEnabled((QApplication::clipboard())&&(QApplication::clipboard()->mimeData())&&(QApplication::clipboard()->mimeData()->hasFormat("ffDiaporama/block")));
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::PreparePartialUndo(int ActionType,QDomElement root) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::PreparePartialUndo");
+
+ QDomDocument DomDocument;
+
+ root.setAttribute("BlockNbr",CompositionList->List.count());
+
+ for (int i=0;i<CompositionList->List.count();i++) {
+ QDomElement SubElement=DomDocument.createElement(QString("BLOCK-%1").arg(i));
+ switch (ActionType) {
+ case UNDOACTION_INTERACTIVEMOVERESIZE:
+ case UNDOACTION_EDITZONE_POSX:
+ case UNDOACTION_EDITZONE_POSY:
+ case UNDOACTION_EDITZONE_WIDTH:
+ case UNDOACTION_EDITZONE_HEIGHT:
+ case UNDOACTION_EDITZONE_ROTATEZ:
+ case UNDOACTION_EDITZONE_ROTATEX:
+ case UNDOACTION_EDITZONE_ROTATEY:
+ case UNDOACTION_BLOCKTABLE_ARRANGEBLOCK:
+ case UNDOACTION_STYLE_COORDINATES:
+ SubElement.setAttribute("x", CompositionList->List[i]->x);
+ SubElement.setAttribute("y", CompositionList->List[i]->y);
+ SubElement.setAttribute("w", CompositionList->List[i]->w);
+ SubElement.setAttribute("h", CompositionList->List[i]->h);
+ SubElement.setAttribute("RZAxis",CompositionList->List[i]->RotateZAxis);
+ SubElement.setAttribute("RXAxis",CompositionList->List[i]->RotateXAxis);
+ SubElement.setAttribute("RYAxis",CompositionList->List[i]->RotateYAxis);
+ break;
+ case UNDOACTION_EDITZONE_SHAPEOPACITY: SubElement.setAttribute("BackgroundTransparent",CompositionList->List[i]->Opacity); break;
+ case UNDOACTION_EDITZONE_SHAPEFORM: SubElement.setAttribute("BackgroundForm",CompositionList->List[i]->BackgroundForm); break;
+ case UNDOACTION_EDITZONE_SHAPEPENSIZE: SubElement.setAttribute("PenSize",CompositionList->List[i]->PenSize); break;
+ case UNDOACTION_EDITZONE_SHAPEPENSTYLE: SubElement.setAttribute("PenStyle",CompositionList->List[i]->PenStyle); break;
+ case UNDOACTION_EDITZONE_SHAPEPENCOLOR: SubElement.setAttribute("PenColor",CompositionList->List[i]->PenColor); break;
+ case UNDOACTION_EDITZONE_SHAPESHADOWFORM: SubElement.setAttribute("FormShadow",CompositionList->List[i]->FormShadow); break;
+ case UNDOACTION_EDITZONE_SHAPESHADOWDIST: SubElement.setAttribute("FormShadowDistance",CompositionList->List[i]->FormShadowDistance); break;
+ case UNDOACTION_EDITZONE_SHAPESHADOWCOLOR: SubElement.setAttribute("FormShadowColor",CompositionList->List[i]->FormShadowColor); break;
+ case UNDOACTION_EDITZONE_TEXTANIMZOOM: SubElement.setAttribute("TxtZoomLevel",CompositionList->List[i]->TxtZoomLevel); break;
+ case UNDOACTION_EDITZONE_TEXTANIMSCROLLX: SubElement.setAttribute("TxtScrollX",CompositionList->List[i]->TxtScrollX); break;
+ case UNDOACTION_EDITZONE_TEXTANIMSCROLLY: SubElement.setAttribute("TxtScrollY",CompositionList->List[i]->TxtScrollY); break;
+ case UNDOACTION_EDITZONE_BLOCKANIMTYPE: SubElement.setAttribute("BlockAnimType",CompositionList->List[i]->BlockAnimType); break;
+ case UNDOACTION_EDITZONE_BLOCKANIMTURNX: SubElement.setAttribute("TurnXAxis",CompositionList->List[i]->TurnXAxis); break;
+ case UNDOACTION_EDITZONE_BLOCKANIMTURNZ: SubElement.setAttribute("TurnZAxis",CompositionList->List[i]->TurnZAxis); break;
+ case UNDOACTION_EDITZONE_BLOCKANIMTURNY: SubElement.setAttribute("TurnYAxis",CompositionList->List[i]->TurnYAxis); break;
+ case UNDOACTION_EDITZONE_BLOCKANIMDISSOLVE: SubElement.setAttribute("Dissolve",CompositionList->List[i]->Dissolve); break;
+ case UNDOACTION_EDITZONE_NEWCHAPTER: SubElement.setAttribute("StartNewChapter",CurrentSlide->StartNewChapter?"1":"0"); break;
+ case UNDOACTION_EDITZONE_SLIDENAME: SubElement.setAttribute("SlideName",CurrentSlide->SlideName); break;
+ case UNDOACTION_EDITZONE_SHOTDURATION: SubElement.setAttribute("StaticDuration",CurrentShot->StaticDuration); break;
+ case UNDOACTION_BLOCKTABLE_VISIBLESTATE: SubElement.setAttribute("IsVisible",CompositionList->List[i]->IsVisible?"1":"0"); break;
+ case UNDOACTION_BLOCKTABLE_SOUNDSTATE: SubElement.setAttribute("SoundVolume",CompositionList->List[i]->BackgroundBrush->SoundVolume);
+
+ case UNDOACTION_BLOCKTABLE_EDITTEXT:
+ case UNDOACTION_BLOCKTABLE_EDITVIDEO: CompositionList->List[i]->BackgroundBrush->SaveToXML(SubElement,"BRUSH","",false); break;
+
+ case UNDOACTION_BLOCKTABLE_EDITIMAGE:
+ case UNDOACTION_STYLE_SHAPE:
+ case UNDOACTION_STYLE_FRAMING:
+ case UNDOACTION_BLOCKTABLE_ADDTEXTBLOCK:
+ case UNDOACTION_BLOCKTABLE_ADDFILEBLOCK:
+ case UNDOACTION_BLOCKTABLE_REMOVEBLOCK:
+ case UNDOACTION_BLOCKTABLE_PASTEBLOCK:
+ case UNDOACTION_BLOCKTABLE_CHBLOCKORDER:
+ case UNDOACTION_SHOTTABLE_ADDSHOT:
+ case UNDOACTION_SHOTTABLE_REMOVESHOT:
+ case UNDOACTION_SHOTTABLE_CHORDER:
+ case UNDOACTION_BLOCKTABLE_SAMEASPREVIOUSSTATE:
+ default:
+ CurrentSlide->SaveToXML(root,"UNDO-DLG-OBJECT",CurrentSlide->Parent->ProjectFileName,true); // Save all
+ break;
+ }
+ root.appendChild(SubElement);
+ }
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::ApplyPartialUndo(int ActionType,QDomElement root) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::ApplyPartialUndo");
+
+ int BlockNbr=0;
+ if (root.hasAttribute("BlockNbr")) {
+ BlockNbr=root.attribute("BlockNbr").toInt();
+
+ for (int i=0;i<BlockNbr;i++) if ((root.elementsByTagName(QString("BLOCK-%1").arg(i)).length()>0)&&(root.elementsByTagName(QString("BLOCK-%1").arg(i)).item(0).isElement()==true)) {
+ QDomElement SubElement=root.elementsByTagName(QString("BLOCK-%1").arg(i)).item(0).toElement();
+
+ switch (ActionType) {
+ case UNDOACTION_INTERACTIVEMOVERESIZE:
+ case UNDOACTION_EDITZONE_POSX:
+ case UNDOACTION_EDITZONE_POSY:
+ case UNDOACTION_EDITZONE_WIDTH:
+ case UNDOACTION_EDITZONE_HEIGHT:
+ case UNDOACTION_BLOCKTABLE_ARRANGEBLOCK:
+ case UNDOACTION_STYLE_COORDINATES:
+ case UNDOACTION_EDITZONE_ROTATEZ:
+ case UNDOACTION_EDITZONE_ROTATEX:
+ case UNDOACTION_EDITZONE_ROTATEY:
+ if (SubElement.hasAttribute("x")) CompositionList->List[i]->x =SubElement.attribute("x").toDouble();
+ if (SubElement.hasAttribute("y")) CompositionList->List[i]->y =SubElement.attribute("y").toDouble();
+ if (SubElement.hasAttribute("w")) CompositionList->List[i]->w =SubElement.attribute("w").toDouble();
+ if (SubElement.hasAttribute("h")) CompositionList->List[i]->h =SubElement.attribute("h").toDouble();
+ if (SubElement.hasAttribute("RZAxis")) CompositionList->List[i]->RotateZAxis=SubElement.attribute("RZAxis").toDouble();
+ if (SubElement.hasAttribute("RXAxis")) CompositionList->List[i]->RotateXAxis=SubElement.attribute("RXAxis").toDouble();
+ if (SubElement.hasAttribute("RYAxis")) CompositionList->List[i]->RotateYAxis=SubElement.attribute("RYAxis").toDouble();
+ break;
+ case UNDOACTION_EDITZONE_SHAPEOPACITY: if (SubElement.hasAttribute("BackgroundTransparent")) CompositionList->List[i]->Opacity= SubElement.attribute("BackgroundTransparent").toInt(); break;
+ case UNDOACTION_EDITZONE_SHAPEFORM: if (SubElement.hasAttribute("BackgroundForm")) CompositionList->List[i]->BackgroundForm= SubElement.attribute("BackgroundForm").toInt(); break;
+ case UNDOACTION_EDITZONE_SHAPEPENSIZE: if (SubElement.hasAttribute("PenSize")) CompositionList->List[i]->PenSize= SubElement.attribute("PenSize").toInt(); break;
+ case UNDOACTION_EDITZONE_SHAPEPENSTYLE: if (SubElement.hasAttribute("PenStyle")) CompositionList->List[i]->PenStyle= SubElement.attribute("PenStyle").toInt(); break;
+ case UNDOACTION_EDITZONE_SHAPEPENCOLOR: if (SubElement.hasAttribute("PenColor")) CompositionList->List[i]->PenColor= SubElement.attribute("PenColor"); break;
+ case UNDOACTION_EDITZONE_SHAPESHADOWFORM: if (SubElement.hasAttribute("FormShadow")) CompositionList->List[i]->FormShadow= SubElement.attribute("FormShadow").toInt(); break;
+ case UNDOACTION_EDITZONE_SHAPESHADOWDIST: if (SubElement.hasAttribute("FormShadowDistance")) CompositionList->List[i]->FormShadowDistance= SubElement.attribute("FormShadowDistance").toInt(); break;
+ case UNDOACTION_EDITZONE_SHAPESHADOWCOLOR: if (SubElement.hasAttribute("FormShadowColor")) CompositionList->List[i]->FormShadowColor= SubElement.attribute("FormShadowColor"); break;
+ case UNDOACTION_EDITZONE_TEXTANIMZOOM: if (SubElement.hasAttribute("TxtZoomLevel")) CompositionList->List[i]->TxtZoomLevel= SubElement.attribute("TxtZoomLevel").toInt(); break;
+ case UNDOACTION_EDITZONE_TEXTANIMSCROLLX: if (SubElement.hasAttribute("TxtScrollX")) CompositionList->List[i]->TxtScrollX= SubElement.attribute("TxtScrollX").toInt(); break;
+ case UNDOACTION_EDITZONE_TEXTANIMSCROLLY: if (SubElement.hasAttribute("TxtScrollY")) CompositionList->List[i]->TxtScrollY= SubElement.attribute("TxtScrollY").toInt(); break;
+ case UNDOACTION_EDITZONE_BLOCKANIMTYPE: if (SubElement.hasAttribute("BlockAnimType")) CompositionList->List[i]->BlockAnimType= SubElement.attribute("BlockAnimType").toInt(); break;
+ case UNDOACTION_EDITZONE_BLOCKANIMTURNX: if (SubElement.hasAttribute("TurnXAxis")) CompositionList->List[i]->TurnXAxis= SubElement.attribute("TurnXAxis").toInt(); break;
+ case UNDOACTION_EDITZONE_BLOCKANIMTURNZ: if (SubElement.hasAttribute("TurnZAxis")) CompositionList->List[i]->TurnZAxis= SubElement.attribute("TurnZAxis").toInt(); break;
+ case UNDOACTION_EDITZONE_BLOCKANIMTURNY: if (SubElement.hasAttribute("TurnYAxis")) CompositionList->List[i]->TurnYAxis= SubElement.attribute("TurnYAxis").toInt(); break;
+ case UNDOACTION_EDITZONE_BLOCKANIMDISSOLVE: if (SubElement.hasAttribute("Dissolve")) CompositionList->List[i]->Dissolve= SubElement.attribute("Dissolve").toInt(); break;
+ case UNDOACTION_EDITZONE_NEWCHAPTER: if (SubElement.hasAttribute("StartNewChapter")) CurrentSlide->StartNewChapter= SubElement.attribute("StartNewChapter")=="1"; ui->NewChapterCB->setChecked(CurrentSlide->StartNewChapter); break;
+ case UNDOACTION_EDITZONE_SLIDENAME: if (SubElement.hasAttribute("SlideName")) CurrentSlide->SlideName= SubElement.attribute("SlideName"); ui->SlideNameED->setText(CurrentSlide->SlideName); break;
+ case UNDOACTION_EDITZONE_SHOTDURATION: if (SubElement.hasAttribute("StaticDuration")) CurrentShot->StaticDuration= SubElement.attribute("StaticDuration").toLongLong(); s_ShotTable_DisplayDuration(); break;
+ case UNDOACTION_BLOCKTABLE_VISIBLESTATE: if (SubElement.hasAttribute("IsVisible")) CompositionList->List[i]->IsVisible= SubElement.attribute("IsVisible")=="1"; break;
+ case UNDOACTION_BLOCKTABLE_SOUNDSTATE: if (SubElement.hasAttribute("SoundVolume")) CompositionList->List[i]->BackgroundBrush->SoundVolume= SubElement.attribute("SoundVolume").toDouble(); break;
+ case UNDOACTION_BLOCKTABLE_EDITTEXT:
+ case UNDOACTION_BLOCKTABLE_EDITVIDEO: CompositionList->List[i]->BackgroundBrush->LoadFromXML(SubElement,"BRUSH","",NULL,NULL); break;
+
+ case UNDOACTION_BLOCKTABLE_EDITIMAGE:
+ case UNDOACTION_STYLE_SHAPE:
+ case UNDOACTION_STYLE_FRAMING:
+ case UNDOACTION_BLOCKTABLE_ADDTEXTBLOCK:
+ case UNDOACTION_BLOCKTABLE_ADDFILEBLOCK:
+ case UNDOACTION_BLOCKTABLE_REMOVEBLOCK:
+ case UNDOACTION_BLOCKTABLE_PASTEBLOCK:
+ case UNDOACTION_BLOCKTABLE_CHBLOCKORDER:
+ case UNDOACTION_BLOCKTABLE_SAMEASPREVIOUSSTATE:
+ CurrentSlide->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL); // Restore all
+ i=BlockNbr; // Stop loop
+ ui->ShotTable->setUpdatesEnabled(false);
+ ui->ShotTable->setUpdatesEnabled(true); // Reset timeline painting
+ s_ShotTable_SelectionChanged();
+ break;
+
+ case UNDOACTION_SHOTTABLE_ADDSHOT:
+ case UNDOACTION_SHOTTABLE_REMOVESHOT:
+ case UNDOACTION_SHOTTABLE_CHORDER:
+ default:
+ InRefreshControls=true;
+ CurrentSlide->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL); // Restore all
+ i=BlockNbr; // Stop loop
+ ui->ShotTable->setUpdatesEnabled(false);
+ while (ui->ShotTable->columnCount()>0) ui->ShotTable->removeColumn(ui->ShotTable->columnCount()-1);
+ for (int i=0;i<CurrentSlide->List.count();i++) {
+ ui->ShotTable->insertColumn(i);
+ ui->ShotTable->setColumnWidth(i,CurrentSlide->Parent->GetWidthForHeight(ui->ShotTable->rowHeight(0)));
+ }
+ ui->ShotTable->setCurrentCell(0,0);
+ ui->ShotTable->setUpdatesEnabled(true);
+ InRefreshControls=false;
+ s_ShotTable_SelectionChanged();
+ break;
+ }
+ }
+ RefreshControls(true);
+ }
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::RefreshStyleControls() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::RefreshStyleControls");
+
+ if (InRefreshStyleControls) return;
+ InRefreshStyleControls=true;
+
+ bool IsVisible=(BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject->IsVisible);
+ ui->CoordinateStyleBT->setEnabled(IsVisible && !SelectionHaveLockBlock);
+ ui->CoordinateStyleED->setEnabled(IsVisible && !SelectionHaveLockBlock);
+ ui->BlockShapeStyleBT->setEnabled(IsVisible && !SelectionHaveLockBlock);
+ ui->BlockShapeStyleED->setEnabled(IsVisible && !SelectionHaveLockBlock);
+ ui->FramingStyleCB ->setEnabled(IsVisible && !SelectionHaveLockBlock);
+ ui->FramingStyleLabel->setEnabled(IsVisible && !SelectionHaveLockBlock);
+
+ if (IsVisible) {
+ ui->BlockShapeStyleED->setText(((cApplicationConfig *)BaseApplicationConfig)->StyleBlockShapeCollection.GetStyleName(CurrentCompoObject->GetBlockShapeStyle()));
+ ui->CoordinateStyleED->setText(((cApplicationConfig *)BaseApplicationConfig)->StyleCoordinateCollection.GetStyleName(CurrentCompoObject->GetCoordinateStyle()));
+
+ if ((CurrentCompoObject->BackgroundBrush->Video==NULL)&&(CurrentCompoObject->BackgroundBrush->Image==NULL)) {
+
+ // It's a text block
+ StopMajFramingStyle=true;
+ ui->FramingStyleLabel->setPixmap(QPixmap(":/img/Geometry.png"));
+ if (ui->FramingStyleCB->itemText(0)!=QApplication::translate("DlgImageCorrection","Unlock")) {
+ ui->FramingStyleCB->setUpdatesEnabled(false);
+ ui->FramingStyleCB->clear();
+ ui->FramingStyleCB->addItem(QIcon(ICON_GEOMETRY_UNLOCKED),QApplication::translate("DlgImageCorrection","Unlock"));
+ ui->FramingStyleCB->addItem(QIcon(ICON_GEOMETRY_LOCKED), QApplication::translate("DlgImageCorrection","Lock to this geometry"));
+ ui->FramingStyleCB->addItem(QIcon(ICON_GEOMETRY_PROJECT), QApplication::translate("DlgImageCorrection","Lock to project geometry"));
+ }
+ int Index=1;
+ if (!CurrentCompoObject->BackgroundBrush->LockGeometry) Index=0; else if (CurrentCompoObject->BackgroundBrush->AspectRatio==ProjectGeometry) Index=2;
+ if (ui->FramingStyleCB->currentIndex()!=Index) ui->FramingStyleCB->setCurrentIndex(Index);
+ if (!ui->FramingStyleCB->updatesEnabled()) ui->FramingStyleCB->setUpdatesEnabled(true);
+ StopMajFramingStyle=false;
+
+ } else {
+
+ // Image or video
+ ui->FramingStyleLabel->setPixmap(QPixmap(":/img/EditImage.png"));
+ CurrentCompoObject->BackgroundBrush->InitDefaultFramingStyle(CurrentCompoObject->BackgroundBrush->LockGeometry,CurrentCompoObject->BackgroundBrush->AspectRatio);
+ if (CurrentCompoObject->BackgroundBrush->Image!=NULL) ((cApplicationConfig *)BaseApplicationConfig)->StyleImageFramingCollection.SetImageGeometryFilter(CurrentSlide->Parent->ImageGeometry,CurrentCompoObject->BackgroundBrush->Image->ObjectGeometry);
+ else if (CurrentCompoObject->BackgroundBrush->Video!=NULL) ((cApplicationConfig *)BaseApplicationConfig)->StyleImageFramingCollection.SetImageGeometryFilter(CurrentSlide->Parent->ImageGeometry,CurrentCompoObject->BackgroundBrush->Video->ObjectGeometry);
+
+ QString StyleDef =CurrentCompoObject->GetFramingStyle();
+ QString StyleName=((cApplicationConfig *)BaseApplicationConfig)->StyleImageFramingCollection.GetStyleName(StyleDef);
+ if (StyleName=="") {
+ if (StyleDef==CurrentCompoObject->BackgroundBrush->DefaultFramingW) StyleName=QApplication::translate("DlgManageStyle","Adjust to image width");
+ else if (StyleDef==CurrentCompoObject->BackgroundBrush->DefaultFramingH) StyleName=QApplication::translate("DlgManageStyle","Adjust to image height");
+ else if (StyleDef==CurrentCompoObject->BackgroundBrush->DefaultFramingF) StyleName=QApplication::translate("DlgManageStyle","Adjust to full image");
+ else StyleName=QApplication::translate("DlgManageStyle","Custom");
+ }
+ StopMajFramingStyle=true;
+ ((cApplicationConfig *)BaseApplicationConfig)->StyleImageFramingCollection.FillCollectionCB(ui->FramingStyleCB,StyleName,true);
+ StopMajFramingStyle=false;
+ }
+
+ } else {
+ ui->BlockShapeStyleED->setText("");
+ ui->CoordinateStyleED->setText("");
+ ui->FramingStyleLabel->setPixmap(QPixmap(":/img/EditImage.png"));
+ if ((ui->FramingStyleCB->count()!=1)||(ui->FramingStyleCB->currentIndex()!=0)||(ui->FramingStyleCB->itemText(0)!=QApplication::translate("DlgManageStyle","Custom"))) {
+ ui->FramingStyleCB->clear();
+ ui->FramingStyleCB->addItem(QIcon(ICON_FRAMING_CUSTOM),QApplication::translate("DlgManageStyle","Custom"));
+ ui->FramingStyleCB->setCurrentIndex(0);
+ }
+ }
+
+ InRefreshStyleControls=false;
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::RefreshControls(bool UpdateInteractiveZone) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::RefreshControls");
+
+ if ((InRefreshControls)||(!CompositionList)) return;
+ InRefreshControls=true;
+ QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
+
+ //***********************
+ // Tools button
+ //***********************
+ ui->EditBT-> setEnabled((BlockSelectMode==SELECTMODE_ONE));
+ ui->ArrangeBT-> setEnabled((BlockSelectMode==SELECTMODE_ONE)||(BlockSelectMode==SELECTMODE_MULTIPLE));
+ ui->InfoBlock-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject->IsVisible)&&(CurrentCompoObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK));
+
+ // actions
+ ui->actionTop-> setEnabled((BlockSelectMode==SELECTMODE_MULTIPLE)&&(!SelectionHaveLockBlock));
+ ui->actionMiddle-> setEnabled((BlockSelectMode==SELECTMODE_MULTIPLE)&&(!SelectionHaveLockBlock));
+ ui->actionBottom-> setEnabled((BlockSelectMode==SELECTMODE_MULTIPLE)&&(!SelectionHaveLockBlock));
+ ui->actionLeft-> setEnabled((BlockSelectMode==SELECTMODE_MULTIPLE)&&(!SelectionHaveLockBlock));
+ ui->actionCenter-> setEnabled((BlockSelectMode==SELECTMODE_MULTIPLE)&&(!SelectionHaveLockBlock));
+ ui->actionRight-> setEnabled((BlockSelectMode==SELECTMODE_MULTIPLE)&&(!SelectionHaveLockBlock));
+ ui->actionSetVisible-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(!SelectionHaveLockBlock));
+ ui->actionSetHide-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(!SelectionHaveLockBlock));
+ ui->actionTakeSound-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(!SelectionHaveLockBlock)&&(CurrentCompoObject->IsVisible) &&(CurrentCompoObject->BackgroundBrush->Video!=NULL)&&(CurrentCompoObject->BackgroundBrush->SoundVolume==0));
+ ui->actionEditImage-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(!SelectionHaveLockBlock)&&(CurrentCompoObject->IsVisible) &&(CurrentCompoObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK));
+ ui->actionEditVideo-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(!SelectionHaveLockBlock)&&(CurrentCompoObject->IsVisible) &&(CurrentCompoObject->BackgroundBrush->Video!=NULL));
+ ui->actionEditText-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(!SelectionHaveLockBlock)&&(CurrentCompoObject->IsVisible));
+ ui->actionInfo-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject->IsVisible)&&(CurrentCompoObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK));
+ ui->actionRemoveBlock-> setEnabled((BlockSelectMode==SELECTMODE_ONE)||(BlockSelectMode==SELECTMODE_MULTIPLE));
+ ui->actionUpBlock-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(!SelectionHaveLockBlock)&&(CurrentCompoObjectNbr>0));
+ ui->actionDownBlock-> setEnabled((BlockSelectMode==SELECTMODE_ONE)&&(!SelectionHaveLockBlock)&&(CurrentCompoObjectNbr<ui->BlockTable->rowCount()-1));
+ ui->actionCopy-> setEnabled((BlockSelectMode==SELECTMODE_ONE)||(BlockSelectMode==SELECTMODE_MULTIPLE));
+ ui->actionCut-> setEnabled((BlockSelectMode==SELECTMODE_ONE)||(BlockSelectMode==SELECTMODE_MULTIPLE));
+
+ // Change icons for visible and getsound buttons/actions
+ if (BlockSelectMode==SELECTMODE_ONE) ui->actionTakeSound->setIcon(QIcon(QString((CurrentCompoObject==NULL)||(CurrentCompoObject->BackgroundBrush->Video==NULL)||(CurrentCompoObject->BackgroundBrush->SoundVolume==0)?ICON_SOUND_OK:ICON_SOUND_KO)));
+
+ //*****************************
+ // Position, size and rotation
+ //*****************************
+ if ((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject->IsVisible)) {
+
+ ui->PosSize_X-> setEnabled(true); ui->PosXEd-> setEnabled(!SelectionHaveLockBlock);
+ ui->PosSize_Y-> setEnabled(true); ui->PosYEd-> setEnabled(!SelectionHaveLockBlock);
+ ui->PosSize_Width-> setEnabled(true); ui->WidthEd-> setEnabled(!SelectionHaveLockBlock);
+ ui->PosSize_Height->setEnabled(true); ui->HeightEd-> setEnabled(!SelectionHaveLockBlock);
+
+ if (CurrentSlide->Parent->ApplicationConfig->DisplayUnit==DISPLAYUNIT_PERCENT) {
+ ui->PosXEd->setRange(-200,200); ui->PosXEd-> setValue(CurrentCompoObject->x*100);
+ ui->PosYEd->setRange(-200,200); ui->PosYEd-> setValue(CurrentCompoObject->y*100);
+ ui->WidthEd->setRange(1,200); ui->WidthEd-> setValue(CurrentCompoObject->w*100);
+ ui->HeightEd->setRange(1,200); ui->HeightEd-> setValue(CurrentCompoObject->h*100);
+ } else { // DisplayUnit==DISPLAYUNIT_PIXELS
+ ui->PosXEd->setRange(-2*DisplayW,2*DisplayW); ui->PosXEd-> setValue(CurrentCompoObject->x*DisplayW);
+ ui->PosYEd->setRange(-2*DisplayH,2*DisplayH); ui->PosYEd-> setValue(CurrentCompoObject->y*DisplayH);
+ ui->WidthEd->setRange(3,2*DisplayW); ui->WidthEd-> setValue(CurrentCompoObject->w*DisplayW);
+ ui->HeightEd->setRange(3,2*DisplayH); ui->HeightEd-> setValue(CurrentCompoObject->h*DisplayH);
+ }
+ } else {
+ ui->PosSize_X-> setEnabled(false); ui->PosXEd-> setEnabled(false); ui->PosXEd-> setValue(0);
+ ui->PosSize_Y-> setEnabled(false); ui->PosYEd-> setEnabled(false); ui->PosYEd-> setValue(0);
+ ui->PosSize_Width-> setEnabled(false); ui->WidthEd-> setEnabled(false); ui->WidthEd->setRange(0,2*DisplayW); ui->WidthEd-> setValue(0);
+ ui->PosSize_Height->setEnabled(false); ui->HeightEd-> setEnabled(false); ui->HeightEd->setRange(0,2*DisplayH); ui->HeightEd->setValue(0);
+ }
+
+ //***********************
+ // Rotation
+ //***********************
+ if ((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject->IsVisible)) {
+ ui->Rotate_X-> setEnabled(!SelectionHaveLockBlock); ui->RotateXED-> setEnabled(!SelectionHaveLockBlock); ui->ResetRotateXBT->setEnabled(!SelectionHaveLockBlock); ui->RotateXSLD->setEnabled(!SelectionHaveLockBlock);
+ ui->Rotate_Y-> setEnabled(!SelectionHaveLockBlock); ui->RotateYED-> setEnabled(!SelectionHaveLockBlock); ui->ResetRotateYBT->setEnabled(!SelectionHaveLockBlock); ui->RotateYSLD->setEnabled(!SelectionHaveLockBlock);
+ ui->Rotate_Z-> setEnabled(!SelectionHaveLockBlock); ui->RotateZED-> setEnabled(!SelectionHaveLockBlock); ui->ResetRotateZBT->setEnabled(!SelectionHaveLockBlock); ui->RotateZSLD->setEnabled(!SelectionHaveLockBlock);
+
+ ui->RotateXED->setValue(CurrentCompoObject->RotateXAxis); ui->RotateXSLD->setValue(CurrentCompoObject->RotateXAxis);
+ ui->RotateYED->setValue(CurrentCompoObject->RotateYAxis); ui->RotateYSLD->setValue(CurrentCompoObject->RotateYAxis);
+ ui->RotateZED->setValue(CurrentCompoObject->RotateZAxis); ui->RotateZSLD->setValue(CurrentCompoObject->RotateZAxis);
+
+ } else {
+ ui->Rotate_X-> setEnabled(false); ui->RotateXED-> setEnabled(false); ui->ResetRotateXBT->setEnabled(false); ui->RotateXSLD->setEnabled(false);
+ ui->Rotate_Y-> setEnabled(false); ui->RotateYED-> setEnabled(false); ui->ResetRotateYBT->setEnabled(false); ui->RotateYSLD->setEnabled(false);
+ ui->Rotate_Z-> setEnabled(false); ui->RotateZED-> setEnabled(false); ui->ResetRotateZBT->setEnabled(false); ui->RotateZSLD->setEnabled(false);
+
+ ui->RotateXED->setValue(0); ui->RotateXSLD->setValue(0);
+ ui->RotateYED->setValue(0); ui->RotateYSLD->setValue(0);
+ ui->RotateZED->setValue(0); ui->RotateZSLD->setValue(0);
+ }
+
+ //***********************
+ // Shape part
+ //***********************
+ if ((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject->IsVisible)) {
+ ui->BackgroundFormCB-> setEnabled(!SelectionHaveLockBlock);
+ ui->PenSizeEd-> setEnabled(!SelectionHaveLockBlock);
+ ui->PenColorCB-> setEnabled(!SelectionHaveLockBlock && (CurrentCompoObject->PenSize!=0));
+ ui->PenStyleCB-> setEnabled(!SelectionHaveLockBlock && (CurrentCompoObject->PenSize!=0));
+ ui->OpacityCB-> setEnabled(!SelectionHaveLockBlock);
+ ui->ShadowEffectCB-> setEnabled(!SelectionHaveLockBlock);
+ ui->ShadowEffectED-> setEnabled(!SelectionHaveLockBlock && (CurrentCompoObject->FormShadow!=0));
+ ui->ShadowColorCB-> setEnabled(!SelectionHaveLockBlock && (CurrentCompoObject->FormShadow!=0));
+
+ ui->BackgroundFormCB-> setCurrentIndex(CurrentCompoObject->BackgroundForm-1);
+ ui->PenSizeEd-> setValue(int(CurrentCompoObject->PenSize));
+ ui->OpacityCB-> setCurrentIndex(CurrentCompoObject->Opacity);
+ ui->ShadowEffectCB-> setCurrentIndex(CurrentCompoObject->FormShadow);
+ ui->ShadowEffectED-> setValue(int(CurrentCompoObject->FormShadowDistance));
+ ui->PenColorCB-> SetCurrentColor(&CurrentCompoObject->PenColor);
+ ui->ShadowColorCB-> SetCurrentColor(&CurrentCompoObject->FormShadowColor);
+
+ for (int i=0;i<ui->PenStyleCB->count();i++) if (ui->PenStyleCB->itemData(i).toInt()==CurrentCompoObject->PenStyle) {
+ if (i!=ui->PenStyleCB->currentIndex()) ui->PenStyleCB->setCurrentIndex(i);
+ break;
+ }
+ } else {
+ ui->BackgroundFormCB-> setEnabled(false);
+ ui->PenSizeEd-> setEnabled(false);
+ ui->PenColorCB-> setEnabled(false);
+ ui->PenStyleCB-> setEnabled(false);
+ ui->OpacityCB-> setEnabled(false);
+ ui->ShadowEffectCB-> setEnabled(false);
+ ui->ShadowEffectED-> setEnabled(false);
+ ui->ShadowColorCB-> setEnabled(false);
+
+ ui->BackgroundFormCB-> setCurrentIndex(-1);
+ ui->PenSizeEd-> setValue(0);
+ ui->OpacityCB-> setCurrentIndex(-1);
+ ui->ShadowEffectCB-> setCurrentIndex(-1);
+ ui->ShadowEffectED-> setValue(0);
+ ui->PenColorCB-> SetCurrentColor(NULL);
+ ui->ShadowColorCB-> SetCurrentColor(NULL);
+ }
+
+ //**************************
+ // Text animation controls
+ //**************************
+ if ((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject->IsVisible)) {
+ ui->ZoomLabel-> setEnabled(!SelectionHaveLockBlock); ui->ZoomSlider-> setEnabled(!SelectionHaveLockBlock); ui->ZoomED-> setEnabled(!SelectionHaveLockBlock); ui->ZoomResetBT-> setEnabled(!SelectionHaveLockBlock);
+ ui->ScrollXLabel->setEnabled(!SelectionHaveLockBlock); ui->ScrollXSlider->setEnabled(!SelectionHaveLockBlock); ui->ScrollXED->setEnabled(!SelectionHaveLockBlock); ui->ScrollXResetBT->setEnabled(!SelectionHaveLockBlock);
+ ui->ScrollYLabel->setEnabled(!SelectionHaveLockBlock); ui->ScrollYSlider->setEnabled(!SelectionHaveLockBlock); ui->ScrollYED->setEnabled(!SelectionHaveLockBlock); ui->ScrollYResetBT->setEnabled(!SelectionHaveLockBlock);
+
+ ui->ZoomSlider->setValue(CurrentCompoObject->TxtZoomLevel); ui->ZoomED->setValue(CurrentCompoObject->TxtZoomLevel);
+ ui->ScrollXSlider->setValue(CurrentCompoObject->TxtScrollX); ui->ScrollXED->setValue(CurrentCompoObject->TxtScrollX);
+ ui->ScrollYSlider->setValue(CurrentCompoObject->TxtScrollY); ui->ScrollYED->setValue(CurrentCompoObject->TxtScrollY);
+ } else {
+ ui->ZoomLabel-> setEnabled(false); ui->ZoomSlider-> setEnabled(false); ui->ZoomED-> setEnabled(false); ui->ZoomResetBT-> setEnabled(false);
+ ui->ScrollXLabel->setEnabled(false); ui->ScrollXSlider->setEnabled(false); ui->ScrollXED->setEnabled(false); ui->ScrollXResetBT->setEnabled(false);
+ ui->ScrollYLabel->setEnabled(false); ui->ScrollYSlider->setEnabled(false); ui->ScrollYED->setEnabled(false); ui->ScrollYResetBT->setEnabled(false);
+
+ ui->ZoomSlider->setValue(100); ui->ZoomED->setValue(100);
+ ui->ScrollXSlider->setValue(0); ui->ScrollXED->setValue(0);
+ ui->ScrollYSlider->setValue(0); ui->ScrollYED->setValue(0);
+ }
+ //**************************
+ // Block animation controls
+ //**************************
+ if ((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject->IsVisible)) {
+ ui->BlockAnimLabel->setEnabled(!SelectionHaveLockBlock);
+ ui->BlockAnimCB->setEnabled(!SelectionHaveLockBlock);
+ ui->BlockAnimCB->setCurrentIndex(CurrentCompoObject->BlockAnimType);
+ } else {
+ ui->BlockAnimLabel->setEnabled(false);
+ ui->BlockAnimCB->setEnabled(false);
+ ui->BlockAnimCB->setCurrentIndex(-1);
+ }
+
+ // Multiple turn animation
+ if ((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject->IsVisible)&&(CurrentCompoObject->BlockAnimType==BLOCKANIMTYPE_MULTIPLETURN)) {
+ ui->TurnZLabel->setEnabled(!SelectionHaveLockBlock); ui->TurnZSlider->setEnabled(!SelectionHaveLockBlock); ui->TurnZED->setEnabled(!SelectionHaveLockBlock); ui->ResetTurnZBT->setEnabled(!SelectionHaveLockBlock);
+ ui->TurnZLabel->setVisible(true); ui->TurnZSlider->setVisible(true); ui->TurnZED->setVisible(true); ui->ResetTurnZBT->setVisible(true);
+ ui->TurnXLabel->setEnabled(!SelectionHaveLockBlock); ui->TurnXSlider->setEnabled(!SelectionHaveLockBlock); ui->TurnXED->setEnabled(!SelectionHaveLockBlock); ui->ResetTurnXBT->setEnabled(!SelectionHaveLockBlock);
+ ui->TurnXLabel->setVisible(true); ui->TurnXSlider->setVisible(true); ui->TurnXED->setVisible(true); ui->ResetTurnXBT->setVisible(true);
+ ui->TurnYLabel->setEnabled(!SelectionHaveLockBlock); ui->TurnYSlider->setEnabled(!SelectionHaveLockBlock); ui->TurnYED->setEnabled(!SelectionHaveLockBlock); ui->ResetTurnYBT->setEnabled(!SelectionHaveLockBlock);
+ ui->TurnYLabel->setVisible(true); ui->TurnYSlider->setVisible(true); ui->TurnYED->setVisible(true); ui->ResetTurnYBT->setVisible(true);
+ ui->TurnZED->setValue(CurrentCompoObject->TurnZAxis); ui->TurnZSlider->setValue(CurrentCompoObject->TurnZAxis);
+ ui->TurnXED->setValue(CurrentCompoObject->TurnXAxis); ui->TurnXSlider->setValue(CurrentCompoObject->TurnXAxis);
+ ui->TurnYED->setValue(CurrentCompoObject->TurnYAxis); ui->TurnYSlider->setValue(CurrentCompoObject->TurnYAxis);
+ } else {
+ ui->TurnZLabel->setVisible(false); ui->TurnZSlider->setVisible(false); ui->TurnZED->setVisible(false); ui->ResetTurnZBT->setVisible(false);
+ ui->TurnXLabel->setVisible(false); ui->TurnXSlider->setVisible(false); ui->TurnXED->setVisible(false); ui->ResetTurnXBT->setVisible(false);
+ ui->TurnYLabel->setVisible(false); ui->TurnYSlider->setVisible(false); ui->TurnYED->setVisible(false); ui->ResetTurnYBT->setVisible(false);
+ }
+
+ // Dissolve animation
+ if ((BlockSelectMode==SELECTMODE_ONE)&&(CurrentCompoObject->IsVisible)&&(CurrentCompoObject->BlockAnimType==BLOCKANIMTYPE_DISSOLVE)) {
+ ui->DissolveLabel->setEnabled(!SelectionHaveLockBlock); ui->DissolveLabel->setVisible(true);
+ ui->DissolveCB-> setEnabled(!SelectionHaveLockBlock); ui->DissolveCB-> setVisible(true);
+ ui->DissolveCB->setCurrentIndex(CurrentCompoObject->Dissolve);
+ } else {
+ ui->DissolveLabel->setEnabled(false); ui->DissolveLabel->setVisible(false);
+ ui->DissolveCB-> setEnabled(false); ui->DissolveCB-> setVisible(false);
+ }
+
+ RefreshStyleControls();
+
+ QApplication::restoreOverrideCursor();
+ InRefreshControls=false;
+
+ // Refresh interactive zone display and shot thumbnail
+ if (UpdateInteractiveZone) ui->InteractiveZone->RefreshDisplay(); else ui->InteractiveZone->repaint(); // else refresh selection only
+}
+
+//====================================================================================================================
+// Refresh background image of the scene
+
+void DlgSlideProperties::s_RefreshSceneImage() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_RefreshSceneImage");
+
+ ui->InteractiveZone->RefreshDisplay();
+}
+
+//====================================================================================================================
+// Display or hide TV Margins
+//====================================================================================================================
+
+void DlgSlideProperties::s_TVMarginsBt() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_TVMarginsBt");
+
+ DlgRulerDef Dlg(&ui->InteractiveZone->MagneticRuler,HELPFILE_DlgRulerDef,BaseApplicationConfig,((cApplicationConfig *)BaseApplicationConfig)->DlgRulerDef,this);
+ Dlg.InitDialog();
+ connect(&Dlg,SIGNAL(RefreshDisplay()),this,SLOT(s_RefreshSceneImage()));
+ if (Dlg.exec()==0) {
+ CurrentSlide->Parent->ApplicationConfig->SlideRuler=ui->InteractiveZone->MagneticRuler;
+ ui->TVMarginsBT->setIcon(QIcon(QString(ui->InteractiveZone->MagneticRuler!=0?ICON_RULER_ON:ICON_RULER_OFF)));
+ }
+ ui->InteractiveZone->RefreshDisplay();
+}
+
+//====================================================================================================================
+
+cCompositionObject *DlgSlideProperties::GetGlobalCompositionObject(int IndexKey) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::GetSelectedGlobalCompositionObject");
+
+ int CurrentBlock=ui->BlockTable->currentRow();
+ if ((CurrentBlock<0)||(CurrentBlock>=CompositionList->List.count())) return NULL;
+ int i=0;
+ while ((i<CurrentSlide->ObjectComposition.List.count())&&(CurrentSlide->ObjectComposition.List[i]->IndexKey!=IndexKey)) i++;
+ if (i<CurrentSlide->ObjectComposition.List.count()) return CurrentSlide->ObjectComposition.List[i]; else return NULL;
+}
+
+cCompositionObject *DlgSlideProperties::GetSelectedGlobalCompositionObject() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::GetSelectedGlobalCompositionObject");
+
+ int CurrentBlock=ui->BlockTable->currentRow();
+ if ((CurrentBlock<0)||(CurrentBlock>=CompositionList->List.count())) return NULL;
+ return GetGlobalCompositionObject(CompositionList->List[CurrentBlock]->IndexKey);
+}
+
+//====================================================================================================================
+
+cCompositionObject *DlgSlideProperties::GetSelectedCompositionObject() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::GetSelectedCompositionObject");
+
+ int CurrentBlock=ui->BlockTable->currentRow();
+ if ((CurrentBlock<0)||(CurrentBlock>=CompositionList->List.count())) return NULL; else return CompositionList->List[CurrentBlock];
+}
+
+//========= Apply modification
+void DlgSlideProperties::ApplyToContexte(bool ApplyGlobal) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::ApplyToContexte");
+
+ if (ApplyGlobal) ApplyGlobalPropertiesToAllShots(CurrentCompoObject);
+
+ // Apply values of previous shot to all shot
+ int ShotNum=CurrentShotNbr+1;
+ while (ShotNum<CurrentSlide->List.count()) {
+ cCompositionObject *ShotObject=NULL;
+ for (int i=0;i<CurrentSlide->List[ShotNum]->ShotComposition.List.count();i++) if (CurrentSlide->List[ShotNum]->ShotComposition.List[i]->IndexKey==CurrentCompoObject->IndexKey) ShotObject=CurrentSlide->List[ShotNum]->ShotComposition.List[i];
+ if ((ShotObject!=NULL)&&(ShotObject->SameAsPrevShot)) {
+ ShotObject->CopyFromCompositionObject(CurrentCompoObject);
+ ShotNum++;
+ } else ShotNum=CurrentSlide->List.count(); // Stop loop
+ }
+
+ for (int i=CurrentShotNbr;i<CurrentSlide->List.count();i++) ui->ShotTable->RepaintCell(i);
+ RefreshControls();
+}
+
+//====================================================================================================================
+// User select a block in the scene widget
+
+void DlgSlideProperties::s_Scene_SelectionChanged() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_Scene_SelectionChanged");
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::CopyBlockProperties(cCompositionObject *SourceBlock,cCompositionObject *DestBlock) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::CopyBlockProperties");
+
+ if (SourceBlock==DestBlock) return;
+
+ // Attribut of the text part
+ DestBlock->Text =SourceBlock->Text; // Text of the object
+ DestBlock->FontName =SourceBlock->FontName; // font name
+ DestBlock->FontSize =SourceBlock->FontSize; // font size
+ DestBlock->FontColor =SourceBlock->FontColor; // font color
+ DestBlock->FontShadowColor =SourceBlock->FontShadowColor; // font shadow color
+ DestBlock->IsBold =SourceBlock->IsBold; // true if bold mode
+ DestBlock->IsItalic =SourceBlock->IsItalic; // true if Italic mode
+ DestBlock->IsUnderline =SourceBlock->IsUnderline; // true if Underline mode
+ DestBlock->HAlign =SourceBlock->HAlign; // Horizontal alignement : 0=left, 1=center, 2=right, 3=justif
+ DestBlock->VAlign =SourceBlock->VAlign; // Vertical alignement : 0=up, 1=center, 2=bottom
+ DestBlock->StyleText =SourceBlock->StyleText; // Style : 0=normal, 1=outerline, 2=shadow up-left, 3=shadow up-right, 4=shadow bt-left, 5=shadow bt-right
+
+ // Attribut of the shap part
+ DestBlock->BackgroundForm =SourceBlock->BackgroundForm; // Type of the form : 0=None, 1=Rectangle, 2=RoundRect, 3=Buble, 4=Ellipse, 5=Triangle UP (Polygon)
+ DestBlock->PenSize =SourceBlock->PenSize; // Width of the border of the form
+ DestBlock->PenStyle =SourceBlock->PenStyle; // Style of the pen border of the form
+ DestBlock->PenColor =SourceBlock->PenColor; // Color of the border of the form
+ DestBlock->FormShadow =SourceBlock->FormShadow; // 0=none, 1=shadow up-left, 2=shadow up-right, 3=shadow bt-left, 4=shadow bt-right
+ DestBlock->FormShadowDistance =SourceBlock->FormShadowDistance; // Distance from form to shadow
+ DestBlock->FormShadowColor =SourceBlock->FormShadowColor; // 0=none, 1=shadow up-left, 2=shadow up-right, 3=shadow bt-left, 4=shadow bt-right
+ DestBlock->Opacity =SourceBlock->Opacity; // Opacity of the form
+
+ // Attribut of the BackgroundBrush of the shap part
+ DestBlock->BackgroundBrush->BrushType =SourceBlock->BackgroundBrush->BrushType;
+ DestBlock->BackgroundBrush->PatternType =SourceBlock->BackgroundBrush->PatternType;
+ DestBlock->BackgroundBrush->GradientOrientation =SourceBlock->BackgroundBrush->GradientOrientation;
+ DestBlock->BackgroundBrush->ColorD =SourceBlock->BackgroundBrush->ColorD;
+ DestBlock->BackgroundBrush->ColorF =SourceBlock->BackgroundBrush->ColorF;
+ DestBlock->BackgroundBrush->ColorIntermed =SourceBlock->BackgroundBrush->ColorIntermed;
+ DestBlock->BackgroundBrush->Intermediate =SourceBlock->BackgroundBrush->Intermediate;
+ DestBlock->BackgroundBrush->BrushImage =SourceBlock->BackgroundBrush->BrushImage;
+}
+
+void DlgSlideProperties::ApplyGlobalPropertiesToAllShots(cCompositionObject *GlobalBlock) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::ApplyGlobalPropertiesToAllShots");
+
+ // Apply to GlobalComposition objects
+ for (int j=0;j<CurrentSlide->ObjectComposition.List.count();j++) if (GlobalBlock->IndexKey==CurrentSlide->ObjectComposition.List[j]->IndexKey)
+ CopyBlockProperties(GlobalBlock,CurrentSlide->ObjectComposition.List[j]);
+
+ // Apply to Shots Composition objects
+ for (int i=0;i<CurrentSlide->List.count();i++) for (int j=0;j<CurrentSlide->List[i]->ShotComposition.List.count();j++) if (GlobalBlock->IndexKey==CurrentSlide->List[i]->ShotComposition.List[j]->IndexKey)
+ CopyBlockProperties(GlobalBlock,CurrentSlide->List[i]->ShotComposition.List[j]);
+}
+
+//====================================================================================================================
+// SLIDE SETTINGS
+//====================================================================================================================
+
+void DlgSlideProperties::s_SlideSet_NewChapter(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_SlideSet_NewChapter");
+ if (InRefreshControls) return; // No action if in control setup
+ AppendPartialUndo(UNDOACTION_EDITZONE_NEWCHAPTER,ui->NewChapterCB,true);
+
+ CurrentSlide->StartNewChapter=ui->NewChapterCB->isChecked();
+}
+
+//===================================================================================
+
+void DlgSlideProperties::s_SlideSet_SlideNameChange(QString NewText) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_SlideSet_SlideNameChange");
+ if (InRefreshControls) return; // No action if in control setup
+ AppendPartialUndo(UNDOACTION_EDITZONE_SLIDENAME,ui->SlideNameED,false);
+
+ CurrentSlide->SlideName=NewText;
+}
+
+//====================================================================================================================
+// SHOT SETTINGS
+//====================================================================================================================
+
+void DlgSlideProperties::s_ShotTable_DurationChange(QTime NewValue) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ShotTable_DurationChange");
+ if ((InDisplayDuration)||(CurrentShot==NULL)) return; // No action if in control setup or if no shot was selected
+ AppendPartialUndo(UNDOACTION_EDITZONE_SHOTDURATION,ui->ShotDurationED,false);
+
+ CurrentShot->StaticDuration=QTime(0,0,0,0).msecsTo(NewValue);
+ s_ShotTable_DisplayDuration();
+}
+
+//===================================================================================
+
+void DlgSlideProperties::s_ShotTable_AddShot() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ShotTable_AddShot");
+ if ((InRefreshControls)||(CurrentShot==NULL)) return; // No action if in control setup or if no shot was selected
+ AppendPartialUndo(UNDOACTION_SHOTTABLE_ADDSHOT,ui->ShotTable,true);
+
+ // Insert a new empty shot after current shot in the current slide
+ CurrentSlide->List.insert(CurrentShotNbr+1,new cDiaporamaShot(CurrentSlide));
+
+ // Fill this new shot with copy of all blocks of current shot
+ cDiaporamaShot *imagesequence=CurrentSlide->List[CurrentShotNbr+1];
+ for (int i=0;i<CompositionList->List.count();i++) {
+ imagesequence->ShotComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_SHOT,CompositionList->List[i]->IndexKey,BaseApplicationConfig));
+ imagesequence->ShotComposition.List[i]->CopyFromCompositionObject(CompositionList->List[i]);
+ }
+
+ ui->ShotTable->setUpdatesEnabled(false);
+ ui->ShotTable->insertColumn(CurrentShotNbr+1);
+ ui->ShotTable->setColumnWidth(CurrentShotNbr+1,CurrentSlide->Parent->GetWidthForHeight(ui->ShotTable->rowHeight(0)));
+
+ // Change current shot to this new shot
+ ui->ShotTable->SetCurrentCell(CurrentShotNbr+1);
+ ui->ShotTable->setUpdatesEnabled(true);
+}
+
+//===================================================================================
+
+void DlgSlideProperties::s_ShotTable_RemoveShot() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ShotTable_RemoveShot");
+ if (CurrentSlide->List.count()<2) return; // Don't remove last shot
+ if ((InRefreshControls)||(CurrentShot==NULL)) return; // No action if in control setup or if no shot was selected
+ if ((((cApplicationConfig *)BaseApplicationConfig)->AskUserToRemove)&&(CustomMessageBox(this,QMessageBox::Question,QApplication::translate("DlgSlideProperties","Remove shot"),QApplication::translate("DlgSlideProperties","Are you sure to want to delete this shot?"),
+ QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::No)) return;
+
+ AppendPartialUndo(UNDOACTION_SHOTTABLE_REMOVESHOT,ui->ShotTable,true);
+
+ InRefreshControls=true;
+
+ // Remove shot from slide
+ delete CurrentSlide->List.takeAt(CurrentShotNbr);
+
+ // Remove shot from shot table
+ int ShotNbr=CurrentShotNbr;
+ ui->ShotTable->setUpdatesEnabled(false);
+ ui->ShotTable->removeColumn(ShotNbr);
+ if (ShotNbr>=CurrentSlide->List.count()) ShotNbr--;
+ ui->ShotTable->SetCurrentCell(ShotNbr);
+ ui->ShotTable->setUpdatesEnabled(true);
+
+ InRefreshControls=false;
+ s_ShotTable_SelectionChanged();
+}
+
+//===================================================================================
+
+void DlgSlideProperties::s_ShotTable_DragMoveItem() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ShotTable_DragMoveItem");
+ AppendPartialUndo(UNDOACTION_SHOTTABLE_CHORDER,ui->ShotTable,true);
+
+ int Src=ui->ShotTable->DragItemSource;
+ int Dst=ui->ShotTable->DragItemDest;
+ if ((Src<0)||(Src>=CurrentSlide->List.count())||(Dst<0)||(Dst>CurrentSlide->List.count())) return;
+
+ cDiaporamaShot *ObjSrc=CurrentSlide->List.takeAt(Src);
+ if (Src<Dst) Dst--;
+ CurrentSlide->List.insert(Dst,ObjSrc);
+
+ ui->ShotTable->setUpdatesEnabled(false);
+ ui->ShotTable->SetCurrentCell(Dst);
+ ui->ShotTable->setUpdatesEnabled(true); // Reset timeline painting
+}
+
+//===================================================================================
+
+void DlgSlideProperties::s_ShotTable_MoveLeft() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ShotTable_MoveLeft");
+ if ((InRefreshControls)||(CurrentShot==NULL)) return; // No action if in control setup or if no shot was selected
+ AppendPartialUndo(UNDOACTION_SHOTTABLE_CHORDER,ui->ShotTable,true);
+
+ if (CurrentShotNbr>0) {
+ CurrentSlide->List.swap(CurrentShotNbr,CurrentShotNbr-1);
+ ui->ShotTable->setUpdatesEnabled(false);
+ ui->ShotTable->SetCurrentCell(CurrentShotNbr-1);
+ ui->ShotTable->setUpdatesEnabled(true); // Reset timeline painting
+ }
+}
+
+//===================================================================================
+
+void DlgSlideProperties::s_ShotTable_MoveRight() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ShotTable_MoveRight");
+ if ((InRefreshControls)||(CurrentShot==NULL)) return; // No action if in control setup or if no shot was selected
+ AppendPartialUndo(UNDOACTION_SHOTTABLE_CHORDER,ui->ShotTable,true);
+
+ if (CurrentShotNbr<CurrentSlide->List.count()-1) {
+ CurrentSlide->List.swap(CurrentShotNbr+1,CurrentShotNbr);
+ ui->ShotTable->setUpdatesEnabled(false);
+ ui->ShotTable->SetCurrentCell(CurrentShotNbr+1);
+ ui->ShotTable->setUpdatesEnabled(true); // Reset timeline painting
+ }
+}
+
+//===================================================================================
+
+void DlgSlideProperties::s_ShotTable_SelectionChanged() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ShotTable_SelectionChanged");
+ if (InRefreshControls) return; // No action if in control setup or if no shot was selected
+
+ // Keep link to current shot
+ CurrentShotNbr=ui->ShotTable->currentColumn();
+ if ((CurrentShotNbr<0)||(CurrentShotNbr>=CurrentSlide->List.count())) {
+ ShotSelectMode =SELECTMODE_NONE;
+ CurrentShot =NULL;
+ CompositionList =NULL;
+ CurrentShotNbr =-1;
+ } else {
+ ShotSelectMode =SELECTMODE_ONE;
+ CurrentShot =CurrentSlide->List[CurrentShotNbr];
+ CompositionList =&CurrentShot->ShotComposition;
+ }
+
+ // Because block order can change from a shot to another, try to keep current block by looking at indexkey
+ int i =ui->BlockTable->currentRow();
+ int IndexKey=-1;
+ if ((CompositionList!=NULL)&&(i>=0)&&(i<CompositionList->List.count())) IndexKey=CompositionList->List[i]->IndexKey;
+
+ int CurrentBlockTableIndex=0;
+ if (IndexKey!=-1) {
+ while ((CurrentBlockTableIndex<CompositionList->List.count())&&(CompositionList->List[CurrentBlockTableIndex]->IndexKey!=IndexKey)) CurrentBlockTableIndex++;
+ if (CurrentBlockTableIndex>=CompositionList->List.count()) CurrentBlockTableIndex=0;
+ }
+
+ ui->BlockTable->CompositionList =CompositionList;
+ ui->BlockTable->CurrentShotNbr =CurrentShotNbr;
+ ui->InteractiveZone->CurrentShotNbr =CurrentShotNbr;
+
+ ui->actionMoveLeft->setEnabled(CurrentShotNbr>0);
+ ui->actionMoveRight->setEnabled(CurrentShotNbr<ui->ShotTable->columnCount()-1);
+ ui->RemoveShot->setEnabled(CurrentSlide->List.count()>1);
+ ui->actionRemoveShot->setEnabled(CurrentSlide->List.count()>1);
+
+ s_ShotTable_DisplayDuration();
+ RefreshBlockTable(CurrentBlockTableIndex);
+}
+
+//===================================================================================
+
+void DlgSlideProperties::s_ShotTable_DisplayDuration() {
+ // duration and shot duration
+ InDisplayDuration=true;
+ ui->SlideDurationLabel->setText(QTime(0,0,0,0).addMSecs(CurrentSlide->GetDuration()).toString("hh:mm:ss.zzz"));
+ ui->ShotDurationED->setTime(QTime(0,0,0,0).addMSecs(CurrentShot->StaticDuration));
+
+
+ // Minimum shot duration display
+ int AddingDuration=0;
+ if (CurrentShotNbr==(CurrentSlide->List.count()-1)) { // If it's the last shot
+ int TotalDuration=CurrentSlide->GetDuration();
+ int Duration=0;
+ for (int i=0;i<CurrentSlide->List.count();i++) Duration=Duration+CurrentSlide->List[i]->StaticDuration;
+ if (Duration<TotalDuration) AddingDuration=TotalDuration-Duration;
+ }
+ if (AddingDuration==0) ui->MinShotDurationLabel->setText("");
+ else ui->MinShotDurationLabel->setText(QString(QApplication::translate("DlgSlideProperties","Lengthened to %1 sec")).arg(double(CurrentShot->StaticDuration+AddingDuration)/1000));
+ InDisplayDuration=false;
+ for (int i=CurrentShotNbr;i<CurrentSlide->List.count();i++) ui->ShotTable->RepaintCell(i);
+ if (CurrentShotNbr!=CurrentSlide->List.count()-1) ui->ShotTable->RepaintCell(CurrentSlide->List.count()-1);
+}
+
+//===================================================================================
+
+void DlgSlideProperties::s_ShotTable_RightClickEvent(QMouseEvent *) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ShotTable_RightClickEvent");
+
+ QMenu *ContextMenu=new QMenu(this);
+ ContextMenu->addAction(ui->actionAddShot);
+ ContextMenu->addAction(ui->actionRemoveShot);
+ ContextMenu->addAction(ui->actionMoveLeft);
+ ContextMenu->addAction(ui->actionMoveRight);
+ ContextMenu->exec(QCursor::pos());
+ delete ContextMenu;
+}
+
+//====================================================================================================================
+// BLOCK TABLE SETTINGS
+//====================================================================================================================
+
+//========= Refresh the BlockTable
+void DlgSlideProperties::RefreshBlockTable(int SetCurrentIndex) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::RefreshBlockTable");
+
+ ui->BlockTable->setUpdatesEnabled(false);
+ ui->BlockTable->setRowCount(CompositionList->List.count());
+ for (int i=0;i<ui->BlockTable->rowCount();i++) ui->BlockTable->setRowHeight(i,50);
+ ui->BlockTable->setUpdatesEnabled(true);
+ if (ui->BlockTable->currentRow()!=SetCurrentIndex) {
+ ui->BlockTable->clearSelection();
+ ui->BlockTable->setCurrentCell(SetCurrentIndex,0,QItemSelectionModel::Select|QItemSelectionModel::Current);
+ } else s_BlockTable_SelectionChanged();
+ if (ui->BlockTable->rowCount()==0) s_BlockTable_SelectionChanged();
+ ui->InteractiveZone->RefreshDisplay();
+
+}
+
+//========= block selection change
+void DlgSlideProperties::s_BlockTable_SelectionChanged() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_SelectionChanged");
+ if (InSelectionChange) return;
+
+ QModelIndexList SelList=ui->BlockTable->selectionModel()->selectedIndexes();
+
+ IsSelected.clear();
+ for (int i=0;i<ui->BlockTable->rowCount();i++) IsSelected.append(false);
+ for (int i=0;i<SelList.count();i++) IsSelected[SelList.at(i).row()]=true;
+
+ NbrSelected =0;
+ CurrentCompoObjectNbr =-1;
+ CurrentCompoObject =NULL;
+ SelectionHaveLockBlock =false;
+
+ for (int i=0;i<IsSelected.count();i++) if (IsSelected[i]) {
+ if (NbrSelected==0) {
+ CurrentCompoObjectNbr=i;
+ CurrentCompoObject =CompositionList->List[CurrentCompoObjectNbr];
+ }
+ if ((CurrentShotNbr>0)&&(CurrentCompoObject->SameAsPrevShot)) SelectionHaveLockBlock=true;
+ NbrSelected++;
+ }
+ if (NbrSelected==0) BlockSelectMode=SELECTMODE_NONE;
+ else if (NbrSelected==1) BlockSelectMode=SELECTMODE_ONE;
+ else BlockSelectMode=SELECTMODE_MULTIPLE;
+
+ RefreshControls(false);
+}
+
+void DlgSlideProperties::s_BlockTable_StartSelectionChange() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_StartSelectionChange");
+ InSelectionChange=true;
+}
+
+void DlgSlideProperties::s_BlockTable_EndSelectionChange() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_EndSelectionChange");
+ InSelectionChange=false;
+ s_BlockTable_SelectionChanged();
+}
+
+//====================================================================================================================
+// User double click on a block in the BlockTable widget or in the scene
+
+void DlgSlideProperties::s_BlockTable_ItemDoubleClicked(QMouseEvent *) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_ItemDoubleClicked");
+
+ if ((BlockSelectMode!=SELECTMODE_ONE)||(SelectionHaveLockBlock)) return;
+ if (CurrentCompoObject->BackgroundBrush->BrushType!=BRUSHTYPE_IMAGEDISK) s_BlockSettings_TextEditor();
+ else if (CurrentCompoObject->BackgroundBrush->Image!=NULL) s_BlockSettings_ImageEditCorrect();
+ else if (CurrentCompoObject->BackgroundBrush->Video!=NULL) s_BlockSettings_VideoEdit();
+}
+
+
+//====================================================================================================================
+
+void DlgSlideProperties::s_BlockSettings_Arrange() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_Arrange");
+
+ QMenu *ContextMenu=new QMenu(this);
+ ContextMenu->addAction(ui->actionTop);
+ ContextMenu->addAction(ui->actionMiddle);
+ ContextMenu->addAction(ui->actionBottom);
+ ContextMenu->addSeparator();
+ ContextMenu->addAction(ui->actionLeft);
+ ContextMenu->addAction(ui->actionCenter);
+ ContextMenu->addAction(ui->actionRight);
+ ContextMenu->addSeparator();
+ ContextMenu->addAction(ui->actionUpBlock);
+ ContextMenu->addAction(ui->actionDownBlock);
+ ContextMenu->exec(QCursor::pos());
+ delete ContextMenu;
+ ui->ArrangeBT->setDown(false);
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::s_BlockSettings_Edit() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_Arrange");
+
+ QMenu *ContextMenu=new QMenu(this);
+ ContextMenu->addAction(ui->actionCut);
+ ContextMenu->addAction(ui->actionCopy);
+ ContextMenu->addAction(ui->actionPaste);
+ ContextMenu->addSeparator();
+ ContextMenu->addAction(ui->actionEditText);
+ ContextMenu->addAction(ui->actionEditImage);
+ ContextMenu->addAction(ui->actionEditVideo);
+ ContextMenu->addSeparator();
+ ContextMenu->addAction(ui->actionRemoveBlock);
+ if (NbrSelected==1) {
+ ContextMenu->addSeparator();
+ if (CurrentCompoObject->IsVisible) ContextMenu->addAction(ui->actionSetHide);
+ else ContextMenu->addAction(ui->actionSetVisible);
+ if (CurrentShotNbr) {
+ if (CurrentCompoObject->SameAsPrevShot) ContextMenu->addAction(ui->actionUnlockSameAsPreviousShot);
+ else ContextMenu->addAction(ui->actionSameAsPreviousShot);
+ }
+ if (CurrentCompoObject->BackgroundBrush->Video!=NULL) ContextMenu->addAction(ui->actionTakeSound);
+ }
+ ContextMenu->exec(QCursor::pos());
+ delete ContextMenu;
+ ui->EditBT->setDown(false);
+}
+
+//====================================================================================================================
+// User right click on a block in the BlockTable widget or in the scene
+
+void DlgSlideProperties::s_BlockTable_ItemRightClicked(QMouseEvent *) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_ItemRightClicked");
+
+ if (BlockSelectMode==SELECTMODE_NONE) {
+ QMenu *ContextMenu=new QMenu(this);
+ ContextMenu->addAction(ui->actionCut);
+ ContextMenu->addAction(ui->actionCopy);
+ ContextMenu->addAction(ui->actionPaste);
+ ContextMenu->addSeparator();
+ ContextMenu->addAction(ui->actionAddTextBlock);
+ ContextMenu->addAction(ui->actionAddFile);
+ ContextMenu->exec(QCursor::pos());
+ delete ContextMenu;
+ } else if (BlockSelectMode==SELECTMODE_ONE) {
+ QMenu *ContextMenu=new QMenu(this);
+ ContextMenu->addAction(ui->actionCut);
+ ContextMenu->addAction(ui->actionCopy);
+ ContextMenu->addAction(ui->actionPaste);
+ ContextMenu->addSeparator();
+ ContextMenu->addAction(ui->actionEditText);
+ ContextMenu->addAction(ui->actionEditImage);
+ ContextMenu->addAction(ui->actionEditVideo);
+ ContextMenu->addSeparator();
+ ContextMenu->addAction(ui->actionRemoveBlock);
+ ContextMenu->addSeparator();
+ if (CurrentCompoObject->IsVisible) ContextMenu->addAction(ui->actionSetHide);
+ else ContextMenu->addAction(ui->actionSetVisible);
+ if (CurrentShotNbr>0) {
+ if (CurrentCompoObject->SameAsPrevShot) ContextMenu->addAction(ui->actionUnlockSameAsPreviousShot);
+ else ContextMenu->addAction(ui->actionSameAsPreviousShot);
+ }
+ if (CurrentCompoObject->BackgroundBrush->Video!=NULL) ContextMenu->addAction(ui->actionTakeSound);
+ ContextMenu->addSeparator();
+ ContextMenu->addAction(ui->actionInfo);
+ ContextMenu->addSeparator();
+ ContextMenu->addAction(ui->actionUpBlock);
+ ContextMenu->addAction(ui->actionDownBlock);
+ ContextMenu->exec(QCursor::pos());
+ delete ContextMenu;
+ } else if (BlockSelectMode==SELECTMODE_MULTIPLE) {
+ QMenu *ContextMenu=new QMenu(this);
+ ContextMenu->addAction(ui->actionTop);
+ ContextMenu->addAction(ui->actionMiddle);
+ ContextMenu->addAction(ui->actionBottom);
+ ContextMenu->addSeparator();
+ ContextMenu->addAction(ui->actionLeft);
+ ContextMenu->addAction(ui->actionCenter);
+ ContextMenu->addAction(ui->actionRight);
+ ContextMenu->addSeparator();
+ ContextMenu->addAction(ui->actionCut);
+ ContextMenu->addAction(ui->actionCopy);
+ ContextMenu->addAction(ui->actionPaste);
+ ContextMenu->addSeparator();
+ ContextMenu->addAction(ui->actionRemoveBlock);
+ ContextMenu->exec(QCursor::pos());
+ delete ContextMenu;
+ }
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::s_BlockTable_AddNewTextBlock() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_AddNewTextBlock");
+ AppendPartialUndo(UNDOACTION_BLOCKTABLE_ADDTEXTBLOCK,ui->BlockTable,true);
+
+ int CurrentShotNbr=ui->ShotTable->currentColumn();
+
+ // Create and append a composition block to the object list
+ CurrentSlide->ObjectComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_OBJECT,CurrentSlide->NextIndexKey,((cApplicationConfig *)BaseApplicationConfig)));
+ cCompositionObject *CompositionObject=CurrentSlide->ObjectComposition.List[CurrentSlide->ObjectComposition.List.count()-1];
+ CompositionObject->BackgroundBrush->LockGeometry=false;
+ CompositionObject->BackgroundBrush->AspectRatio=1;
+
+ // Apply Styles
+ CompositionObject->ApplyTextStyle(CurrentSlide->Parent->ApplicationConfig->StyleTextCollection.GetStyleDef(CurrentSlide->Parent->ApplicationConfig->StyleTextCollection.DecodeString(CurrentSlide->Parent->ApplicationConfig->DefaultBlock_Text_TextST)));
+ CompositionObject->ApplyBackgroundStyle(CurrentSlide->Parent->ApplicationConfig->StyleTextBackgroundCollection.GetStyleDef(CurrentSlide->Parent->ApplicationConfig->StyleTextBackgroundCollection.DecodeString(CurrentSlide->Parent->ApplicationConfig->DefaultBlock_Text_BackGST)));
+ CompositionObject->ApplyBlockShapeStyle(CurrentSlide->Parent->ApplicationConfig->StyleBlockShapeCollection.GetStyleDef(CurrentSlide->Parent->ApplicationConfig->StyleBlockShapeCollection.DecodeString(CurrentSlide->Parent->ApplicationConfig->DefaultBlock_Text_ShapeST)));
+ // Force filtering for CoordinateStyle
+ CurrentSlide->Parent->ApplicationConfig->StyleCoordinateCollection.SetProjectGeometryFilter(CurrentSlide->Parent->ImageGeometry);
+ CompositionObject->ApplyCoordinateStyle(CurrentSlide->Parent->ApplicationConfig->StyleCoordinateCollection.GetStyleDef(CurrentSlide->Parent->ApplicationConfig->StyleCoordinateCollection.DecodeString(CurrentSlide->Parent->ApplicationConfig->DefaultBlock_Text_CoordST[CurrentSlide->Parent->ImageGeometry])));
+
+ // Create default text
+ QTextDocument TextDoc(QApplication::translate("DlgSlideProperties","Text","Default text value"));
+ QFont Font=QFont(CompositionObject->FontName,CompositionObject->FontSize,CompositionObject->IsBold?QFont::Bold:QFont::Normal,CompositionObject->IsItalic?QFont::StyleItalic:QFont::StyleNormal);
+ QTextOption OptionText((CompositionObject->HAlign==0)?Qt::AlignLeft:(CompositionObject->HAlign==1)?Qt::AlignHCenter:(CompositionObject->HAlign==2)?Qt::AlignRight:Qt::AlignJustify);
+ QTextCursor Cursor(&TextDoc);
+ QTextCharFormat TCF;
+ QTextBlockFormat TBF;
+ Cursor.select(QTextCursor::Document);
+ OptionText.setWrapMode(QTextOption::WordWrap);
+ Font.setUnderline(CompositionObject->IsUnderline);
+ TextDoc.setDefaultFont(Font);
+ TextDoc.setDefaultTextOption(OptionText);
+ TCF.setFont(Font);
+ TCF.setFontWeight(CompositionObject->IsBold?QFont::Bold:QFont::Normal);
+ TCF.setFontItalic(CompositionObject->IsItalic);
+ TCF.setFontUnderline(CompositionObject->IsUnderline);
+ TCF.setForeground(QBrush(QColor(CompositionObject->FontColor)));
+ TBF.setAlignment((CompositionObject->HAlign==0)?Qt::AlignLeft:(CompositionObject->HAlign==1)?Qt::AlignHCenter:(CompositionObject->HAlign==2)?Qt::AlignRight:Qt::AlignJustify);
+ Cursor.setCharFormat(TCF);
+ Cursor.setBlockFormat(TBF);
+ CompositionObject->Text=TextDoc.toHtml();
+
+ // Now create and append a shot composition block to all shot
+ for (int i=0;i<CurrentSlide->List.count();i++) {
+ CurrentSlide->List[i]->ShotComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_SHOT,CompositionObject->IndexKey,((cApplicationConfig *)BaseApplicationConfig)));
+ CurrentSlide->List[i]->ShotComposition.List[CurrentSlide->List[i]->ShotComposition.List.count()-1]->CopyFromCompositionObject(CompositionObject);
+ // Ensure new object is not visible in previous shot
+ if (i<CurrentShotNbr) CurrentSlide->List[i]->ShotComposition.List[CurrentSlide->List[i]->ShotComposition.List.count()-1]->IsVisible=false;
+ }
+
+ // Inc NextIndexKey
+ CurrentSlide->NextIndexKey++;
+
+ RefreshBlockTable(CompositionList->List.count()-1);
+ NoPrepUndo=true;
+ QTimer::singleShot(250,this,SLOT(s_BlockSettings_TextEditor())); // Append "Open text editor" to the message queue
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::s_BlockTable_DragDropFiles(QList<QUrl> urlList) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_DragDropFiles");
+ if (urlList.count()>0) {
+ QString fName;
+ QFileInfo info;
+ QStringList FileList;
+ for (int i=0;i<urlList.count();i++) {
+ fName = urlList[i].toLocalFile(); // convert first QUrl to local path
+ info.setFile(fName); // information about file
+ if (info.isFile()) FileList.append(fName); // append file
+ }
+ if (FileList.count()>0) s_BlockTable_AddFilesBlock(FileList,ui->BlockTable->DragItemDest);
+ }
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::s_BlockTable_AddNewFileBlock() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_AddNewFileBlock");
+
+ QStringList FileList=QFileDialog::getOpenFileNames(this,QApplication::translate("DlgSlideProperties","Add files"),
+ CurrentSlide->Parent->ApplicationConfig->RememberLastDirectories?CurrentSlide->Parent->ApplicationConfig->LastMediaPath:"",
+ CurrentSlide->Parent->ApplicationConfig->GetFilterForMediaFile(cBaseApplicationConfig::ALLFILE));
+ if (FileList.count()==0) return;
+
+ // Sort files in the fileList
+ if (CurrentSlide->Parent->ApplicationConfig->SortFile) {
+ // Sort by last number
+ for (int i=0;i<FileList.count();i++) for (int j=0;j<FileList.count()-1;j++) {
+ QString NameA=QFileInfo(FileList[j]).completeBaseName();
+ int NumA=NameA.length()-1;
+ while ((NumA>0)&&(NameA[NumA]>='0')&&(NameA[NumA]<='9')) NumA--;
+ if (NumA>=0) NumA=NameA.mid(NumA+1).toInt();
+
+ QString NameB=QFileInfo(FileList[j+1]).completeBaseName();
+ int NumB=NameB.length()-1;
+ while ((NumB>0)&&(NameB[NumB]>='0')&&(NameB[NumB]<='9')) NumB--;
+ if (NumB>=0) NumB=NameB.mid(NumB+1).toInt();
+
+ if (NumA>NumB) FileList.swap(j,j+1);
+ }
+ } else {
+ // Sort by alphabetical order
+ for (int i=0;i<FileList.count();i++) for (int j=0;j<FileList.count()-1;j++) {
+ if (QFileInfo(FileList[j]).completeBaseName()>QFileInfo(FileList[j+1]).completeBaseName()) FileList.swap(j,j+1);
+ }
+ }
+
+ QApplication::processEvents();
+ s_BlockTable_AddFilesBlock(FileList,ui->BlockTable->rowCount());
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::s_BlockTable_AddFilesBlock(QStringList FileList,int PositionToInsert) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_AddNewFileBlock");
+ AppendPartialUndo(UNDOACTION_BLOCKTABLE_ADDFILEBLOCK,ui->BlockTable,true);
+
+ // Add files
+ QStringList AliasList;
+ for (int i=0;i<FileList.count();i++) {
+ QString NewFile=FileList[i];
+ QString ErrorMessage=QApplication::translate("MainWindow","Format not supported","Error message");
+
+ if (((cApplicationConfig *)BaseApplicationConfig)->RememberLastDirectories) ((cApplicationConfig *)BaseApplicationConfig)->LastMediaPath=QFileInfo(NewFile).absolutePath(); // Keep folder for next use
+
+ // Create and append a composition block to the object list
+ CurrentSlide->ObjectComposition.List.insert(PositionToInsert,new cCompositionObject(COMPOSITIONTYPE_OBJECT,CurrentSlide->NextIndexKey,((cApplicationConfig *)BaseApplicationConfig)));
+ cCompositionObject *CompositionObject=CurrentSlide->ObjectComposition.List[PositionToInsert];
+ cBrushDefinition *CurrentBrush =CompositionObject->BackgroundBrush;
+
+ CompositionObject->Text ="";
+ CompositionObject->PenSize =0;
+ CurrentBrush->BrushType =BRUSHTYPE_IMAGEDISK;
+
+ QString BrushFileName =QFileInfo(NewFile).absoluteFilePath();
+
+ bool IsValide =false;
+ QString Extension=QFileInfo(BrushFileName).suffix().toLower();
+
+ // Search if file is an image
+ for (int i=0;i<((cApplicationConfig *)BaseApplicationConfig)->AllowImageExtension.count();i++) if (((cApplicationConfig *)BaseApplicationConfig)->AllowImageExtension[i]==Extension) {
+ // Create an image wrapper
+ CurrentBrush->Image=new cImageFile(((cApplicationConfig *)BaseApplicationConfig));
+ bool ModifyFlag=false;
+ IsValide=CurrentBrush->Image->GetInformationFromFile(BrushFileName,&AliasList,&ModifyFlag);
+ if (!IsValide) {
+ delete CurrentBrush->Image;
+ CurrentBrush->Image=NULL;
+ } else if (ModifyFlag) emit SetModifyFlag();
+ break;
+ }
+ // If it's not an image : search if file is a video
+ if (CurrentBrush->Image==NULL) for (int i=0;i<((cApplicationConfig *)BaseApplicationConfig)->AllowVideoExtension.count();i++) if (((cApplicationConfig *)BaseApplicationConfig)->AllowVideoExtension[i]==Extension) {
+ // Create a video wrapper
+ CurrentBrush->Video=new cVideoFile(OBJECTTYPE_VIDEOFILE,((cApplicationConfig *)BaseApplicationConfig));
+ bool ModifyFlag=false;
+ IsValide=(CurrentBrush->Video->GetInformationFromFile(BrushFileName,&AliasList,&ModifyFlag))&&(CurrentBrush->Video->OpenCodecAndFile());
+ if (IsValide) {
+ // Check if file have at least one sound track compatible
+ if ((CurrentBrush->Video->AudioStreamNumber!=-1)&&(!(
+ (CurrentBrush->Video->ffmpegAudioFile->streams[CurrentBrush->Video->AudioStreamNumber]->codec->sample_fmt!=AV_SAMPLE_FMT_S16)||
+ (CurrentBrush->Video->ffmpegAudioFile->streams[CurrentBrush->Video->AudioStreamNumber]->codec->sample_fmt!=AV_SAMPLE_FMT_U8)
+ ))) {
+ ErrorMessage=ErrorMessage+"\n"+QApplication::translate("MainWindow","This application support only audio track with unsigned 8 bits or signed 16 bits sample format","Error message");
+ IsValide=false;
+ }
+ if ((CurrentBrush->Video->AudioStreamNumber!=-1)&&(CurrentBrush->Video->ffmpegAudioFile->streams[CurrentBrush->Video->AudioStreamNumber]->codec->channels>2)) {
+ ErrorMessage=ErrorMessage+"\n"+QApplication::translate("MainWindow","This application support only mono or stereo audio track","Error message");
+ IsValide=false;
+ }
+ }
+ if (!IsValide) {
+ delete CurrentBrush->Video;
+ CurrentBrush->Video=NULL;
+ } else {
+ if (ModifyFlag) emit SetModifyFlag();
+ CurrentBrush->Video->EndPos=CurrentBrush->Video->Duration;
+ //CurrentSlide->List[0].StaticDuration=CurrentBrush->Video->StartPos.msecsTo(CurrentBrush->Video->EndPos);
+ }
+ break;
+ }
+ if (IsValide) {
+
+ QImage *Image=(CurrentBrush->Image?CurrentBrush->Image->ImageAt(true,&CurrentBrush->Image->BrushFileTransform):
+ CurrentBrush->Video?CurrentBrush->Video->ImageAt(true,0,QTime(0,0,0,0).msecsTo(CurrentBrush->Video->StartPos),NULL,1,false,&CurrentBrush->Video->BrushFileTransform,false):
+ NULL);
+ if (!Image) {
+ IsValide=false;
+ if (CurrentBrush->Image) {
+ delete CurrentBrush->Image;
+ CurrentBrush->Image=NULL;
+ } else if (CurrentBrush->Video) {
+ delete CurrentBrush->Video;
+ CurrentBrush->Video=NULL;
+ }
+ } else {
+
+ // Apply Styles
+ CompositionObject->ApplyTextStyle(CurrentSlide->Parent->ApplicationConfig->StyleTextCollection.GetStyleDef(CurrentSlide->Parent->ApplicationConfig->StyleTextCollection.DecodeString(CurrentSlide->Parent->ApplicationConfig->DefaultBlockBA_IMG_TextST)));
+ CompositionObject->ApplyBlockShapeStyle(CurrentSlide->Parent->ApplicationConfig->StyleBlockShapeCollection.GetStyleDef(CurrentSlide->Parent->ApplicationConfig->StyleBlockShapeCollection.DecodeString(CurrentSlide->Parent->ApplicationConfig->DefaultBlockBA_IMG_ShapeST)));
+ // Force filtering for CoordinateStyle
+ CurrentSlide->Parent->ApplicationConfig->StyleCoordinateCollection.SetImageGeometryFilter(CurrentSlide->Parent->ImageGeometry,CurrentBrush->Image?CurrentBrush->Image->ObjectGeometry:CurrentBrush->Video->ObjectGeometry);
+ CompositionObject->ApplyCoordinateStyle(CurrentSlide->Parent->ApplicationConfig->StyleCoordinateCollection.GetStyleDef(CurrentSlide->Parent->ApplicationConfig->StyleCoordinateCollection.DecodeString(
+ CurrentSlide->Parent->ApplicationConfig->DefaultBlockBA_IMG_CoordST[CurrentBrush->Image?CurrentBrush->Image->ObjectGeometry:CurrentBrush->Video->ObjectGeometry][CurrentSlide->Parent->ImageGeometry])));
+
+ // Special case for nonstandard image => force to image geometry constraint and adapt frame coordinates
+ if ((CurrentBrush->Image?CurrentBrush->Image->ObjectGeometry:CurrentBrush->Video->ObjectGeometry)==IMAGE_GEOMETRY_UNKNOWN) {
+ double ImageGeometry=1;
+ double ProjectGeometry=1;
+ double NewW,NewH;
+
+ switch (CurrentSlide->Parent->ImageGeometry) {
+ case GEOMETRY_4_3 : ProjectGeometry=double(1440)/double(1920); break;
+ case GEOMETRY_16_9 : ProjectGeometry=double(1080)/double(1920); break;
+ case GEOMETRY_40_17 : ProjectGeometry=double(816)/double(1920); break;
+
+ }
+ ProjectGeometry=QString("%1").arg(ProjectGeometry,0,'e').toDouble(); // Rounded to same number as style managment
+ switch (CurrentSlide->Parent->ApplicationConfig->DefaultBlockBA_CLIPARTLOCK[CurrentSlide->Parent->ImageGeometry]) {
+ case 0 : // Adjust to Full in lock to image geometry mode
+ if (CurrentBrush->Image) ImageGeometry=double(CurrentBrush->Image->ImageHeight)/double(CurrentBrush->Image->ImageWidth);
+ else if (CurrentBrush->Video) ImageGeometry=double(CurrentBrush->Video->ImageHeight)/double(CurrentBrush->Video->ImageWidth);
+ CurrentBrush->InitDefaultFramingStyle(true,ImageGeometry);
+ CurrentBrush->ApplyStyle(true,CurrentBrush->DefaultFramingF);
+ NewW=CompositionObject->w*CurrentSlide->Parent->InternalWidth;
+ NewH=NewW*CurrentBrush->AspectRatio;
+ NewW=NewW/CurrentSlide->Parent->InternalWidth;
+ NewH=NewH/CurrentSlide->Parent->InternalHeight;
+ if (NewH>1) {
+ NewH=CompositionObject->h*CurrentSlide->Parent->InternalHeight;
+ NewW=NewH/CurrentBrush->AspectRatio;
+ NewW=NewW/CurrentSlide->Parent->InternalWidth;
+ NewH=NewH/CurrentSlide->Parent->InternalHeight;
+ }
+ CompositionObject->w=NewW;
+ CompositionObject->h=NewH;
+ break;
+ case 1 : // Lock to project geometry - To full
+ ImageGeometry=ProjectGeometry;
+ CurrentBrush->InitDefaultFramingStyle(true,ImageGeometry);
+ CurrentBrush->ApplyStyle(true,CurrentBrush->DefaultFramingF);
+ break;
+ case 2 : // Lock to project geometry - To width
+ ImageGeometry=ProjectGeometry;
+ CurrentBrush->InitDefaultFramingStyle(true,ImageGeometry);
+ CurrentBrush->ApplyStyle(true,CurrentBrush->DefaultFramingW);
+ break;
+ case 3 : // Lock to project geometry - To height
+ ImageGeometry=ProjectGeometry;
+ CurrentBrush->InitDefaultFramingStyle(true,ImageGeometry);
+ CurrentBrush->ApplyStyle(true,CurrentBrush->DefaultFramingH);
+ break;
+ }
+ }
+ delete Image;
+ }
+ }
+ if (IsValide) {
+ // Now create and append a shot composition block to all shot
+ for (int i=0;i<CurrentSlide->List.count();i++) {
+ CurrentSlide->List[i]->ShotComposition.List.insert(PositionToInsert,new cCompositionObject(COMPOSITIONTYPE_SHOT,CompositionObject->IndexKey,((cApplicationConfig *)BaseApplicationConfig)));
+ CurrentSlide->List[i]->ShotComposition.List[PositionToInsert]->CopyFromCompositionObject(CompositionObject);
+ // Ensure new object is not visible in previous shot
+ if (i<CurrentShotNbr) CurrentSlide->List[i]->ShotComposition.List[PositionToInsert]->IsVisible=false;
+ }
+
+ // If this object is a video will gain sound from this shots !
+ if (CurrentBrush->Video!=NULL) for (int k=0;k<CurrentSlide->List.count();k++) for (int l=0;l<CurrentSlide->List[k]->ShotComposition.List.count();l++)
+ if ((CurrentSlide->List[k]->ShotComposition.List[l]->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)&&
+ (CurrentSlide->List[k]->ShotComposition.List[l]->BackgroundBrush->Video)) {
+ if (k<CurrentShotNbr) {
+ // Set this new block to SoundVolume=0
+ if (CurrentBrush->Video==CurrentSlide->List[k]->ShotComposition.List[l]->BackgroundBrush->Video)
+ CurrentSlide->List[k]->ShotComposition.List[l]->BackgroundBrush->SoundVolume=0;
+ } else {
+ // Set all other block to SoundVolume=0 and this block to SoundVolume=1
+ if (CurrentBrush->Video!=CurrentSlide->List[k]->ShotComposition.List[l]->BackgroundBrush->Video)
+ CurrentSlide->List[k]->ShotComposition.List[l]->BackgroundBrush->SoundVolume=0;
+ else CurrentSlide->List[k]->ShotComposition.List[l]->BackgroundBrush->SoundVolume=1;
+ }
+ }
+
+ // Inc NextIndexKey
+ CurrentSlide->NextIndexKey++;
+ PositionToInsert++;
+
+ } else {
+ delete CurrentSlide->ObjectComposition.List.takeAt(PositionToInsert);
+ CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),NewFile+"\n\n"+ErrorMessage,QMessageBox::Close);
+ }
+ }
+ RefreshBlockTable(PositionToInsert-1);
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::s_BlockTable_RemoveBlock() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_RemoveBlock");
+ AppendPartialUndo(UNDOACTION_BLOCKTABLE_REMOVEBLOCK,ui->BlockTable,true);
+
+ if (BlockSelectMode==SELECTMODE_ONE) {
+ if ((((cApplicationConfig *)BaseApplicationConfig)->AskUserToRemove)&&(CustomMessageBox(this,QMessageBox::Question,QApplication::translate("DlgSlideProperties","Remove block"),QApplication::translate("DlgSlideProperties","Are you sure to want to delete this block?"),
+ QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::No)) return;
+ } else if (BlockSelectMode==SELECTMODE_MULTIPLE) {
+ if ((((cApplicationConfig *)BaseApplicationConfig)->AskUserToRemove)&&(CustomMessageBox(this,QMessageBox::Question,QApplication::translate("DlgSlideProperties","Remove blocks"),QApplication::translate("DlgSlideProperties","Are you sure to want to delete these blocks?"),
+ QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::No)) return;
+ }
+ for (int i=CompositionList->List.count()-1;i>=0;i--) if (IsSelected[i]) {
+
+ // Get indexkey of block
+ int KeyToDelete=CompositionList->List[i]->IndexKey;
+
+ // Delete block from all shots of the slide
+ for (int j=0;j<CurrentSlide->List.count();j++) {
+ int k=0;
+ while (k<CurrentSlide->List[j]->ShotComposition.List.count()) {
+ if (CurrentSlide->List[j]->ShotComposition.List[k]->IndexKey==KeyToDelete) delete CurrentSlide->List[j]->ShotComposition.List.takeAt(k);
+ else k++;
+ }
+ }
+
+ // Delete block from global composition list of the slide
+ int k=0;
+ while (k<CurrentSlide->ObjectComposition.List.count()) {
+ if (CurrentSlide->ObjectComposition.List[k]->IndexKey==KeyToDelete) delete CurrentSlide->ObjectComposition.List.takeAt(k);
+ else k++;
+ }
+ }
+
+ // Update display
+ RefreshBlockTable(CurrentCompoObjectNbr>=CompositionList->List.count()?CurrentCompoObjectNbr-1:CurrentCompoObjectNbr);
+
+ // Ensure nothing is selected
+ ui->BlockTable->clearSelection();
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::s_BlockTable_Cut() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_Cut");
+
+ if ((BlockSelectMode!=SELECTMODE_ONE)&&(BlockSelectMode!=SELECTMODE_MULTIPLE)) return;
+ s_BlockTable_Copy();
+ s_BlockTable_RemoveBlock();
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::s_BlockTable_Copy() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_Copy");
+
+ if ((BlockSelectMode!=SELECTMODE_ONE)&&(BlockSelectMode!=SELECTMODE_MULTIPLE)) return;
+
+ QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
+
+ // Create xml document and root
+ QDomDocument Object =QDomDocument(APPLICATION_NAME);
+ QDomElement root =Object.createElement("CLIPBOARD");
+ int BlockNum=0;
+ for (int i=0;i<CompositionList->List.count();i++) if (IsSelected[i]) {
+ QDomElement Element=Object.createElement(QString("Block-%1").arg(BlockNum));
+ cCompositionObject *GlobalBlock=GetGlobalCompositionObject(CompositionList->List[i]->IndexKey);
+
+ GlobalBlock->SaveToXML(Element,"CLIPBOARD-BLOCK-GLOBAL",CurrentSlide->Parent->ProjectFileName,true); // Save global object
+ CompositionList->List[i]->SaveToXML(Element,"CLIPBOARD-BLOCK-SHOT",CurrentSlide->Parent->ProjectFileName,true); // Save shot object
+ root.appendChild(Element);
+ BlockNum++;
+ }
+ root.setAttribute("BlockNbr",BlockNum);
+ Object.appendChild(root);
+
+ // Transfert xml document to clipboard
+ QMimeData *SlideData=new QMimeData();
+ SlideData->setData("ffDiaporama/block",Object.toByteArray());
+ QApplication::clipboard()->setMimeData(SlideData);
+
+ RefreshControls();
+ QApplication::restoreOverrideCursor();
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::s_BlockTable_Paste() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_Paste");
+ AppendPartialUndo(UNDOACTION_BLOCKTABLE_PASTEBLOCK,ui->BlockTable,true);
+
+ const QMimeData *SlideData=QApplication::clipboard()->mimeData();
+ if (SlideData->hasFormat("ffDiaporama/block")) {
+ QDomDocument Object=QDomDocument(APPLICATION_NAME);
+ Object.setContent(SlideData->data("ffDiaporama/block"));
+ if ((Object.elementsByTagName("CLIPBOARD").length()>0)&&(Object.elementsByTagName("CLIPBOARD").item(0).isElement()==true)) {
+
+ QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
+
+ QDomElement root=Object.elementsByTagName("CLIPBOARD").item(0).toElement();
+ int BlockNbr=root.attribute("BlockNbr").toInt();
+
+ for (int BlockNum=0;BlockNum<BlockNbr;BlockNum++) if ((root.elementsByTagName(QString("Block-%1").arg(BlockNum)).length()>0)&&(root.elementsByTagName(QString("Block-%1").arg(BlockNum)).item(0).isElement()==true)) {
+ QDomElement Element=root.elementsByTagName(QString("Block-%1").arg(BlockNum)).item(0).toElement();
+ // Create and append a composition block to the object list
+ CurrentSlide->ObjectComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_OBJECT,CurrentSlide->NextIndexKey,((cApplicationConfig *)BaseApplicationConfig)));
+ cCompositionObject *GlobalBlock=CurrentSlide->ObjectComposition.List[CurrentSlide->ObjectComposition.List.count()-1];
+ GlobalBlock->LoadFromXML(Element,"CLIPBOARD-BLOCK-GLOBAL","",NULL,NULL);
+ GlobalBlock->IndexKey=CurrentSlide->NextIndexKey;
+
+ cCompositionObject ShotBlock(COMPOSITIONTYPE_SHOT,CurrentSlide->NextIndexKey,((cApplicationConfig *)BaseApplicationConfig));
+ ShotBlock.LoadFromXML(Element,"CLIPBOARD-BLOCK-SHOT","",NULL,NULL);
+ ShotBlock.IndexKey=CurrentSlide->NextIndexKey;
+ ShotBlock.BackgroundBrush->Image=GlobalBlock->BackgroundBrush->Image;
+ ShotBlock.BackgroundBrush->Video=GlobalBlock->BackgroundBrush->Video;
+ ShotBlock.Text=GlobalBlock->Text;
+ if (ShotBlock.Text!="") {
+ ShotBlock.FontName =GlobalBlock->FontName;
+ ShotBlock.FontSize =GlobalBlock->FontSize;
+ ShotBlock.FontColor =GlobalBlock->FontColor;
+ ShotBlock.FontShadowColor =GlobalBlock->FontShadowColor;
+ ShotBlock.IsBold =GlobalBlock->IsBold;
+ ShotBlock.IsItalic =GlobalBlock->IsItalic;
+ ShotBlock.IsUnderline =GlobalBlock->IsUnderline;
+ ShotBlock.HAlign =GlobalBlock->HAlign;
+ ShotBlock.VAlign =GlobalBlock->VAlign;
+ ShotBlock.StyleText =GlobalBlock->StyleText;
+ }
+ // Now create and append a shot composition block to all shot
+ for (int i=0;i<CurrentSlide->List.count();i++) {
+ CurrentSlide->List[i]->ShotComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_SHOT,CurrentSlide->NextIndexKey,((cApplicationConfig *)BaseApplicationConfig)));
+ CurrentSlide->List[i]->ShotComposition.List[CurrentSlide->List[i]->ShotComposition.List.count()-1]->CopyFromCompositionObject(&ShotBlock);
+ // Ensure new object is not visible in previous shot
+ if (i<CurrentShotNbr) {
+ CurrentSlide->List[i]->ShotComposition.List[CurrentSlide->List[i]->ShotComposition.List.count()-1]->IsVisible=false;
+ // Ensure unvisible video have no sound !
+ if (CurrentSlide->List[i]->ShotComposition.List[CurrentSlide->List[i]->ShotComposition.List.count()-1]->BackgroundBrush->Video!=NULL)
+ CurrentSlide->List[i]->ShotComposition.List[CurrentSlide->List[i]->ShotComposition.List.count()-1]->BackgroundBrush->SoundVolume=0;
+ }
+ }
+ // Inc NextIndexKey
+ CurrentSlide->NextIndexKey++;
+ }
+
+ // Refresh shot table
+ ui->ShotTable->setUpdatesEnabled(false);
+ ui->ShotTable->setUpdatesEnabled(true);
+
+ // Refresh block table
+ RefreshBlockTable(CompositionList->List.count()-1);
+
+ // Select blocks we just added
+ s_BlockTable_StartSelectionChange();
+ ui->BlockTable->clearSelection();
+ for (int i=0;i<BlockNbr;i++) ui->BlockTable->setCurrentCell(CompositionList->List.count()-1-i,0,i==0?QItemSelectionModel::Select|QItemSelectionModel::Current:QItemSelectionModel::Select);
+ s_BlockTable_EndSelectionChange();
+
+ QApplication::restoreOverrideCursor();
+ }
+ }
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::s_BlockTable_MoveBlockUp() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_MoveBlockUp");
+ AppendPartialUndo(UNDOACTION_BLOCKTABLE_CHBLOCKORDER,ui->BlockTable,true);
+
+ if (BlockSelectMode!=SELECTMODE_ONE) return;
+ if (CurrentCompoObjectNbr<1) return;
+ CompositionList->List.swap(CurrentCompoObjectNbr,CurrentCompoObjectNbr-1);
+ RefreshBlockTable(CurrentCompoObjectNbr-1);
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::s_BlockTable_MoveBlockDown() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_MoveBlockDown");
+ AppendPartialUndo(UNDOACTION_BLOCKTABLE_CHBLOCKORDER,ui->BlockTable,true);
+
+ if (BlockSelectMode!=SELECTMODE_ONE) return;
+ if (CurrentCompoObjectNbr>=CompositionList->List.count()-1) return;
+ CompositionList->List.swap(CurrentCompoObjectNbr+1,CurrentCompoObjectNbr);
+ RefreshBlockTable(CurrentCompoObjectNbr+1);
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::s_BlockTable_DragMoveBlock(int Src,int Dst) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_DragMoveBlock");
+ AppendPartialUndo(UNDOACTION_BLOCKTABLE_CHBLOCKORDER,ui->BlockTable,true);
+ if (Src<Dst) Dst--;
+ CompositionList->List.insert(Dst,CompositionList->List.takeAt(Src));
+ RefreshBlockTable(Dst);
+}
+
+//********************************************************************************************************************
+// BLOCKS ALIGNMENT
+//********************************************************************************************************************
+
+void DlgSlideProperties::s_BlockTable_AlignTop() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_AlignTop");
+ AppendPartialUndo(UNDOACTION_BLOCKTABLE_ARRANGEBLOCK,ui->InteractiveZone,true);
+ for (int i=0;i<IsSelected.count();i++) if (IsSelected[i]) CompositionList->List[i]->y=ui->InteractiveZone->Sel_Y;
+ RefreshControls(true);
+}
+
+void DlgSlideProperties::s_BlockTable_AlignMiddle() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_AlignMiddle");
+ AppendPartialUndo(UNDOACTION_BLOCKTABLE_ARRANGEBLOCK,ui->InteractiveZone,true);
+ for (int i=0;i<IsSelected.count();i++) if (IsSelected[i]) CompositionList->List[i]->y=(ui->InteractiveZone->Sel_Y+ui->InteractiveZone->Sel_H/2)-CompositionList->List[i]->h/2;
+ RefreshControls(true);
+}
+
+void DlgSlideProperties::s_BlockTable_AlignBottom() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_AlignBottom");
+ AppendPartialUndo(UNDOACTION_BLOCKTABLE_ARRANGEBLOCK,ui->InteractiveZone,true);
+ for (int i=0;i<IsSelected.count();i++) if (IsSelected[i]) CompositionList->List[i]->y=(ui->InteractiveZone->Sel_Y+ui->InteractiveZone->Sel_H)-CompositionList->List[i]->h;
+ RefreshControls(true);
+}
+
+void DlgSlideProperties::s_BlockTable_AlignLeft() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_AlignLeft");
+ AppendPartialUndo(UNDOACTION_BLOCKTABLE_ARRANGEBLOCK,ui->InteractiveZone,true);
+ for (int i=0;i<IsSelected.count();i++) if (IsSelected[i]) CompositionList->List[i]->x=ui->InteractiveZone->Sel_X;
+ RefreshControls(true);
+}
+
+void DlgSlideProperties::s_BlockTable_AlignCenter() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_AlignCenter");
+ AppendPartialUndo(UNDOACTION_BLOCKTABLE_ARRANGEBLOCK,ui->InteractiveZone,true);
+ for (int i=0;i<IsSelected.count();i++) if (IsSelected[i]) CompositionList->List[i]->x=(ui->InteractiveZone->Sel_X+ui->InteractiveZone->Sel_W/2)-CompositionList->List[i]->w/2;
+ RefreshControls(true);
+}
+
+void DlgSlideProperties::s_BlockTable_AlignRight() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_AlignRight");
+ AppendPartialUndo(UNDOACTION_BLOCKTABLE_ARRANGEBLOCK,ui->InteractiveZone,true);
+ for (int i=0;i<IsSelected.count();i++) if (IsSelected[i]) CompositionList->List[i]->x=(ui->InteractiveZone->Sel_X+ui->InteractiveZone->Sel_W)-CompositionList->List[i]->w;
+ RefreshControls(true);
+}
+
+//********************************************************************************************************************
+//
+// CURRENT BLOCK SETTINGS
+//
+//********************************************************************************************************************
+
+//====================================================================================================================
+// Buttons associated to a Dialog box
+//====================================================================================================================
+
+//========= Open text editor
+void DlgSlideProperties::s_BlockSettings_TextEditor() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_TextEditor");
+
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ if (!NoPrepUndo) AppendPartialUndo(UNDOACTION_BLOCKTABLE_EDITTEXT,ui->InteractiveZone,true);
+ NoPrepUndo=false;
+
+ DlgTextEdit Dlg(CurrentCompoObject,HELPFILE_DlgTextEdit,((cApplicationConfig *)BaseApplicationConfig),((cApplicationConfig *)BaseApplicationConfig)->DlgTextEditWSP,
+ &((cApplicationConfig *)BaseApplicationConfig)->StyleTextCollection,&((cApplicationConfig *)BaseApplicationConfig)->StyleTextBackgroundCollection,this);
+ Dlg.InitDialog();
+ connect(&Dlg,SIGNAL(RefreshDisplay()),this,SLOT(s_RefreshSceneImage()));
+ if (Dlg.exec()==0) {
+ ApplyToContexte(true);
+ int CurrentRow=ui->BlockTable->currentRow();
+ RefreshBlockTable(CurrentRow>0?CurrentRow:0);
+ } else {
+ RemoveLastPartialUndo();
+ RefreshControls();
+ }
+}
+
+//========= Open s_BlockSettings_Information dialog
+void DlgSlideProperties::s_BlockSettings_Information() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_Information");
+
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)||
+ ((!CurrentCompoObject->BackgroundBrush->Video)&&(!CurrentCompoObject->BackgroundBrush->Image))) return;
+
+ cBaseMediaFile *Media=NULL;
+ if (CurrentCompoObject->BackgroundBrush->Image!=NULL) Media=CurrentCompoObject->BackgroundBrush->Image;
+ else if (CurrentCompoObject->BackgroundBrush->Video!=NULL) Media=CurrentCompoObject->BackgroundBrush->Video;
+
+ if (Media) {
+ DlgInfoFile Dlg(Media,HELPFILE_DlgInfoFile,((cApplicationConfig *)BaseApplicationConfig),((cApplicationConfig *)BaseApplicationConfig)->DlgInfoFileWSP,this);
+ Dlg.InitDialog();
+ Dlg.exec();
+ }
+}
+
+//========= Open video editor
+void DlgSlideProperties::s_BlockSettings_VideoEdit() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_VideoEdit");
+
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)||(!CurrentCompoObject->BackgroundBrush->Video)) return;
+
+ AppendPartialUndo(UNDOACTION_BLOCKTABLE_EDITVIDEO,ui->InteractiveZone,true);
+ DlgVideoEdit Dlg(CurrentCompoObject->BackgroundBrush,HELPFILE_DlgVideoEdit,((cApplicationConfig *)BaseApplicationConfig),((cApplicationConfig *)BaseApplicationConfig)->DlgVideoEditWSP,this);
+ Dlg.InitDialog();
+ if (Dlg.exec()==0) {
+ ApplyToContexte(true);
+ s_ShotTable_DisplayDuration();
+ } else RemoveLastPartialUndo();
+}
+
+//========= Open image correction editor
+void DlgSlideProperties::s_BlockSettings_ImageEditCorrect() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_ImageEditCorrect");
+
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)||
+ ((!CurrentCompoObject->BackgroundBrush->Video)&&(!CurrentCompoObject->BackgroundBrush->Image))) return;
+
+ AppendPartialUndo(UNDOACTION_BLOCKTABLE_EDITIMAGE,ui->InteractiveZone,true);
+ cBrushDefinition *CurrentBrush=CurrentCompoObject->BackgroundBrush;
+
+ int Position=0;
+ // Compute position of video
+ if (CurrentBrush->Video) for (int i=0;i<ui->ShotTable->currentColumn();i++) for (int j=0;j<CurrentSlide->List[i]->ShotComposition.List.count();j++)
+ if (CurrentSlide->List[i]->ShotComposition.List[j]->IndexKey==CurrentCompoObject->IndexKey) {
+ if (CurrentSlide->List[i]->ShotComposition.List[j]->IsVisible) Position+=CurrentSlide->List[i]->StaticDuration;
+ }
+
+ QString FileName =QFileInfo(CurrentBrush->Image?CurrentBrush->Image->FileName:CurrentBrush->Video->FileName).fileName();
+ bool UpdateSlideName=(CurrentSlide->SlideName==FileName);
+
+ DlgImageCorrection Dlg(CurrentCompoObject,CurrentCompoObject->BackgroundForm,CurrentCompoObject->BackgroundBrush,Position,CurrentSlide->Parent->ImageGeometry,
+ HELPFILE_DlgImageCorrection,((cApplicationConfig *)BaseApplicationConfig),((cApplicationConfig *)BaseApplicationConfig)->DlgImageCorrectionWSP,this);
+ Dlg.InitDialog();
+ if (Dlg.exec()==0) {
+
+ CurrentBrush->AspectRatio=CurrentBrush->AspectRatio;
+ CurrentCompoObject->h =(CurrentCompoObject->w*DisplayW*CurrentBrush->AspectRatio)/DisplayH;
+
+ // Adjust height and width to image stay in screen
+ if (((CurrentCompoObject->y+CurrentCompoObject->h)*DisplayH)>DisplayH) {
+ CurrentCompoObject->h=1-CurrentCompoObject->y;
+ CurrentCompoObject->w=((CurrentCompoObject->h*DisplayH)/CurrentBrush->AspectRatio)/DisplayW;
+ }
+
+ // if Slide name is name of this file
+ if (UpdateSlideName) {
+ CurrentSlide->SlideName=QFileInfo(CurrentBrush->Image?CurrentBrush->Image->FileName:CurrentBrush->Video->FileName).fileName();
+ ui->SlideNameED->setText(CurrentSlide->SlideName);
+ }
+
+ // Lulo object for image and video must be remove
+ if (CurrentCompoObject->BackgroundBrush->Video) CurrentSlide->Parent->ApplicationConfig->ImagesCache.RemoveVideoObject(CurrentCompoObject->BackgroundBrush->Video->FileName);
+ else if (CurrentCompoObject->BackgroundBrush->Image) CurrentSlide->Parent->ApplicationConfig->ImagesCache.RemoveImageObject(CurrentCompoObject->BackgroundBrush->Image->FileName);
+
+ ApplyToContexte(true);
+ RefreshBlockTable(CurrentCompoObjectNbr);
+ } else {
+ RemoveLastPartialUndo();
+ }
+}
+
+//========= Toggle visible state
+
+void DlgSlideProperties::s_BlockSettings_ToggleVisibleState() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_ToggleVisibleState");
+
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)) return;
+ AppendPartialUndo(UNDOACTION_BLOCKTABLE_VISIBLESTATE,ui->InteractiveZone,true);
+
+ CurrentCompoObject->IsVisible=!CurrentCompoObject->IsVisible;
+
+ // Special case for video : ensure only this video have sound
+ if (CurrentCompoObject->BackgroundBrush->Video!=NULL) {
+ if (!CurrentCompoObject->IsVisible) {
+ CurrentCompoObject->BackgroundBrush->SoundVolume=0;
+ } else {
+ bool SomeOneHaveSound=false;
+ // Parse table to know if a block have sound for this shot
+ for (int i=0;i<CompositionList->List.count();i++)
+ if ((CompositionList->List[i]->BackgroundBrush->Video!=NULL)&&(CompositionList->List[i]->BackgroundBrush->SoundVolume!=0)) SomeOneHaveSound=true;
+ // If no block have sound => get sound to this video
+ if (!SomeOneHaveSound) CurrentCompoObject->BackgroundBrush->SoundVolume=1;
+ }
+ }
+ RefreshBlockTable(CurrentCompoObjectNbr);
+ ui->InteractiveZone->repaint();
+}
+
+//========= Toggle "Same As Previous Shot" state
+
+void DlgSlideProperties::s_BlockSettings_ToggleSameAsPreviousShot() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_ToggleSameAsPreviousShot");
+
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(CurrentShotNbr==0)) return;
+ AppendPartialUndo(UNDOACTION_BLOCKTABLE_SAMEASPREVIOUSSTATE,ui->InteractiveZone,true);
+ CurrentCompoObject->SameAsPrevShot=!CurrentCompoObject->SameAsPrevShot;
+ // Apply values of previous shot to all shot
+ if ((CurrentShotNbr>0)&&(CurrentCompoObject->SameAsPrevShot)) {
+ cCompositionObject *PreviousObject=NULL;
+ for (int i=0;i<CurrentSlide->List[CurrentShotNbr-1]->ShotComposition.List.count();i++)
+ if (CurrentSlide->List[CurrentShotNbr-1]->ShotComposition.List[i]->IndexKey==CurrentCompoObject->IndexKey) PreviousObject=CurrentSlide->List[CurrentShotNbr-1]->ShotComposition.List[i];
+
+ int ShotNum=CurrentShotNbr;
+ while (ShotNum<CurrentSlide->List.count()) {
+ cCompositionObject *ShotObject=NULL;
+ for (int i=0;i<CurrentSlide->List[ShotNum]->ShotComposition.List.count();i++) if (CurrentSlide->List[ShotNum]->ShotComposition.List[i]->IndexKey==CurrentCompoObject->IndexKey) ShotObject=CurrentSlide->List[ShotNum]->ShotComposition.List[i];
+ if ((ShotObject!=NULL)&&(ShotObject->SameAsPrevShot)) {
+ ShotObject->CopyFromCompositionObject(PreviousObject);
+ ui->ShotTable->RepaintCell(ShotNum);
+ ShotNum++;
+ } else ShotNum=CurrentSlide->List.count(); // Stop loop
+ }
+ }
+
+ RefreshBlockTable(CurrentCompoObjectNbr);
+ ui->InteractiveZone->repaint();
+}
+
+//========= Get sound
+
+void DlgSlideProperties::s_BlockSettings_GetSound() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_GetSound");
+
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)||(!CurrentCompoObject->BackgroundBrush->Video)) return;
+ AppendPartialUndo(UNDOACTION_BLOCKTABLE_SOUNDSTATE,ui->InteractiveZone,true);
+
+ // Only if this block is a video and don't have sound yet
+ if (CurrentCompoObject->BackgroundBrush->SoundVolume==0) {
+ for (int i=0;i<CompositionList->List.count();i++)
+ if ((CurrentCompoObject!=CompositionList->List[i])&&(CompositionList->List[i]->BackgroundBrush->Video)) CompositionList->List[i]->BackgroundBrush->SoundVolume=0;
+ CurrentCompoObject->BackgroundBrush->SoundVolume=1;
+ RefreshBlockTable(CurrentCompoObjectNbr);
+ }
+}
+
+//====================================================================================================================
+// Handler for position, size & rotation controls
+//====================================================================================================================
+
+//========= X position
+void DlgSlideProperties::s_BlockSettings_PosXValue(double Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_PosXValue");
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_POSX,ui->PosXEd,false);
+
+ if (CurrentSlide->Parent->ApplicationConfig->DisplayUnit==DISPLAYUNIT_PERCENT) CurrentCompoObject->x=Value/100; // DisplayUnit==DISPLAYUNIT_PERCENT
+ else CurrentCompoObject->x=(Value/DisplayW); // DisplayUnit==DISPLAYUNIT_PIXELS
+ ApplyToContexte(false);
+}
+
+//========= Y position
+void DlgSlideProperties::s_BlockSettings_PosYValue(double Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_PosYValue");
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_POSY,ui->PosYEd,false);
+
+ if (CurrentSlide->Parent->ApplicationConfig->DisplayUnit==DISPLAYUNIT_PERCENT) CurrentCompoObject->y=Value/100; // DisplayUnit==DISPLAYUNIT_PERCENT
+ else CurrentCompoObject->y=(Value/DisplayH); // DisplayUnit==DISPLAYUNIT_PIXELS
+ ApplyToContexte(false);
+}
+
+//========= Width
+void DlgSlideProperties::s_BlockSettings_PosWidthValue(double Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_PosWidthValue");
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_WIDTH,ui->WidthEd,false);
+
+ if (CurrentSlide->Parent->ApplicationConfig->DisplayUnit==DISPLAYUNIT_PERCENT) CurrentCompoObject->w=Value/100; // DisplayUnit==DISPLAYUNIT_PERCENT
+ else CurrentCompoObject->w=(Value/DisplayW); // DisplayUnit==DISPLAYUNIT_PIXELS
+ if ((CurrentCompoObject->BackgroundBrush->LockGeometry)||(CurrentCompoObject->BackgroundBrush->Image!=NULL)||(CurrentCompoObject->BackgroundBrush->Video!=NULL))
+ CurrentCompoObject->h=((CurrentCompoObject->w*DisplayW)*CurrentCompoObject->BackgroundBrush->AspectRatio)/DisplayH;
+ else CurrentCompoObject->BackgroundBrush->AspectRatio=(CurrentCompoObject->h*DisplayH)/(CurrentCompoObject->w*DisplayW);
+ ApplyToContexte(false);
+}
+
+//========= Height
+void DlgSlideProperties::s_BlockSettings_PosHeightValue(double Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_PosHeightValue");
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_HEIGHT,ui->HeightEd,false);
+
+ if (CurrentSlide->Parent->ApplicationConfig->DisplayUnit==DISPLAYUNIT_PERCENT) CurrentCompoObject->h=Value/100; // DisplayUnit==DISPLAYUNIT_PERCENT
+ else CurrentCompoObject->h=(Value/DisplayH); // DisplayUnit==DISPLAYUNIT_PIXELS
+ if ((CurrentCompoObject->BackgroundBrush->LockGeometry)||(CurrentCompoObject->BackgroundBrush->Image!=NULL)||(CurrentCompoObject->BackgroundBrush->Video!=NULL))
+ CurrentCompoObject->w=((CurrentCompoObject->h*DisplayH)/CurrentCompoObject->BackgroundBrush->AspectRatio)/DisplayW;
+ else CurrentCompoObject->BackgroundBrush->AspectRatio=(CurrentCompoObject->h*DisplayH)/(CurrentCompoObject->w*DisplayW);
+ ApplyToContexte(false);
+}
+
+//========= X Rotation value
+void DlgSlideProperties::s_BlockSettings_RotateXValue(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_RotateXValue");
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_ROTATEX,ui->RotateXED,false);
+ CurrentCompoObject->RotateXAxis=Value;
+ ApplyToContexte(false);
+}
+void DlgSlideProperties::s_BlockSettings_ResetRotateXValue() {
+ s_BlockSettings_RotateXValue(0);
+}
+
+//========= Y Rotation value
+void DlgSlideProperties::s_BlockSettings_RotateYValue(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_RotateYValue");
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_ROTATEY,ui->RotateYED,false);
+ CurrentCompoObject->RotateYAxis=Value;
+ ApplyToContexte(false);
+}
+void DlgSlideProperties::s_BlockSettings_ResetRotateYValue() {
+ s_BlockSettings_RotateYValue(0);
+}
+
+//========= Z Rotation value
+void DlgSlideProperties::s_BlockSettings_RotateZValue(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_RotateZValue");
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_ROTATEZ,ui->RotateZED,false);
+ CurrentCompoObject->RotateZAxis=Value;
+ ApplyToContexte(false);
+}
+void DlgSlideProperties::s_BlockSettings_ResetRotateZValue() {
+ s_BlockSettings_RotateZValue(0);
+}
+
+//====================================================================================================================
+// Handler for shape
+//====================================================================================================================
+
+//========= Background forme
+void DlgSlideProperties::s_BlockSettings_ShapeBackgroundForm(int Style) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_ShapeBackgroundForm");
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_SHAPEFORM,ui->BackgroundFormCB,false);
+ CurrentCompoObject->BackgroundForm=Style+1;
+ ApplyToContexte(true);
+}
+
+//========= Opacity
+void DlgSlideProperties::s_BlockSettings_ShapeOpacity(int Style) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_ShapeOpacity");
+
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_SHAPEOPACITY,ui->OpacityCB,false);
+ CurrentCompoObject->Opacity=Style;
+ ApplyToContexte(true);
+}
+
+//========= Border pen size
+void DlgSlideProperties::s_BlockSettings_ShapePenSize(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_ShapePenSize");
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_SHAPEPENSIZE,ui->PenSizeEd,false);
+ CurrentCompoObject->PenSize=ui->PenSizeEd->value();
+ ui->PenColorCB->setEnabled(CurrentCompoObject->PenSize!=0);
+ ui->PenStyleCB->setEnabled(CurrentCompoObject->PenSize!=0);
+ ApplyToContexte(true);
+}
+
+//========= Border pen style
+void DlgSlideProperties::s_BlockSettings_ShapePenStyle(int index) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_ShapePenStyle");
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_SHAPEPENSTYLE,ui->PenStyleCB,false);
+ CurrentCompoObject->PenStyle=ui->PenStyleCB->itemData(index).toInt();
+ ApplyToContexte(true);
+}
+
+//========= Border pen color
+void DlgSlideProperties::s_BlockSettings_ShapePenColor(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_ShapePenColor");
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_SHAPEPENCOLOR,ui->PenColorCB,false);
+ CurrentCompoObject->PenColor=ui->PenColorCB->GetCurrentColor();
+ ApplyToContexte(true);
+}
+
+//========= Shape shadow style
+void DlgSlideProperties::s_BlockSettings_ShapeShadowFormValue(int value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_ShapeShadowFormValue");
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_SHAPESHADOWFORM,ui->ShadowEffectCB,false);
+ CurrentCompoObject->FormShadow=value;
+ ui->ShadowEffectED->setEnabled(CurrentCompoObject->FormShadow!=0);
+ ui->ShadowColorCB->setEnabled(CurrentCompoObject->FormShadow!=0);
+ ApplyToContexte(true);
+}
+
+//========= Shape shadow distance
+void DlgSlideProperties::s_BlockSettings_ShapeShadowDistanceValue(int value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_ShapeShadowDistanceValue");
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_SHAPESHADOWDIST,ui->ShadowEffectED,false);
+ CurrentCompoObject->FormShadowDistance =value;
+ ApplyToContexte(true);
+}
+
+//========= shadow color
+void DlgSlideProperties::s_BlockSettings_ShapeShadowColor(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_ShapeShadowColor");
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_SHAPESHADOWCOLOR,ui->ShadowColorCB,false);
+ CurrentCompoObject->FormShadowColor=ui->ShadowColorCB->GetCurrentColor();
+ ApplyToContexte(true);
+}
+
+//====================================================================================================================
+// Text annimation
+//====================================================================================================================
+
+//========= Text Zoom Level
+void DlgSlideProperties::s_BlockSettings_TextAnimZoom(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_TextAnimZoom");
+
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_TEXTANIMZOOM,ui->ZoomED,false);
+ CurrentCompoObject->TxtZoomLevel=Value;
+ ui->ZoomSlider->setValue(CurrentCompoObject->TxtZoomLevel);
+ ui->ZoomED->setValue(CurrentCompoObject->TxtZoomLevel);
+ ApplyToContexte(false);
+}
+
+void DlgSlideProperties::s_BlockSettings_TextAnimZoomReset() {
+ s_BlockSettings_TextAnimZoom(100);
+}
+
+//========= Text scrolling X
+void DlgSlideProperties::s_BlockSettings_TextAnimScrollX(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_TextAnimScrollX");
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_TEXTANIMSCROLLX,ui->ScrollXED,false);
+ CurrentCompoObject->TxtScrollX=Value;
+ ui->ScrollXSlider->setValue(CurrentCompoObject->TxtScrollX);
+ ui->ScrollXED->setValue(CurrentCompoObject->TxtScrollX);
+ ApplyToContexte(false);
+}
+
+void DlgSlideProperties::s_BlockSettings_TextAnimScrollXReset() {
+ s_BlockSettings_TextAnimScrollX(0);
+}
+
+//========= Text scrolling Y
+void DlgSlideProperties::s_BlockSettings_TextAnimScrollY(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_TextAnimScrollY");
+
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_TEXTANIMSCROLLY,ui->ScrollYED,false);
+ CurrentCompoObject->TxtScrollY=Value;
+ ui->ScrollYSlider->setValue(CurrentCompoObject->TxtScrollY);
+ ui->ScrollYED->setValue(CurrentCompoObject->TxtScrollY);
+ ApplyToContexte(false);
+}
+
+void DlgSlideProperties::s_BlockSettings_TextAnimScrollYReset() {
+ s_BlockSettings_TextAnimScrollY(0);
+}
+
+//====================================================================================================================
+// Handler for block animation
+//====================================================================================================================
+
+void DlgSlideProperties::s_BlockSettings_BlockAnimType(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_BlockAnimType");
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_BLOCKANIMTYPE,ui->BlockAnimCB,false);
+ CurrentCompoObject->BlockAnimType=Value;
+ ApplyToContexte(false);
+}
+
+//========= Multiple block turn X value
+void DlgSlideProperties::s_BlockSettings_BlockAnimTurnXValue(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_BlockAnimTurnXValue");
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_BLOCKANIMTURNX,ui->TurnXED,false);
+ CurrentCompoObject->TurnXAxis=Value;
+ ApplyToContexte(false);
+}
+
+void DlgSlideProperties::s_BlockSettings_BlockAnimTurnXReset() {
+ s_BlockSettings_BlockAnimTurnXValue(0);
+}
+
+//========= Multiple block turn Z value
+void DlgSlideProperties::s_BlockSettings_BlockAnimTurnZValue(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_BlockAnimTurnZValue");
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_BLOCKANIMTURNZ,ui->TurnZED,false);
+ CurrentCompoObject->TurnZAxis=Value;
+ ApplyToContexte(false);
+}
+
+void DlgSlideProperties::s_BlockSettings_BlockAnimTurnZReset() {
+ s_BlockSettings_BlockAnimTurnZValue(0);
+}
+
+//========= Multiple block turn Y value
+void DlgSlideProperties::s_BlockSettings_BlockAnimTurnYValue(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_BlockAnimTurnYValue");
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_BLOCKANIMTURNY,ui->TurnYED,false);
+ CurrentCompoObject->TurnYAxis=Value;
+ ApplyToContexte(false);
+}
+
+void DlgSlideProperties::s_BlockSettings_BlockAnimTurnYReset() {
+ s_BlockSettings_BlockAnimTurnYValue(0);
+}
+
+//========= Dissolve animation
+void DlgSlideProperties::s_BlockSettings_BlockAnimDissolveType(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_BlockAnimDissolveType");
+
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_EDITZONE_BLOCKANIMDISSOLVE,ui->DissolveCB,false);
+ CurrentCompoObject->Dissolve=Value;
+ ApplyToContexte(false);
+}
+
+//====================================================================================================================
+// Handler for interactive zone
+//====================================================================================================================
+
+void DlgSlideProperties::s_BlockSettings_IntZoneTransformBlocks(double Move_X,double Move_Y,double Scale_X,double Scale_Y,double Sel_X,double Sel_Y,double Sel_W,double Sel_H) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_IntZoneTransformBlocks");
+ AppendPartialUndo(UNDOACTION_INTERACTIVEMOVERESIZE,ui->InteractiveZone,true);
+
+ for (int i=0;i<IsSelected.count();i++) if ((IsSelected[i])&&(CompositionList->List[i]->IsVisible)) {
+ CompositionList->List[i]->x=CompositionList->List[i]->x+Move_X-(CompositionList->List[i]->x-Sel_X)+(Sel_W!=0?((CompositionList->List[i]->x-Sel_X)/Sel_W)*(Sel_W+Scale_X):0);
+ CompositionList->List[i]->y=CompositionList->List[i]->y+Move_Y-(CompositionList->List[i]->y-Sel_Y)+(Sel_H!=0?((CompositionList->List[i]->y-Sel_Y)/Sel_H)*(Sel_H+Scale_Y):0);
+ CompositionList->List[i]->w=Sel_W!=0?(CompositionList->List[i]->w/Sel_W)*(Sel_W+Scale_X):0; if (CompositionList->List[i]->w<0.002) CompositionList->List[i]->w=0.002;
+ if (CompositionList->List[i]->BackgroundBrush->LockGeometry) CompositionList->List[i]->h=((CompositionList->List[i]->w*DisplayW)*CompositionList->List[i]->BackgroundBrush->AspectRatio)/DisplayH;
+ else CompositionList->List[i]->h=Sel_H!=0?(CompositionList->List[i]->h/Sel_H)*(Sel_H+Scale_Y):0; if (CompositionList->List[i]->h<0.002) CompositionList->List[i]->h=0.002;
+ }
+ ApplyToContexte(false);
+}
+
+void DlgSlideProperties::s_BlockSettings_IntZoneDisplayTransformBlocks(double Move_X,double Move_Y,double Scale_X,double Scale_Y,double Sel_X,double Sel_Y,double Sel_W,double Sel_H) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockSettings_IntZoneDisplayTransformBlocks");
+
+ InRefreshControls=true;
+ int i=CurrentCompoObjectNbr;
+ double x=CompositionList->List[i]->x+Move_X-(CompositionList->List[i]->x-Sel_X)+(Sel_W!=0?((CompositionList->List[i]->x-Sel_X)/Sel_W)*(Sel_W+Scale_X):0);
+ double y=CompositionList->List[i]->y+Move_Y-(CompositionList->List[i]->y-Sel_Y)+(Sel_H!=0?((CompositionList->List[i]->y-Sel_Y)/Sel_H)*(Sel_H+Scale_Y):0);
+ double w=(Sel_W!=0?(CompositionList->List[i]->w/Sel_W)*(Sel_W+Scale_X):Scale_X); if (w<0.002) w=0.002;
+ double h;
+ if (CompositionList->List[i]->BackgroundBrush->LockGeometry) h=((w*DisplayW)*CompositionList->List[i]->BackgroundBrush->AspectRatio)/DisplayH; else {
+ h=(Sel_H!=0?(CompositionList->List[i]->h/Sel_H)*(Sel_H+Scale_Y):Scale_Y);
+ if (h<0.002) h=0.002;
+ }
+ if (CurrentSlide->Parent->ApplicationConfig->DisplayUnit==DISPLAYUNIT_PERCENT) {
+ ui->PosXEd-> setValue(x*100);
+ ui->PosYEd-> setValue(y*100);
+ ui->WidthEd-> setValue(w*100);
+ ui->HeightEd->setValue(h*100);
+ } else { // DisplayUnit==DISPLAYUNIT_PIXELS
+ ui->PosXEd-> setValue(x*DisplayW);
+ ui->PosYEd-> setValue(y*DisplayH);
+ ui->WidthEd-> setValue(w*DisplayW);
+ ui->HeightEd->setValue(h*DisplayH);
+ }
+ InRefreshControls=false;
+}
+
+//====================================================================================================================
+// Handler for style sheet management
+//====================================================================================================================
+
+void DlgSlideProperties::s_CoordinateStyleBT() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_CoordinateStyleBT");
+
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_STYLE_COORDINATES,ui->InteractiveZone,false);
+
+ // Define StyleCoordinateCollection filter
+ if (CurrentCompoObject->BackgroundBrush->Image!=NULL) ((cApplicationConfig *)BaseApplicationConfig)->StyleCoordinateCollection.SetImageGeometryFilter(CurrentSlide->Parent->ImageGeometry,CurrentCompoObject->BackgroundBrush->Image->ObjectGeometry);
+ else if (CurrentCompoObject->BackgroundBrush->Video!=NULL) ((cApplicationConfig *)BaseApplicationConfig)->StyleCoordinateCollection.SetImageGeometryFilter(CurrentSlide->Parent->ImageGeometry,CurrentCompoObject->BackgroundBrush->Video->ObjectGeometry);
+ else ((cApplicationConfig *)BaseApplicationConfig)->StyleCoordinateCollection.SetProjectGeometryFilter(CurrentSlide->Parent->ImageGeometry);
+
+ // Get Actual style definition
+ QString ActualStyle=CurrentCompoObject->GetCoordinateStyle();
+
+ // Open popup menu
+ QString Item=((cApplicationConfig *)BaseApplicationConfig)->StyleCoordinateCollection.PopupCollectionMenu(this,BaseApplicationConfig,ActualStyle);
+ ui->CoordinateStyleBT->setDown(false);
+ if (Item!="") {
+ CurrentCompoObject->ApplyCoordinateStyle(((cApplicationConfig *)BaseApplicationConfig)->StyleCoordinateCollection.GetStyleDef(Item));
+ // Refresh block table
+ RefreshBlockTable(CurrentCompoObjectNbr);
+ }
+ RefreshStyleControls();
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::s_BlockShapeStyleBT() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockShapeStyleBT");
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_STYLE_SHAPE,ui->InteractiveZone,false);
+ QString ActualStyle =CurrentCompoObject->GetBlockShapeStyle();
+ QString Item =((cApplicationConfig *)BaseApplicationConfig)->StyleBlockShapeCollection.PopupCollectionMenu(this,BaseApplicationConfig,ActualStyle);
+ ui->BlockShapeStyleBT->setDown(false);
+ if (Item!="") {
+ CurrentCompoObject->ApplyBlockShapeStyle(((cApplicationConfig *)BaseApplicationConfig)->StyleBlockShapeCollection.GetStyleDef(Item));
+ RefreshBlockTable(CurrentCompoObjectNbr);
+ }
+ RefreshStyleControls();
+}
+
+//====================================================================================================================
+
+void DlgSlideProperties::s_ChangeFramingStyle(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ChangeFramingStyle");
+
+ if (StopMajFramingStyle) return;
+ if ((InRefreshControls)||(BlockSelectMode!=SELECTMODE_ONE)||(!CurrentCompoObject)||(!CurrentCompoObject->IsVisible)) return;
+ AppendPartialUndo(UNDOACTION_STYLE_FRAMING,ui->InteractiveZone,false);
+
+ cBrushDefinition *CurrentBrush=CurrentCompoObject->BackgroundBrush;
+
+ if ((CurrentBrush->Image==NULL)&&(CurrentBrush->Video==NULL)) {
+ // It's a text block
+ switch (Value) {
+ case 0: // Unlock
+ CurrentBrush->LockGeometry=false;
+ break;
+ case 1: // Lock to this geometry
+ CurrentBrush->LockGeometry=true;
+ CurrentBrush->AspectRatio=(CurrentCompoObject->h*DisplayH)/(CurrentCompoObject->w*DisplayW);
+ break;
+ case 2: // Lock to project geometry
+ CurrentBrush->LockGeometry=true;
+ CurrentBrush->AspectRatio=ProjectGeometry;
+ break;
+ default:
+ return;
+ }
+ if (CurrentCompoObject->h>(CurrentCompoObject->w*DisplayW*CurrentBrush->AspectRatio)/DisplayH) CurrentCompoObject->h=(CurrentCompoObject->w*DisplayW*CurrentBrush->AspectRatio)/DisplayH;
+ else CurrentCompoObject->w=(CurrentCompoObject->h*DisplayH/CurrentBrush->AspectRatio)/DisplayW;
+ } else {
+ // It's an image or video block
+ int i;
+ QStringList List;
+
+ switch (Value) {
+ case 0: // Adjust to width
+ ((cApplicationConfig *)BaseApplicationConfig)->StyleImageFramingCollection.StringDefToStringList(CurrentBrush->DefaultFramingW,List);
+ break;
+ case 1: // Adjust to heigth
+ ((cApplicationConfig *)BaseApplicationConfig)->StyleImageFramingCollection.StringDefToStringList(CurrentBrush->DefaultFramingH,List);
+ break;
+ case 2: // Adjust to full
+ ((cApplicationConfig *)BaseApplicationConfig)->StyleImageFramingCollection.StringDefToStringList(CurrentBrush->DefaultFramingF,List);
+ break;
+ case 3: // None
+ break;
+ default:
+ ((cApplicationConfig *)BaseApplicationConfig)->StyleImageFramingCollection.StringToStringList(ui->FramingStyleCB->itemText(Value),List);
+ break;
+ }
+ if (List.count()>0) {
+ for (i=0;i<List.count();i++) {
+ if (List[i].startsWith("X:")) CurrentBrush->X =List[i].mid(QString("X:").length()).toDouble();
+ else if (List[i].startsWith("Y:")) CurrentBrush->Y =List[i].mid(QString("Y:").length()).toDouble();
+ else if (List[i].startsWith("ZoomFactor:")) CurrentBrush->ZoomFactor =List[i].mid(QString("ZoomFactor:").length()).toDouble();
+ else if (List[i].startsWith("LockGeometry:")) CurrentBrush->LockGeometry =List[i].mid(QString("LockGeometry:").length()).toInt()==1;
+ else if (List[i].startsWith("AspectRatio:")) CurrentBrush->AspectRatio =List[i].mid(QString("AspectRatio:").length()).toDouble();
+ }
+ CurrentBrush->AspectRatio=CurrentBrush->AspectRatio;
+ if (CurrentCompoObject->h>(CurrentCompoObject->w*DisplayW*CurrentBrush->AspectRatio)/DisplayH) CurrentCompoObject->h=(CurrentCompoObject->w*DisplayW*CurrentBrush->AspectRatio)/DisplayH;
+ else CurrentCompoObject->w=(CurrentCompoObject->h*DisplayH/CurrentBrush->AspectRatio)/DisplayW;
+ }
+
+ }
+ int CurrentRow=ui->BlockTable->currentRow();
+ RefreshBlockTable(CurrentRow>0?CurrentRow:0);
+}
diff --git a/src/ffDiaporama/DlgSlide/DlgSlideProperties.h b/src/ffDiaporama/DlgSlide/DlgSlideProperties.h
new file mode 100755
index 0000000..04f6cc1
--- /dev/null
+++ b/src/ffDiaporama/DlgSlide/DlgSlideProperties.h
@@ -0,0 +1,230 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef DLGSLIDEPROPERTIES_H
+#define DLGSLIDEPROPERTIES_H
+
+// Basic inclusions (common to all files)
+#include "../../engine/_GlobalDefines.h"
+#include "../../engine/_QCustomDialog.h"
+
+// Specific inclusions
+#include "../_Diaporama.h"
+#include "../_ApplicationDefinitions.h"
+
+namespace Ui {
+ class DlgSlideProperties;
+}
+
+class DlgSlideProperties : public QCustomDialog {
+Q_OBJECT
+public:
+ double DisplayW,DisplayH;
+ cDiaporamaObject *CurrentSlide; // Current slide
+
+ SELECTMODE ShotSelectMode; // Current shot selection mode
+ cDiaporamaShot *CurrentShot; // Current shot (if selection mode = SELECTMODE_ONE)
+ int CurrentShotNbr; // Current shot number (if selection mode = SELECTMODE_ONE)
+
+ cCompositionList *CompositionList; // Link to current block List
+ QList<bool> IsSelected; // Table of selection state in the current block list
+ int NbrSelected; // Number of selected blocks
+ SELECTMODE BlockSelectMode; // Current block selection mode
+ bool SelectionHaveLockBlock; // If true, selection have at least one locked block
+ cCompositionObject *CurrentCompoObject; // Current block object (if selection mode = SELECTMODE_ONE)
+ int CurrentCompoObjectNbr; // Number of Current block object (if selection mode = SELECTMODE_ONE)
+
+ double ProjectGeometry;
+
+ QString FramingStyleLabelPixmap;
+
+ // Re-entrence flags
+ bool InRefreshStyleControls;
+ bool InRefreshControls;
+ bool InSelectionChange;
+ bool StopMajFramingStyle;
+ bool InDisplayDuration;
+ bool NoPrepUndo;
+
+ explicit DlgSlideProperties(cDiaporamaObject *DiaporamaObject,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent = 0);
+ ~DlgSlideProperties();
+
+ // function to be overloaded
+ virtual void DoInitDialog(); // Initialise dialog
+ virtual void DoAccept() {/*Nothing to do*/} // Call when user click on Ok button
+ virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button
+ virtual void PrepareGlobalUndo(); // Initiale Undo
+ virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button
+ virtual void SaveWindowState();
+ virtual void RestoreWindowState();
+
+ void RefreshStyleControls();
+ void RefreshControls(bool UpdateInteractiveZone=true);
+ void AdjustApectRatio(cBrushDefinition *CurrentBrush,cCompositionObject *CurrentTextItem);
+ void s_Scene_DoubleClick(); // User double click on a block in the scene widget
+
+ // Utility functions
+ cCompositionObject *GetSelectedCompositionObject(); // Return selected CompositionObject
+ cCompositionObject *GetGlobalCompositionObject(int IndexKey); // Return CompositionObject in the global composition list for specific IndexKey
+ cCompositionObject *GetSelectedGlobalCompositionObject(); // Return selected CompositionObject in the global composition list
+ void ApplyGlobalPropertiesToAllShots(cCompositionObject *GlobalBlock);
+ void CopyBlockProperties(cCompositionObject *SourceBlock,cCompositionObject *DestBlock);
+
+ void ApplyToContexte(bool ApplyGlobal);
+
+ virtual void PreparePartialUndo(int ActionType,QDomElement root);
+ virtual void ApplyPartialUndo(int ActionType,QDomElement root);
+
+protected:
+ virtual void resizeEvent(QResizeEvent *);
+ virtual void showEvent(QShowEvent *);
+ virtual void keyReleaseEvent(QKeyEvent *event);
+
+signals:
+ void SetModifyFlag();
+
+private slots:
+ void s_Event_ClipboardChanged();
+ void s_RefreshSceneImage();
+ void s_TVMarginsBt();
+
+ void OKPrevious();
+ void OKNext();
+
+ // Slide settings
+ void s_SlideSet_SlideNameChange(QString NewText);
+ void s_SlideSet_NewChapter(int state);
+
+ // Shot table & settings
+ void s_ShotTable_SelectionChanged(); // User select a shot in the ShotTable widget
+ void s_ShotTable_AddShot();
+ void s_ShotTable_RemoveShot();
+ void s_ShotTable_DragMoveItem();
+ void s_ShotTable_MoveLeft();
+ void s_ShotTable_MoveRight();
+ void s_ShotTable_DurationChange(QTime NewValue);
+ void s_ShotTable_RightClickEvent(QMouseEvent *);
+
+ // Block table
+ void s_Scene_SelectionChanged(); // User select a block in the scene widget
+ void s_BlockTable_SelectionChanged(); // User select a block in the BlocTable widget
+ void s_BlockTable_StartSelectionChange();
+ void s_BlockTable_EndSelectionChange();
+ void s_BlockTable_ItemDoubleClicked(QMouseEvent *);
+ void s_BlockTable_ItemRightClicked(QMouseEvent *);
+ void s_BlockTable_DragDropFiles(QList<QUrl> UrlList);
+ void s_BlockTable_AddNewTextBlock();
+ void s_BlockTable_AddNewFileBlock();
+ void s_BlockTable_RemoveBlock();
+ void s_BlockTable_Copy();
+ void s_BlockTable_Cut();
+ void s_BlockTable_Paste();
+ void s_BlockTable_MoveBlockUp();
+ void s_BlockTable_MoveBlockDown();
+ void s_BlockTable_DragMoveBlock(int,int);
+
+ // Block settings : Call of other dialog
+ void s_BlockSettings_Arrange();
+ void s_BlockSettings_Edit();
+ void s_BlockSettings_TextEditor();
+ void s_BlockSettings_ImageEditCorrect();
+ void s_BlockSettings_VideoEdit();
+ void s_BlockSettings_Information();
+
+ // Block settings : Basic values
+ void s_BlockSettings_ToggleVisibleState();
+ void s_BlockSettings_ToggleSameAsPreviousShot();
+ void s_BlockSettings_GetSound();
+
+ // Block settings : Coordinates
+ void s_BlockSettings_PosXValue(double);
+ void s_BlockSettings_PosYValue(double);
+ void s_BlockSettings_PosWidthValue(double);
+ void s_BlockSettings_PosHeightValue(double);
+
+ // Block settings : Rotations
+ void s_BlockSettings_RotateZValue(int);
+ void s_BlockSettings_ResetRotateZValue();
+ void s_BlockSettings_RotateXValue(int);
+ void s_BlockSettings_ResetRotateXValue();
+ void s_BlockSettings_RotateYValue(int);
+ void s_BlockSettings_ResetRotateYValue();
+
+ // Block settings : Shape
+ void s_BlockSettings_ShapeBackgroundForm(int);
+ void s_BlockSettings_ShapeOpacity(int);
+ void s_BlockSettings_ShapeShadowFormValue(int);
+ void s_BlockSettings_ShapeShadowDistanceValue(int);
+ void s_BlockSettings_ShapePenSize(int);
+ void s_BlockSettings_ShapePenColor(int);
+ void s_BlockSettings_ShapePenStyle(int);
+ void s_BlockSettings_ShapeShadowColor(int);
+
+ // Block settings : Style
+ void s_ChangeFramingStyle(int);
+ void s_CoordinateStyleBT();
+ void s_BlockShapeStyleBT();
+
+ // Block settings : Alignment
+ void s_BlockTable_AlignTop();
+ void s_BlockTable_AlignMiddle();
+ void s_BlockTable_AlignBottom();
+ void s_BlockTable_AlignLeft();
+ void s_BlockTable_AlignCenter();
+ void s_BlockTable_AlignRight();
+
+ // Block settings : Text animation
+ void s_BlockSettings_TextAnimZoom(int);
+ void s_BlockSettings_TextAnimZoomReset();
+ void s_BlockSettings_TextAnimScrollX(int);
+ void s_BlockSettings_TextAnimScrollXReset();
+ void s_BlockSettings_TextAnimScrollY(int);
+ void s_BlockSettings_TextAnimScrollYReset();
+
+ // Block settings : Block animation
+ void s_BlockSettings_BlockAnimType(int);
+
+ // Block settings/Block animation : Multiple turn animation
+ void s_BlockSettings_BlockAnimTurnZValue(int);
+ void s_BlockSettings_BlockAnimTurnZReset();
+ void s_BlockSettings_BlockAnimTurnXValue(int);
+ void s_BlockSettings_BlockAnimTurnXReset();
+ void s_BlockSettings_BlockAnimTurnYValue(int);
+ void s_BlockSettings_BlockAnimTurnYReset();
+
+ // Block settings/Block animation : Dissolve animation
+ void s_BlockSettings_BlockAnimDissolveType(int);
+
+ // Block settings/Interactive zone messages
+ void s_BlockSettings_IntZoneTransformBlocks(double DeltaX,double DeltaY,double ScaleX,double ScaleY,double Sel_X,double Sel_Y,double Sel_W,double Sel_H);
+ void s_BlockSettings_IntZoneDisplayTransformBlocks(double DeltaX,double DeltaY,double ScaleX,double ScaleY,double Sel_X,double Sel_Y,double Sel_W,double Sel_H);
+
+private:
+ void MakeFormIcon(QComboBox *UICB);
+ void MakeBorderStyleIcon(QComboBox *UICB);
+
+ void s_ShotTable_DisplayDuration();
+ void RefreshBlockTable(int SetCurrentIndex);
+ void s_BlockTable_AddFilesBlock(QStringList FileList,int PositionToInsert);
+
+ Ui::DlgSlideProperties *ui;
+};
+
+#endif // DLGSLIDEPROPERTIES_H
diff --git a/src/ffDiaporama/DlgSlide/DlgSlideProperties.ui b/src/ffDiaporama/DlgSlide/DlgSlideProperties.ui
new file mode 100755
index 0000000..82387eb
--- /dev/null
+++ b/src/ffDiaporama/DlgSlide/DlgSlideProperties.ui
@@ -0,0 +1,3669 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DlgSlideProperties</class>
+ <widget class="QDialog" name="DlgSlideProperties">
+ <property name="windowModality">
+ <enum>Qt::WindowModal</enum>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>700</width>
+ <height>500</height>
+ </rect>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>700</width>
+ <height>500</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="windowTitle">
+ <string>Slide properties</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>8</number>
+ </property>
+ <item>
+ <widget class="QWidget" name="TopLayout" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>56</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>56</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">QToolButton {
+ background-color: transparent;
+ border: none;
+}
+QToolButton:hover{
+ border: 2px solid #8f8f91;
+ border-radius: 6px;
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
+ stop: 0 #f6f7fa, stop: 1 #dadbde);
+}
+QToolButton:pressed {
+ border: 2px solid #8f8f91;
+ border-radius: 6px;
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
+ stop: 0 #f6f7fa, stop: 1 #dadbde);
+ }
+</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_18">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QToolButton" name="AddShot">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>56</width>
+ <height>56</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>56</width>
+ <height>56</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Append a shot to end of the timeline</string>
+ </property>
+ <property name="text">
+ <string>Add
+shot</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/add_project.png</normaloff>:/img/add_project.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolButtonStyle">
+ <enum>Qt::ToolButtonTextUnderIcon</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="RemoveShot">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>56</width>
+ <height>56</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>56</width>
+ <height>56</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Remove current selected shot</string>
+ </property>
+ <property name="text">
+ <string>Remove
+shot</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/trash.png</normaloff>:/img/trash.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolButtonStyle">
+ <enum>Qt::ToolButtonTextUnderIcon</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="Line" name="line_5">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="AddTextBlock">
+ <property name="minimumSize">
+ <size>
+ <width>56</width>
+ <height>56</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>56</width>
+ <height>56</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Add a new text block</string>
+ </property>
+ <property name="text">
+ <string>Add
+text</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/add_text.png</normaloff>:/img/add_text.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+Ins</string>
+ </property>
+ <property name="toolButtonStyle">
+ <enum>Qt::ToolButtonTextUnderIcon</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="AddFileBlock">
+ <property name="minimumSize">
+ <size>
+ <width>56</width>
+ <height>56</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>56</width>
+ <height>56</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Add a new block of type image or video.</string>
+ </property>
+ <property name="text">
+ <string>Add
+file</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/add_image.png</normaloff>:/img/add_image.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="shortcut">
+ <string>Ins</string>
+ </property>
+ <property name="toolButtonStyle">
+ <enum>Qt::ToolButtonTextUnderIcon</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="EditBT">
+ <property name="minimumSize">
+ <size>
+ <width>56</width>
+ <height>56</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>56</width>
+ <height>56</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Edit block</string>
+ </property>
+ <property name="text">
+ <string>Edit
+block</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/edit.png</normaloff>:/img/edit.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolButtonStyle">
+ <enum>Qt::ToolButtonTextUnderIcon</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="ArrangeBT">
+ <property name="minimumSize">
+ <size>
+ <width>56</width>
+ <height>56</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>56</width>
+ <height>56</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Arrange blocks</string>
+ </property>
+ <property name="text">
+ <string>Arrange
+block</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/arrange.png</normaloff>:/img/arrange.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolButtonStyle">
+ <enum>Qt::ToolButtonTextUnderIcon</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="InfoBlock">
+ <property name="minimumSize">
+ <size>
+ <width>56</width>
+ <height>56</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>56</width>
+ <height>56</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Remove</string>
+ </property>
+ <property name="text">
+ <string>Block
+information</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Action_Info.png</normaloff>:/img/Action_Info.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolButtonStyle">
+ <enum>Qt::ToolButtonTextUnderIcon</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_6">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="SlideLayout">
+ <property name="frameShape">
+ <enum>QFrame::Panel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Sunken</enum>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_12">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_28">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="text">
+ <string>Slide :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="SlideNameED">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Indicate a name for the slide. It is this name which will appear on the thumbnail in the main window timeline.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="NewChapterCB">
+ <property name="toolTip">
+ <string>Start a new chapter from this slide</string>
+ </property>
+ <property name="text">
+ <string>Start chapter from here</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="Line" name="line_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_29">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Total duration :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="SlideDurationLabel">
+ <property name="text">
+ <string notr="true">00:00:00.000</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <layout class="QVBoxLayout" name="LeftLayout">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="cCustomShotTable" name="ShotTable">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>80</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>80</height>
+ </size>
+ </property>
+ <property name="verticalScrollBarPolicy">
+ <enum>Qt::ScrollBarAlwaysOff</enum>
+ </property>
+ <property name="horizontalScrollBarPolicy">
+ <enum>Qt::ScrollBarAlwaysOn</enum>
+ </property>
+ <property name="editTriggers">
+ <set>QAbstractItemView::NoEditTriggers</set>
+ </property>
+ <property name="tabKeyNavigation">
+ <bool>true</bool>
+ </property>
+ <property name="showDropIndicator" stdset="0">
+ <bool>false</bool>
+ </property>
+ <property name="dragDropOverwriteMode">
+ <bool>false</bool>
+ </property>
+ <property name="dragDropMode">
+ <enum>QAbstractItemView::InternalMove</enum>
+ </property>
+ <property name="defaultDropAction">
+ <enum>Qt::LinkAction</enum>
+ </property>
+ <property name="selectionMode">
+ <enum>QAbstractItemView::SingleSelection</enum>
+ </property>
+ <property name="selectionBehavior">
+ <enum>QAbstractItemView::SelectColumns</enum>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ <property name="cornerButtonEnabled">
+ <bool>false</bool>
+ </property>
+ <property name="columnCount">
+ <number>0</number>
+ </property>
+ <attribute name="horizontalHeaderVisible">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="horizontalHeaderStretchLastSection">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="verticalHeaderVisible">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="verticalHeaderStretchLastSection">
+ <bool>true</bool>
+ </attribute>
+ <row>
+ <property name="text">
+ <string notr="true">Sequence</string>
+ </property>
+ </row>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFrame" name="FrameShot">
+ <property name="frameShape">
+ <enum>QFrame::Panel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Sunken</enum>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_17">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_15">
+ <property name="text">
+ <string>Shot duration :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTimeEdit" name="ShotDurationED">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Indicate the duration for the current selected shot.</string>
+ </property>
+ <property name="maximumDateTime">
+ <datetime>
+ <hour>11</hour>
+ <minute>59</minute>
+ <second>59</second>
+ <year>2000</year>
+ <month>1</month>
+ <day>1</day>
+ </datetime>
+ </property>
+ <property name="maximumTime">
+ <time>
+ <hour>11</hour>
+ <minute>59</minute>
+ <second>59</second>
+ </time>
+ </property>
+ <property name="currentSection">
+ <enum>QDateTimeEdit::HourSection</enum>
+ </property>
+ <property name="displayFormat">
+ <string>HH:mm:ss.zzz</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="MinShotDurationLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>9</pointsize>
+ <weight>50</weight>
+ <italic>true</italic>
+ <bold>false</bold>
+ </font>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">QLabel {
+ color:rgb(255, 0, 0);
+ font: italic 9pt "Sans Serif";
+}</string>
+ </property>
+ <property name="text">
+ <string notr="true">00:00:00.000</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="cInteractiveZone" name="InteractiveZone" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QWidget" name="RightLayout" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QSplitter" name="SplitterTop">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <widget class="QWidget" name="widget_2" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="cCustomBlockTable" name="BlockTable">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>300</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="acceptDrops">
+ <bool>true</bool>
+ </property>
+ <property name="lineWidth">
+ <number>1</number>
+ </property>
+ <property name="midLineWidth">
+ <number>1</number>
+ </property>
+ <property name="verticalScrollBarPolicy">
+ <enum>Qt::ScrollBarAlwaysOn</enum>
+ </property>
+ <property name="horizontalScrollBarPolicy">
+ <enum>Qt::ScrollBarAlwaysOff</enum>
+ </property>
+ <property name="editTriggers">
+ <set>QAbstractItemView::NoEditTriggers</set>
+ </property>
+ <property name="showDropIndicator" stdset="0">
+ <bool>true</bool>
+ </property>
+ <property name="dragEnabled">
+ <bool>true</bool>
+ </property>
+ <property name="dragDropOverwriteMode">
+ <bool>false</bool>
+ </property>
+ <property name="dragDropMode">
+ <enum>QAbstractItemView::DropOnly</enum>
+ </property>
+ <property name="defaultDropAction">
+ <enum>Qt::LinkAction</enum>
+ </property>
+ <property name="selectionMode">
+ <enum>QAbstractItemView::ExtendedSelection</enum>
+ </property>
+ <property name="selectionBehavior">
+ <enum>QAbstractItemView::SelectRows</enum>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ <property name="cornerButtonEnabled">
+ <bool>false</bool>
+ </property>
+ <attribute name="horizontalHeaderVisible">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="horizontalHeaderStretchLastSection">
+ <bool>true</bool>
+ </attribute>
+ <attribute name="verticalHeaderVisible">
+ <bool>false</bool>
+ </attribute>
+ <column>
+ <property name="text">
+ <string notr="true">Icon</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string notr="true">Sound</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string notr="true">Type</string>
+ </property>
+ </column>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QScrollArea" name="scrollArea">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Sunken</enum>
+ </property>
+ <property name="lineWidth">
+ <number>1</number>
+ </property>
+ <property name="midLineWidth">
+ <number>1</number>
+ </property>
+ <property name="verticalScrollBarPolicy">
+ <enum>Qt::ScrollBarAlwaysOn</enum>
+ </property>
+ <property name="horizontalScrollBarPolicy">
+ <enum>Qt::ScrollBarAlwaysOff</enum>
+ </property>
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>282</width>
+ <height>693</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>2</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item row="9" column="0">
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QToolButton" name="CoordinateStyleBT">
+ <property name="minimumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/db_menu.png</normaloff>:/img/db_menu.png</iconset>
+ </property>
+ <property name="arrowType">
+ <enum>Qt::NoArrow</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="9" column="1">
+ <widget class="QLabel" name="CoordinateStyleED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>175</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>175</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true">StyleName</string>
+ </property>
+ </widget>
+ </item>
+ <item row="10" column="0">
+ <widget class="QLabel" name="FramingStyleLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/Geometry.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="10" column="1">
+ <widget class="QComboBox" name="FramingStyleCB">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="11" column="0">
+ <widget class="QLabel" name="PosSize_X">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/PosSize_X.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="11" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_16">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QDoubleSpinBox" name="PosXEd">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>75</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>75</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Define X position of current block</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="suffix">
+ <string notr="true">%</string>
+ </property>
+ <property name="maximum">
+ <double>100.000000000000000</double>
+ </property>
+ <property name="value">
+ <double>100.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="PosSize_Y">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/PosSize_Y.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDoubleSpinBox" name="PosYEd">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>75</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>75</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Define Y position of current block</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="suffix">
+ <string notr="true">%</string>
+ </property>
+ <property name="maximum">
+ <double>100.000000000000000</double>
+ </property>
+ <property name="value">
+ <double>100.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="12" column="0">
+ <widget class="QLabel" name="PosSize_Width">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/PosSize_Width.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="12" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QDoubleSpinBox" name="WidthEd">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>75</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>75</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Define width of current block</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="suffix">
+ <string notr="true">%</string>
+ </property>
+ <property name="maximum">
+ <double>100.000000000000000</double>
+ </property>
+ <property name="value">
+ <double>100.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="PosSize_Height">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/PosSize_Height.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDoubleSpinBox" name="HeightEd">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>75</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>75</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Define height of current block</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="suffix">
+ <string notr="true">%</string>
+ </property>
+ <property name="maximum">
+ <double>100.000000000000000</double>
+ </property>
+ <property name="value">
+ <double>100.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="13" column="0">
+ <widget class="QLabel" name="Rotate_X">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/RotateZ.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="13" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_20">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QSlider" name="RotateZSLD">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Define rotation according to the Z axis (defined in degree).</string>
+ </property>
+ <property name="minimum">
+ <number>-180</number>
+ </property>
+ <property name="maximum">
+ <number>180</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="RotateZED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>50</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Define rotation according to the Z axis (defined in degree).</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="minimum">
+ <number>-180</number>
+ </property>
+ <property name="maximum">
+ <number>180</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="ResetRotateZBT">
+ <property name="toolTip">
+ <string>Reset to 0</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="15" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_21">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QSlider" name="RotateXSLD">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Define rotation according to the Y axis (defined in degree).</string>
+ </property>
+ <property name="minimum">
+ <number>-180</number>
+ </property>
+ <property name="maximum">
+ <number>180</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="RotateXED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>50</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Define rotation according to the Y axis (defined in degree).</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="minimum">
+ <number>-180</number>
+ </property>
+ <property name="maximum">
+ <number>180</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="ResetRotateXBT">
+ <property name="toolTip">
+ <string>Reset to 0</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="16" column="0">
+ <widget class="QLabel" name="Rotate_Z">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/RotateX.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="16" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_22">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QSlider" name="RotateYSLD">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Define rotation according to the X axis (defined in degree).</string>
+ </property>
+ <property name="minimum">
+ <number>-180</number>
+ </property>
+ <property name="maximum">
+ <number>180</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="RotateYED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>50</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Define rotation according to the X axis (defined in degree).</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="minimum">
+ <number>-180</number>
+ </property>
+ <property name="maximum">
+ <number>180</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="ResetRotateYBT">
+ <property name="toolTip">
+ <string>Reset to 0</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="17" column="0" colspan="2">
+ <widget class="QLabel" name="label_9">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <weight>50</weight>
+ <italic>true</italic>
+ <bold>false</bold>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Block shape :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="19" column="0">
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <spacer name="horizontalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QToolButton" name="BlockShapeStyleBT">
+ <property name="minimumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/db_menu.png</normaloff>:/img/db_menu.png</iconset>
+ </property>
+ <property name="arrowType">
+ <enum>Qt::NoArrow</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="19" column="1">
+ <widget class="QLabel" name="BlockShapeStyleED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>175</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>175</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true">StyleName</string>
+ </property>
+ </widget>
+ </item>
+ <item row="22" column="0">
+ <widget class="QLabel" name="label_20">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Shape :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="22" column="1">
+ <widget class="QComboBox" name="BackgroundFormCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Select a shape for current block</string>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">QComboBox QAbstractItemView {
+background: #ffffff;
+color: #000000;
+}</string>
+ </property>
+ <property name="editable">
+ <bool>false</bool>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>12</width>
+ <height>12</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="23" column="0">
+ <widget class="QLabel" name="label_21">
+ <property name="text">
+ <string>Opacity :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="23" column="1">
+ <widget class="QComboBox" name="OpacityCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>64</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>64</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Defined the opaqueness of the block.</string>
+ </property>
+ </widget>
+ </item>
+ <item row="24" column="0">
+ <widget class="QLabel" name="label_14">
+ <property name="text">
+ <string>Border :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="24" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_6">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QSpinBox" name="PenSizeEd">
+ <property name="minimumSize">
+ <size>
+ <width>60</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>60</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Defined the thickness of the border</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="cCustomColorComboBox" name="PenColorCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Defined the color of the line to be used to draw the border</string>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>64</width>
+ <height>16</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="PenStyleCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Defined the type of line (solid, dotted line, etc.)</string>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">QComboBox QAbstractItemView {
+background: #ffffff;
+color: #000000;
+}</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_19">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="25" column="0">
+ <widget class="QLabel" name="label_13">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <weight>50</weight>
+ <bold>false</bold>
+ <underline>false</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Shadow :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="25" column="1">
+ <widget class="QComboBox" name="ShadowEffectCB">
+ <property name="minimumSize">
+ <size>
+ <width>175</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>175</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Defined in which corner the shadow will be positioned (or no shadow)</string>
+ </property>
+ </widget>
+ </item>
+ <item row="27" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_10">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QSpinBox" name="ShadowEffectED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>60</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>60</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Defined the distance between the block and its shadow</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="cCustomColorComboBox" name="ShadowColorCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Defined the color of the shadow</string>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>64</width>
+ <height>16</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="41" column="1">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="28" column="0" colspan="2">
+ <widget class="QLabel" name="label_12">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <weight>50</weight>
+ <italic>true</italic>
+ <bold>false</bold>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Text animation :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="29" column="0">
+ <widget class="QLabel" name="ZoomLabel">
+ <property name="text">
+ <string>Zoom :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="29" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_7">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QSlider" name="ZoomSlider">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Define a zoom value for the text</string>
+ </property>
+ <property name="minimum">
+ <number>0</number>
+ </property>
+ <property name="maximum">
+ <number>400</number>
+ </property>
+ <property name="value">
+ <number>100</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="ZoomED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>60</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>60</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Define a zoom value for the text</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="suffix">
+ <string notr="true">%</string>
+ </property>
+ <property name="minimum">
+ <number>0</number>
+ </property>
+ <property name="maximum">
+ <number>400</number>
+ </property>
+ <property name="value">
+ <number>100</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="ZoomResetBT">
+ <property name="toolTip">
+ <string>Reset to 100%</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="30" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_8">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QSlider" name="ScrollXSlider">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Scroll text from left to right</string>
+ </property>
+ <property name="minimum">
+ <number>-100</number>
+ </property>
+ <property name="maximum">
+ <number>100</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="ScrollXED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>60</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>60</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Scroll text from left to right</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="suffix">
+ <string notr="true">%</string>
+ </property>
+ <property name="minimum">
+ <number>-100</number>
+ </property>
+ <property name="maximum">
+ <number>100</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="ScrollXResetBT">
+ <property name="toolTip">
+ <string>Reset to 0</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="31" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_11">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QSlider" name="ScrollYSlider">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Scroll text from bottom to up</string>
+ </property>
+ <property name="minimum">
+ <number>-100</number>
+ </property>
+ <property name="maximum">
+ <number>100</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="ScrollYED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>60</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>60</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Scroll text from bottom to up</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="suffix">
+ <string notr="true">%</string>
+ </property>
+ <property name="minimum">
+ <number>-100</number>
+ </property>
+ <property name="maximum">
+ <number>100</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="ScrollYResetBT">
+ <property name="toolTip">
+ <string>Reset to 0</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="35" column="0" colspan="2">
+ <widget class="QLabel" name="label_16">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <weight>50</weight>
+ <italic>true</italic>
+ <bold>false</bold>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Block animation :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="37" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_13">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QSlider" name="TurnZSlider">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Define the number of turn to be made around the Z axis during this shot</string>
+ </property>
+ <property name="minimum">
+ <number>-20</number>
+ </property>
+ <property name="maximum">
+ <number>20</number>
+ </property>
+ <property name="pageStep">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="TurnZED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>50</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Define the number of turn to be made around the Z axis during this shot</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="minimum">
+ <number>-20</number>
+ </property>
+ <property name="maximum">
+ <number>20</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="ResetTurnZBT">
+ <property name="toolTip">
+ <string>Reset to 0</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="38" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_14">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QSlider" name="TurnXSlider">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Define the number of turn to be made around the X axis during this shot</string>
+ </property>
+ <property name="minimum">
+ <number>-20</number>
+ </property>
+ <property name="maximum">
+ <number>20</number>
+ </property>
+ <property name="pageStep">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="TurnXED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>50</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Define the number of turn to be made around the X axis during this shot</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="minimum">
+ <number>-20</number>
+ </property>
+ <property name="maximum">
+ <number>20</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="ResetTurnXBT">
+ <property name="toolTip">
+ <string>Reset to 0</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="39" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_15">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QSlider" name="TurnYSlider">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Define the number of turn to be made around the Y axis during this shot</string>
+ </property>
+ <property name="minimum">
+ <number>-20</number>
+ </property>
+ <property name="maximum">
+ <number>20</number>
+ </property>
+ <property name="pageStep">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="TurnYED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>50</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Define the number of turn to be made around the Y axis during this shot</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="minimum">
+ <number>-20</number>
+ </property>
+ <property name="maximum">
+ <number>20</number>
+ </property>
+ <property name="value">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="ResetTurnYBT">
+ <property name="toolTip">
+ <string>Reset to 0</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo.png</normaloff>:/img/undo.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="15" column="0">
+ <widget class="QLabel" name="Rotate_Y">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/RotateY.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="30" column="0">
+ <widget class="QLabel" name="ScrollXLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/ScrollX.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="31" column="0">
+ <widget class="QLabel" name="ScrollYLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/ScrollY.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="37" column="0">
+ <widget class="QLabel" name="TurnZLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/RotateZ.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="39" column="0">
+ <widget class="QLabel" name="TurnYLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/RotateX.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="38" column="0">
+ <widget class="QLabel" name="TurnXLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/RotateY.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="36" column="0">
+ <widget class="QLabel" name="BlockAnimLabel">
+ <property name="text">
+ <string>Type :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="36" column="1">
+ <widget class="QComboBox" name="BlockAnimCB"/>
+ </item>
+ <item row="40" column="0">
+ <widget class="QLabel" name="DissolveLabel">
+ <property name="text">
+ <string>Dissolve :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="40" column="1">
+ <widget class="QComboBox" name="DissolveCB"/>
+ </item>
+ <item row="7" column="0" colspan="2">
+ <widget class="QLabel" name="label_17">
+ <property name="font">
+ <font>
+ <italic>true</italic>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Block coordinates :</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="Line" name="line_3">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>6</height>
+ </size>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="BottomLayout">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QPushButton" name="TVMarginsBT">
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>7</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Enable or disable rulers corresponding to the margins of television sets.</string>
+ </property>
+ <property name="text">
+ <string>Rullers</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/ruler_ok.png</normaloff>:/img/ruler_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="OKPreviousBT">
+ <property name="toolTip">
+ <string>Accept modification and go to previous slide</string>
+ </property>
+ <property name="text">
+ <string>Previous</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/arrow_left.png</normaloff>:/img/arrow_left.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="OKBT">
+ <property name="toolTip">
+ <string>Accept modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Ok</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="OKNextBT">
+ <property name="toolTip">
+ <string>Accept modification and go to next slide</string>
+ </property>
+ <property name="text">
+ <string>Next</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/arrow_right.png</normaloff>:/img/arrow_right.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>20</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="UndoBT">
+ <property name="toolTip">
+ <string>Undo last action (CTRL+Z)</string>
+ </property>
+ <property name="text">
+ <string>Undo</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo24.png</normaloff>:/img/undo24.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+Z</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="CancelBt">
+ <property name="toolTip">
+ <string>Cancel modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Cancel</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="HelpBT">
+ <property name="toolTip">
+ <string>Open help page describing this dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Help</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>F1</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ <action name="actionEditText">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/EditText.png</normaloff>:/img/EditText.png</iconset>
+ </property>
+ <property name="text">
+ <string>Edit text</string>
+ </property>
+ <property name="toolTip">
+ <string>Define the properties of the text block</string>
+ </property>
+ </action>
+ <action name="actionEditImage">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/EditImage.png</normaloff>:/img/EditImage.png</iconset>
+ </property>
+ <property name="text">
+ <string>Do image correct or reframming</string>
+ </property>
+ <property name="toolTip">
+ <string>Define framing and do correction of image or movie</string>
+ </property>
+ </action>
+ <action name="actionEditVideo">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/EditMovie.png</normaloff>:/img/EditMovie.png</iconset>
+ </property>
+ <property name="text">
+ <string>Cut the video</string>
+ </property>
+ <property name="toolTip">
+ <string>Cut the video</string>
+ </property>
+ </action>
+ <action name="actionUpBlock">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/arrow_up.png</normaloff>:/img/arrow_up.png</iconset>
+ </property>
+ <property name="text">
+ <string>Move to background</string>
+ </property>
+ <property name="toolTip">
+ <string>Change the order of blocks by moving the active block towards the background</string>
+ </property>
+ </action>
+ <action name="actionDownBlock">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/arrow_down.png</normaloff>:/img/arrow_down.png</iconset>
+ </property>
+ <property name="text">
+ <string>Move to foreground</string>
+ </property>
+ <property name="toolTip">
+ <string>Change the order of blocks by moving the active block towards the foreground</string>
+ </property>
+ </action>
+ <action name="actionSetVisible">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Visible_OK.png</normaloff>:/img/Visible_OK.png</iconset>
+ </property>
+ <property name="text">
+ <string>Visible</string>
+ </property>
+ <property name="toolTip">
+ <string>Make visible the active block</string>
+ </property>
+ </action>
+ <action name="actionTakeSound">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/object_sound.png</normaloff>:/img/object_sound.png</iconset>
+ </property>
+ <property name="text">
+ <string>Take the sound</string>
+ </property>
+ <property name="toolTip">
+ <string>Give the sound, during this shot, to the current video block</string>
+ </property>
+ </action>
+ <action name="actionInfo">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Action_Info.png</normaloff>:/img/Action_Info.png</iconset>
+ </property>
+ <property name="text">
+ <string>Display information</string>
+ </property>
+ <property name="toolTip">
+ <string>Display detailled information on current block</string>
+ </property>
+ </action>
+ <action name="actionCopy">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/editcopy.png</normaloff>:/img/editcopy.png</iconset>
+ </property>
+ <property name="text">
+ <string>Copy block</string>
+ </property>
+ <property name="toolTip">
+ <string>Copy the current block to the ffDiaporama clipboard.</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+C</string>
+ </property>
+ </action>
+ <action name="actionCut">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/editcut.png</normaloff>:/img/editcut.png</iconset>
+ </property>
+ <property name="text">
+ <string>Cut block</string>
+ </property>
+ <property name="toolTip">
+ <string>Copy the current block to the ffDiaporama clipboard and remove it from the slide</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+X</string>
+ </property>
+ </action>
+ <action name="actionRemoveBlock">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/trash.png</normaloff>:/img/trash.png</iconset>
+ </property>
+ <property name="text">
+ <string>Remove</string>
+ </property>
+ <property name="toolTip">
+ <string>Remove current block(s)</string>
+ </property>
+ <property name="shortcut">
+ <string>Del</string>
+ </property>
+ </action>
+ <action name="actionPaste">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/editpaste.png</normaloff>:/img/editpaste.png</iconset>
+ </property>
+ <property name="text">
+ <string>Paste block</string>
+ </property>
+ <property name="toolTip">
+ <string>Paste block from the ffDiaporama clipboard and insert it.</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+V</string>
+ </property>
+ </action>
+ <action name="actionTop">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/aotop.png</normaloff>:/img/aotop.png</iconset>
+ </property>
+ <property name="text">
+ <string>Align top</string>
+ </property>
+ <property name="toolTip">
+ <string>Align blocks to the top</string>
+ </property>
+ </action>
+ <action name="actionMiddle">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/aocenterv.png</normaloff>:/img/aocenterv.png</iconset>
+ </property>
+ <property name="text">
+ <string>Align middle</string>
+ </property>
+ <property name="toolTip">
+ <string>Align blocks to the middle</string>
+ </property>
+ </action>
+ <action name="actionBottom">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/aobottom.png</normaloff>:/img/aobottom.png</iconset>
+ </property>
+ <property name="text">
+ <string>Align bottom</string>
+ </property>
+ <property name="toolTip">
+ <string>Align blocks to the bottom</string>
+ </property>
+ </action>
+ <action name="actionLeft">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/aoleft.png</normaloff>:/img/aoleft.png</iconset>
+ </property>
+ <property name="text">
+ <string>Align left</string>
+ </property>
+ <property name="toolTip">
+ <string>Align blocks to the left</string>
+ </property>
+ </action>
+ <action name="actionCenter">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/aocenterh.png</normaloff>:/img/aocenterh.png</iconset>
+ </property>
+ <property name="text">
+ <string>Align center</string>
+ </property>
+ <property name="toolTip">
+ <string>Align blocks to the center</string>
+ </property>
+ </action>
+ <action name="actionRight">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/aoright.png</normaloff>:/img/aoright.png</iconset>
+ </property>
+ <property name="text">
+ <string>Align right</string>
+ </property>
+ <property name="toolTip">
+ <string>Align blocks to the right</string>
+ </property>
+ </action>
+ <action name="actionAddTextBlock">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/add_text.png</normaloff>:/img/add_text.png</iconset>
+ </property>
+ <property name="text">
+ <string>Add text block</string>
+ </property>
+ <property name="toolTip">
+ <string>Add a new text block</string>
+ </property>
+ </action>
+ <action name="actionAddFile">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/add_image.png</normaloff>:/img/add_image.png</iconset>
+ </property>
+ <property name="text">
+ <string>Add file</string>
+ </property>
+ <property name="toolTip">
+ <string>Add a new block of type image or video.</string>
+ </property>
+ </action>
+ <action name="actionAddShot">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/add_project.png</normaloff>:/img/add_project.png</iconset>
+ </property>
+ <property name="text">
+ <string>Add shot</string>
+ </property>
+ <property name="toolTip">
+ <string>Append a shot to end of the timeline</string>
+ </property>
+ </action>
+ <action name="actionRemoveShot">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/trash.png</normaloff>:/img/trash.png</iconset>
+ </property>
+ <property name="text">
+ <string>Remove shot</string>
+ </property>
+ <property name="toolTip">
+ <string>Remove current selected shot</string>
+ </property>
+ </action>
+ <action name="actionMoveLeft">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/arrow_left.png</normaloff>:/img/arrow_left.png</iconset>
+ </property>
+ <property name="text">
+ <string>Move left</string>
+ </property>
+ <property name="toolTip">
+ <string>Change the order of the shot by moving the current selected shot, of a notch towards the left</string>
+ </property>
+ </action>
+ <action name="actionMoveRight">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/arrow_right.png</normaloff>:/img/arrow_right.png</iconset>
+ </property>
+ <property name="text">
+ <string>Move right</string>
+ </property>
+ <property name="toolTip">
+ <string>Change the order of the shot by moving the current selected shot, of a notch towards the right</string>
+ </property>
+ </action>
+ <action name="actionSameAsPreviousShot">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Geometry_Lock.png</normaloff>:/img/Geometry_Lock.png</iconset>
+ </property>
+ <property name="text">
+ <string>Lock properties</string>
+ </property>
+ <property name="toolTip">
+ <string>Lock properties to the same values as define for the previous shot</string>
+ </property>
+ </action>
+ <action name="actionUnlockSameAsPreviousShot">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Geometry_Unlock.png</normaloff>:/img/Geometry_Unlock.png</iconset>
+ </property>
+ <property name="text">
+ <string>Unlock properties from this shot</string>
+ </property>
+ <property name="toolTip">
+ <string>Define properties from this shot</string>
+ </property>
+ </action>
+ <action name="actionSetHide">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Visible_KO.png</normaloff>:/img/Visible_KO.png</iconset>
+ </property>
+ <property name="text">
+ <string>Hide</string>
+ </property>
+ <property name="toolTip">
+ <string>Make hide the active block</string>
+ </property>
+ </action>
+ </widget>
+ <customwidgets>
+ <customwidget>
+ <class>cCustomColorComboBox</class>
+ <extends>QComboBox</extends>
+ <header>cCustomComboBox.h</header>
+ </customwidget>
+ <customwidget>
+ <class>cCustomBlockTable</class>
+ <extends>QTableWidget</extends>
+ <header>DlgSlide/cCustomBlockTable.h</header>
+ </customwidget>
+ <customwidget>
+ <class>cInteractiveZone</class>
+ <extends>QWidget</extends>
+ <header>DlgSlide/cInteractiveZone.h</header>
+ <container>1</container>
+ </customwidget>
+ <customwidget>
+ <class>cCustomShotTable</class>
+ <extends>QTableWidget</extends>
+ <header>DlgSlide/cCustomShotTable.h</header>
+ </customwidget>
+ </customwidgets>
+ <tabstops>
+ <tabstop>ShotTable</tabstop>
+ <tabstop>PosXEd</tabstop>
+ <tabstop>PosYEd</tabstop>
+ <tabstop>WidthEd</tabstop>
+ <tabstop>HeightEd</tabstop>
+ <tabstop>RotateZSLD</tabstop>
+ <tabstop>RotateZED</tabstop>
+ <tabstop>RotateXSLD</tabstop>
+ <tabstop>RotateXED</tabstop>
+ <tabstop>RotateYSLD</tabstop>
+ <tabstop>RotateYED</tabstop>
+ <tabstop>BackgroundFormCB</tabstop>
+ <tabstop>OpacityCB</tabstop>
+ <tabstop>PenSizeEd</tabstop>
+ <tabstop>PenColorCB</tabstop>
+ <tabstop>PenStyleCB</tabstop>
+ <tabstop>ShadowEffectCB</tabstop>
+ <tabstop>OKBT</tabstop>
+ <tabstop>CancelBt</tabstop>
+ <tabstop>HelpBT</tabstop>
+ </tabstops>
+ <resources>
+ <include location="../../../RSCffDiaporama.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/ffDiaporama/DlgSlide/cCustomBlockTable.cpp b/src/ffDiaporama/DlgSlide/cCustomBlockTable.cpp
new file mode 100755
index 0000000..8c9e9af
--- /dev/null
+++ b/src/ffDiaporama/DlgSlide/cCustomBlockTable.cpp
@@ -0,0 +1,364 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "cCustomBlockTable.h"
+#include <QStyledItemDelegate>
+#include <QHeaderView>
+#include <QTextDocument>
+#include <QScrollBar>
+
+#define ICON_VISIBLE_OK ":/img/Visible_OK.png"
+#define ICON_VISIBLE_KO ":/img/Visible_KO.png"
+#define ICON_SOUND_OK ":/img/object_sound.png"
+#define ICON_SOUND_KO ":/img/sound_KO.png"
+#define ICON_HAVEFILTER ":/img/Transform.png"
+#define ICON_HAVELOCK ":/img/Geometry_Lock.png"
+#define ICON_HAVENOLOCK ":/img/Geometry_Unlock.png"
+
+//********************************************************************************************************************************
+// cBlockTableItemDelegate : Item delegate for block table
+//********************************************************************************************************************************
+
+class cBlockTableItemDelegate : public QStyledItemDelegate {
+//Q_OBJECT
+public:
+ cCustomBlockTable *ParentTable;
+
+ explicit cBlockTableItemDelegate(QObject *parent);
+
+ virtual void paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const;
+};
+
+//========================================================================================================================
+
+cBlockTableItemDelegate::cBlockTableItemDelegate(QObject *parent):QStyledItemDelegate(parent) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBlockTableItemDelegate::cBlockTableItemDelegate");
+
+ ParentTable=(cCustomBlockTable *)parent;
+}
+
+//========================================================================================================================
+
+void cBlockTableItemDelegate::paint(QPainter *Painter,const QStyleOptionViewItem &option,const QModelIndex &index) const {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cBlockTableItemDelegate::paint");
+
+ if ((ParentTable->CompositionList==NULL)||(index.row()>=ParentTable->rowCount())||(index.column()>=ParentTable->columnCount())||(index.row()>=ParentTable->CompositionList->List.count())) return;
+ QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
+
+ if (!ParentTable->CompositionList->List[index.row()]->IsVisible) Painter->setOpacity(0.5);
+
+
+ cBaseMediaFile *MediaFile=(ParentTable->CompositionList->List[index.row()]->BackgroundBrush->Image!=NULL)?(cBaseMediaFile *)ParentTable->CompositionList->List[index.row()]->BackgroundBrush->Image:
+ (ParentTable->CompositionList->List[index.row()]->BackgroundBrush->Video!=NULL)?(cBaseMediaFile *)ParentTable->CompositionList->List[index.row()]->BackgroundBrush->Video:
+ NULL;
+
+ QImage Icon;
+
+ if (MediaFile!=NULL) {
+
+ QImage *RenderImage=(ParentTable->CompositionList->List[index.row()]->BackgroundBrush->Image!=NULL)?ParentTable->CompositionList->List[index.row()]->BackgroundBrush->Image->ImageAt(true,NULL):
+ (ParentTable->CompositionList->List[index.row()]->BackgroundBrush->Video!=NULL)?ParentTable->CompositionList->List[index.row()]->BackgroundBrush->Video->ImageAt(true,0,0,NULL,1,false,NULL,false):
+ NULL;
+
+ if (RenderImage!=NULL) {
+ Icon=(RenderImage->width()>RenderImage->height())?RenderImage->scaledToWidth(48):RenderImage->scaledToHeight(48);
+ delete RenderImage;
+ }
+
+ } else Icon=ParentTable->TextIcon.copy();
+
+ int IconHeight =48;
+ int IconWidth =48+16;
+ int addX =(IconHeight-(!Icon.isNull()?Icon.width():0))/2;
+ int addY =(IconHeight-(!Icon.isNull()?Icon.height():0))/2;
+ QFont font;
+ QTextOption OptionText;
+ QPen Pen;
+
+ if ((ParentTable->CurrentShotNbr>0)&&(ParentTable->CompositionList->List[index.row()]->SameAsPrevShot))
+ Painter->fillRect(QRect(option.rect.x(),option.rect.y(),option.rect.width(),option.rect.height()),QColor(Qt::lightGray));
+
+ // Draw Icon
+ if (!Icon.isNull()) Painter->drawImage(QRectF(option.rect.x()+1+addX,option.rect.y()+1+addY,Icon.width(),Icon.height()),Icon);
+
+ // Visible or not visible
+ Painter->drawImage(QRectF(option.rect.x()+1+48,option.rect.y()+1+32,16,16),QImage(ParentTable->CompositionList->List[index.row()]->IsVisible?ICON_VISIBLE_OK:ICON_VISIBLE_KO));
+
+ // With same as previous shot ?
+ if (ParentTable->CurrentShotNbr>0) Painter->drawImage(QRectF(option.rect.x()+1+48,option.rect.y()+1,16,16),QImage(ParentTable->CompositionList->List[index.row()]->SameAsPrevShot?ICON_HAVELOCK:ICON_HAVENOLOCK));
+
+ // With sound ?
+ if (ParentTable->CompositionList->List[index.row()]->BackgroundBrush->Video!=NULL)
+ Painter->drawImage(QRectF(option.rect.x()+1+48,option.rect.y()+1+16,16,16),QImage((ParentTable->CompositionList->List[index.row()]->BackgroundBrush->SoundVolume!=0)?ICON_SOUND_OK:ICON_SOUND_KO));
+
+ // With filter ?
+ if (((ParentTable->CompositionList->List[index.row()]->BackgroundBrush->Image!=NULL)&&(ParentTable->CompositionList->List[index.row()]->BackgroundBrush->Image->BrushFileTransform.HaveFilter()))||
+ ((ParentTable->CompositionList->List[index.row()]->BackgroundBrush->Video!=NULL)&&(ParentTable->CompositionList->List[index.row()]->BackgroundBrush->Video->BrushFileTransform.HaveFilter())))
+ Painter->drawImage(QRectF(option.rect.x()+1,option.rect.y()+24,24,24),QImage(ICON_HAVEFILTER));
+
+ // Setup default brush
+ Painter->setBrush(Qt::NoBrush);
+
+ // Setup default pen
+ Pen.setColor(Qt::black);
+ Pen.setWidth(1);
+ Pen.setStyle(Qt::SolidLine);
+ Painter->setPen(Pen);
+
+ // Init text to display in summary views
+ if (MediaFile!=NULL) {
+ QString SummaryText[3];
+
+ SummaryText[0]=MediaFile->ShortName+"("+MediaFile->GetFileSizeStr()+")";
+ SummaryText[1]=MediaFile->GetImageSizeStr(cBaseMediaFile::FULLWEB);
+ if (MediaFile->ObjectType==OBJECTTYPE_IMAGEFILE) {
+ SummaryText[2]=MediaFile->GetInformationValue("composer");
+ if (MediaFile->GetInformationValue("Photo.ExposureTime")!="") SummaryText[2]=SummaryText[2]+(SummaryText[2]!=""?"-":"")+MediaFile->GetInformationValue("Photo.ExposureTime");
+ if (MediaFile->GetInformationValue("Photo.ApertureValue")!="") SummaryText[2]=SummaryText[2]+(SummaryText[2]!=""?"-":"")+MediaFile->GetInformationValue("Photo.ApertureValue");
+ if (MediaFile->GetInformationValue("Photo.ISOSpeedRatings")!="") SummaryText[2]=SummaryText[2]+(SummaryText[2]!=""?"-":"")+MediaFile->GetInformationValue("Photo.ISOSpeedRatings")+" ISO";
+ } else SummaryText[2]=QApplication::translate("DlgSlideProperties","Duration:")+MediaFile->GetInformationValue("Duration");
+
+ // First line
+ font=QFont("Sans serif",9,QFont::Bold,QFont::StyleNormal); // First line use bold
+ Painter->setFont(font);
+ OptionText=QTextOption(Qt::AlignLeft|Qt::AlignVCenter); // Setup alignement
+ OptionText.setWrapMode(QTextOption::NoWrap); // Setup word wrap text option
+ Painter->drawText(QRectF(option.rect.x()+IconWidth+2+2,option.rect.y()+1,option.rect.width()-IconWidth-3-2,14),SummaryText[0],OptionText);
+
+ // Second line
+ font=QFont("Sans serif",8,QFont::Normal,QFont::StyleNormal);
+ font.setUnderline(false);
+ Painter->setFont(font);
+ Painter->drawText(QRectF(option.rect.x()+IconWidth+2+2,option.rect.y()+1+(14+2),option.rect.width()-IconWidth-3-2,14),SummaryText[1],OptionText);
+
+ // Third line
+ Painter->drawText(QRectF(option.rect.x()+IconWidth+2+2,option.rect.y()+1+(14+2)*2,option.rect.width()-IconWidth-3-2,14),SummaryText[2],OptionText);
+
+ } else {
+ font=QFont("Sans serif",8,QFont::Normal,QFont::StyleNormal);
+ font.setUnderline(false);
+ Painter->setFont(font);
+ OptionText=QTextOption(Qt::AlignLeft|Qt::AlignVCenter); // Setup alignement
+ OptionText.setWrapMode(QTextOption::NoWrap); // Setup word wrap text option
+ QTextDocument TextDoc;
+ TextDoc.setHtml(ParentTable->CompositionList->List[index.row()]->Text);
+ Painter->drawText(QRectF(option.rect.x()+IconWidth+2+2,option.rect.y()+1,option.rect.width()-IconWidth-3-2,IconHeight-2),TextDoc.toPlainText(),OptionText);
+ }
+
+ if (!ParentTable->CompositionList->List[index.row()]->IsVisible) Painter->setOpacity(1);
+
+ // Selection mode (Note: MouseOver is removed because it works correctly only on KDE !)
+ if (option.state & QStyle::State_Selected) {
+ Painter->setPen(QPen(Qt::NoPen));
+ Painter->setBrush(QBrush(Qt::blue));
+ Painter->setOpacity(0.25);
+ Painter->drawRect(option.rect.x(),option.rect.y(),option.rect.width(),option.rect.height());
+ Painter->setOpacity(1);
+ }
+
+ //Drag & Drop operation
+ if ((ParentTable->IsDragOn!=0)&&(ParentTable->DragItemDest!=ParentTable->DragItemSource)&&(ParentTable->DragItemDest!=ParentTable->DragItemSource+1)&&((index.row()==ParentTable->DragItemDest)||((index.row()==ParentTable->rowCount()-1)&&(index.row()==ParentTable->DragItemDest-1)))) {
+ Painter->save();
+ Pen.setColor(Qt::red);
+ Pen.setStyle(Qt::SolidLine);
+ Pen.setWidth(6);
+ Painter->setPen(Pen);
+ Painter->setBrush(Qt::NoBrush); //QBrush(QColor(WidgetSelection_Color)));
+ Painter->setOpacity(0.5);
+ if (index.row()==ParentTable->DragItemDest) Painter->drawLine(0,option.rect.y()+3, option.rect.width(),option.rect.y()+3);
+ else Painter->drawLine(0,option.rect.y()+option.rect.height()-3,option.rect.width(),option.rect.y()+option.rect.height()-3);
+ Painter->setOpacity(1);
+ Painter->restore();
+ }
+ QApplication::restoreOverrideCursor();
+}
+
+//********************************************************************************************************************************
+// cCustomBlockTable : block table
+//********************************************************************************************************************************
+
+cCustomBlockTable::cCustomBlockTable(QWidget *parent):QTableWidget(parent) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomBlockTable::cCustomBlockTable");
+
+ CompositionList =NULL;
+ IsDragOn =false;
+ TextIcon =QImage(":/img/MediaIcons/48x48/Text.png");
+
+ setRowCount(0);
+
+ setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
+ setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
+ setWordWrap(false); // Ensure no word wrap
+ setTextElideMode(Qt::ElideNone); // Ensure no line ellipsis (...)
+
+ horizontalHeader()->setSortIndicatorShown(false);
+ horizontalHeader()->setCascadingSectionResizes(false);
+ horizontalHeader()->setClickable(false);
+ horizontalHeader()->setMovable(false);
+ horizontalHeader()->setDefaultAlignment(Qt::AlignLeft);
+ horizontalHeader()->setResizeMode(QHeaderView::Fixed); //Fixed because ResizeToContents will be done after table filling
+ horizontalHeader()->hide();
+ horizontalHeader()->setStretchLastSection(true);
+
+ verticalHeader()->setStretchLastSection(false);
+ verticalHeader()->setSortIndicatorShown(false);
+ verticalHeader()->hide();
+ verticalHeader()->setResizeMode(QHeaderView::Fixed); // Fixed because ResizeToContents will be done after table filling
+
+ setSelectionBehavior(QAbstractItemView::SelectRows);
+ setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ setHorizontalHeaderLabels(QString("WEB_VIEW").split(";"));
+ setShowGrid(true);
+
+ setItemDelegate(new cBlockTableItemDelegate(this));
+ setColumnCount(1);
+
+ setDragDropOverwriteMode(false);
+ setAcceptDrops(true);
+ setDropIndicatorShown(true);
+}
+
+//====================================================================================================================
+
+void cCustomBlockTable::resizeEvent(QResizeEvent *ev) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomBlockTable::resizeEvent");
+
+ setColumnWidth(0,viewport()->width());
+ QTableWidget::resizeEvent(ev);
+}
+
+//====================================================================================================================
+
+void cCustomBlockTable::mouseDoubleClickEvent(QMouseEvent *ev) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomBlockTable::mouseDoubleClickEvent");
+
+ emit DoubleClickEvent(ev);
+}
+
+//====================================================================================================================
+
+void cCustomBlockTable::mousePressEvent(QMouseEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomBlockTable::mousePressEvent");
+ QTableWidget::mousePressEvent(event);
+ if ((IsDragOn)||(rowCount()==0)) return;
+ setCursor(Qt::ArrowCursor);
+ IsDragOn =false;
+ DragItemSource=(event->pos().y()+verticalOffset())/rowHeight(0);
+
+ QModelIndexList SelList=selectionModel()->selectedIndexes();
+ QList<bool> IsSelected;
+ for (int i=0;i<rowCount();i++) IsSelected.append(false);
+ for (int i=0;i<SelList.count();i++) IsSelected[SelList.at(i).row()]=true;
+ int NbrSelected =0;
+ int ObjectNbr =-1;
+ for (int i=0;i<IsSelected.count();i++) if (IsSelected[i]) {
+ if (NbrSelected==0) ObjectNbr=i;
+ NbrSelected++;
+ }
+ if ((NbrSelected==1)&&(DragItemSource==ObjectNbr)) {
+ IsDragOn =true;
+ DragItemDest=DragItemSource;
+ setCursor(Qt::ClosedHandCursor);
+ setUpdatesEnabled(false);
+ setUpdatesEnabled(true);
+ }
+}
+
+//====================================================================================================================
+
+void cCustomBlockTable::mouseMoveEvent(QMouseEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomBlockTable::mouseMoveEvent");
+ if (!IsDragOn) {
+ QTableWidget::mouseMoveEvent(event);
+ } else {
+ // Try to scroll up
+ if ((event->pos().y()<0)&&(verticalScrollBar()->value()>0)) verticalScrollBar()->setValue(verticalScrollBar()->value()-1);
+
+ // Try to scroll down
+ else if ((event->pos().y()>height())&&(verticalScrollBar()->value()<verticalScrollBar()->maximum())) verticalScrollBar()->setValue(verticalScrollBar()->value()+1);
+
+ else if ((event->pos().x()<0)||(event->pos().x()>width())||(event->pos().y()<0)||(event->pos().y()>height())) setCursor(Qt::ForbiddenCursor);
+ else {
+ DragItemDest=(event->pos().y()+verticalOffset())/rowHeight(0);
+ if (DragItemDest>rowCount()) setCursor(Qt::ForbiddenCursor);
+ else setCursor(Qt::ClosedHandCursor);
+ }
+ setUpdatesEnabled(false);
+ setUpdatesEnabled(true);
+ }
+}
+
+//====================================================================================================================
+
+void cCustomBlockTable::mouseReleaseEvent(QMouseEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomBlockTable::mouseReleaseEvent");
+
+ if (event->button()==Qt::RightButton) {
+ emit RightClickEvent(event);
+ } else if (!IsDragOn) {
+ QTableWidget::mouseReleaseEvent(event);
+ } else {
+ setCursor(Qt::ArrowCursor);
+ IsDragOn=false;
+ if (!((event->pos().x()<0)||(event->pos().x()>width())||(event->pos().y()<0)||(event->pos().y()>height()))) {
+ DragItemDest=(event->pos().y()+verticalOffset())/rowHeight(0);
+ if ((DragItemDest<=rowCount())&&(DragItemDest!=DragItemSource)) emit DragMoveBlock(DragItemSource,DragItemDest);
+ }
+ setUpdatesEnabled(false);
+ setUpdatesEnabled(true);
+ }
+}
+
+//====================================================================================================================
+
+void cCustomBlockTable::dragEnterEvent(QDragEnterEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomBlockTable::dragEnterEvent");
+ IsDragOn =2;
+ DragItemSource=-10;
+ DragItemDest =-1;
+ setCursor(Qt::ClosedHandCursor);
+ event->acceptProposedAction();
+}
+
+//====================================================================================================================
+
+void cCustomBlockTable::dropEvent(QDropEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomBlockTable::dropEvent");
+ IsDragOn=0;
+ if (event->mimeData()->hasUrls()) {
+ emit DragDropFiles(event->mimeData()->urls());
+ event->acceptProposedAction();
+ }
+}
+
+//====================================================================================================================
+
+void cCustomBlockTable::dragMoveEvent(QDragMoveEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomBlockTable::dragMoveEvent");
+ int OldDragItemDest=DragItemDest;
+ DragItemDest=(event->pos().y()+verticalOffset())/rowHeight(0);
+ if (DragItemDest>rowCount()) setCursor(Qt::ForbiddenCursor);
+ else setCursor(Qt::ClosedHandCursor);
+ event->acceptProposedAction();
+ if (OldDragItemDest==DragItemDest) {
+ setUpdatesEnabled(false);
+ setUpdatesEnabled(true);
+ }
+}
diff --git a/src/ffDiaporama/DlgSlide/cCustomBlockTable.h b/src/ffDiaporama/DlgSlide/cCustomBlockTable.h
new file mode 100755
index 0000000..be1aa90
--- /dev/null
+++ b/src/ffDiaporama/DlgSlide/cCustomBlockTable.h
@@ -0,0 +1,69 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef CCUSTOMBLOCKTABLE_H
+#define CCUSTOMBLOCKTABLE_H
+
+// Basic inclusions (common to all files)
+#include "../../engine/_GlobalDefines.h"
+#include "../../engine/_QCustomDialog.h"
+
+// Specific inclusions
+#include "../_Diaporama.h"
+#include "../_ApplicationDefinitions.h"
+
+#include <QTableWidget>
+
+class cCustomBlockTable : public QTableWidget {
+Q_OBJECT
+public:
+ cBaseApplicationConfig *ApplicationConfig;
+ cCompositionList *CompositionList; // Link to Composition List
+ QImage TextIcon;
+ int CurrentShotNbr;
+ int DragItemSource;
+ int DragItemDest;
+ bool IsDragOn;
+
+ explicit cCustomBlockTable(QWidget *parent = 0);
+
+protected:
+ virtual void resizeEvent(QResizeEvent *);
+ virtual void mouseDoubleClickEvent(QMouseEvent *);
+
+ virtual void mousePressEvent(QMouseEvent *);
+ virtual void mouseMoveEvent(QMouseEvent *);
+ virtual void mouseReleaseEvent(QMouseEvent *);
+
+ virtual void dragEnterEvent(QDragEnterEvent *event);
+ virtual void dragMoveEvent(QDragMoveEvent *event);
+ virtual void dropEvent(QDropEvent *event);
+
+signals:
+ void DoubleClickEvent(QMouseEvent *ev);
+ void RightClickEvent(QMouseEvent *ev);
+ void DragMoveBlock(int,int);
+ void DragDropFiles(QList<QUrl>);
+
+public slots:
+
+};
+
+#endif // CCUSTOMBLOCKTABLE_H
diff --git a/src/ffDiaporama/DlgSlide/cCustomShotTable.cpp b/src/ffDiaporama/DlgSlide/cCustomShotTable.cpp
new file mode 100755
index 0000000..d7206ba
--- /dev/null
+++ b/src/ffDiaporama/DlgSlide/cCustomShotTable.cpp
@@ -0,0 +1,266 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "cCustomShotTable.h"
+#include <QStyledItemDelegate>
+#include <QHeaderView>
+#include <QScrollBar>
+#include <QPainter>
+
+#define SCALINGTEXTFACTOR 400
+
+//********************************************************************************************************************************
+// cShotTableItemDelegate : Item delegate for block table
+//********************************************************************************************************************************
+
+class cShotTableItemDelegate : public QStyledItemDelegate {
+//Q_OBJECT
+public:
+ cCustomShotTable *ParentTable;
+
+ explicit cShotTableItemDelegate(QObject *parent);
+
+ virtual void paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const;
+};
+
+//========================================================================================================================
+
+cShotTableItemDelegate::cShotTableItemDelegate(QObject *parent):QStyledItemDelegate(parent) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cShotTableItemDelegate::cShotTableItemDelegate");
+
+ ParentTable=(cCustomShotTable *)parent;
+}
+
+//========================================================================================================================
+
+void cShotTableItemDelegate::paint(QPainter *Painter,const QStyleOptionViewItem &option,const QModelIndex &index) const {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cShotTableItemDelegate::paint");
+
+ if (ParentTable->DiaporamaObject==NULL) return;
+
+ QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
+ Painter->save();
+ Painter->setClipRect(QRectF(option.rect.x(),option.rect.y(),option.rect.width(),option.rect.height()));
+
+ // Calc start position of this shot
+ qlonglong Position=0; for (int i=1;i<=index.column();i++) Position=Position+ParentTable->DiaporamaObject->List[i-1]->StaticDuration;
+
+ // Calc duration of this shot
+ qlonglong Duration=ParentTable->DiaporamaObject->List[index.column()]->StaticDuration;
+
+ // Define display color of duration (Red only if shot is the last and Position+Duration < DiaporamaObject's duration
+ bool RedColor=((index.column()==ParentTable->DiaporamaObject->List.count()-1)&&(Position+Duration<ParentTable->DiaporamaObject->GetDuration()));
+ if (RedColor) Duration=ParentTable->DiaporamaObject->GetDuration()-Position;
+
+ int Height=ParentTable->rowHeight(0);
+ int Width =ParentTable->columnWidth(0);
+
+ Painter->fillRect(option.rect.x(),option.rect.y(),Width,Height,Transparent);
+
+ // draw shot
+ for (int j=0;j<ParentTable->DiaporamaObject->List[index.column()]->ShotComposition.List.count();j++) {
+ if (ParentTable->DiaporamaObject->List[index.column()]->ShotComposition.List[j]->BackgroundBrush->Video) {
+ int StartPosToAdd=0;
+ // Calc Start position of the video (depending on visible state)
+ for (int k=0;k<index.column();k++) for (int l=0;l<ParentTable->DiaporamaObject->List[k]->ShotComposition.List.count();l++) if (ParentTable->DiaporamaObject->List[k]->ShotComposition.List[l]->IndexKey==ParentTable->DiaporamaObject->List[index.column()]->ShotComposition.List[j]->IndexKey) {
+ if (ParentTable->DiaporamaObject->List[k]->ShotComposition.List[l]->IsVisible) StartPosToAdd+=ParentTable->DiaporamaObject->List[k]->StaticDuration;
+ l=ParentTable->DiaporamaObject->List[k]->ShotComposition.List.count(); // Stop loop
+ }
+ ParentTable->DiaporamaObject->List[index.column()]->ShotComposition.List[j]->DrawCompositionObject(Painter,double(Height)/double(1080),option.rect.x(),option.rect.y(),Width,Height,true,0,StartPosToAdd,NULL,0,NULL,false,0,false);
+ } else ParentTable->DiaporamaObject->List[index.column()]->ShotComposition.List[j]->DrawCompositionObject(Painter,double(Height)/double(1080),option.rect.x(),option.rect.y(),Width,Height,true,Position,0,NULL,0,NULL,false,0,false);
+ }
+
+ // Draw selected box (if needed)
+
+ if (index.column()==ParentTable->currentColumn()) {
+ QPen Pen;
+ Pen.setColor(Qt::blue);
+ Pen.setWidth(6);
+ Painter->setPen(Pen);
+ Painter->setBrush(Qt::NoBrush);
+ Painter->drawRect(option.rect.x()+3,option.rect.y()+3,Width-1-6,Height-1-6);
+ }
+
+ // Draw Drag & Drop inserting point (if needed)
+ if ((ParentTable->IsDragOn==1)&&(index.column()!=ParentTable->DragItemSource)&&((index.column()==ParentTable->DragItemDest)||((index.column()==ParentTable->DragItemDest-1)&&(ParentTable->DragItemDest==ParentTable->DiaporamaObject->List.count())))) {
+ Painter->save();
+ QPen Pen;
+ Pen.setColor(Qt::red);
+ Pen.setStyle(Qt::SolidLine);
+ Pen.setWidth(6);
+ Painter->setPen(Pen);
+ Painter->setBrush(Qt::NoBrush); //QBrush(QColor(WidgetSelection_Color)));
+ Painter->setOpacity(0.5);
+ Painter->setOpacity(0.5);
+ if (index.column()==ParentTable->DragItemDest) Painter->drawLine(option.rect.x()+3, 0,option.rect.x()+3, option.rect.y()+option.rect.height());
+ else Painter->drawLine(option.rect.x()+option.rect.width()-3,0,option.rect.x()+option.rect.width()-3,option.rect.y()+option.rect.height());
+ Painter->setOpacity(1);
+ Painter->restore();
+ }
+
+ // -------------------------- Draw shot duration
+ QPen Pen;
+ QFont font= QApplication::font();
+ font.setPointSizeF(double(3500)/double(SCALINGTEXTFACTOR)); // Scale font
+ Painter->setFont(font);
+ Pen.setWidth(1);
+ Pen.setStyle(Qt::SolidLine);
+ QString ShotDuration=QTime(0,0,0,0).addMSecs(Duration).toString("hh:mm:ss.zzz");
+ Pen.setColor(Qt::black);
+ Painter->setPen(Pen);
+ Painter->drawText(QRectF(option.rect.x()+1,option.rect.y()+4+1,Width,Height),ShotDuration,Qt::AlignHCenter|Qt::AlignTop);
+ Pen.setColor(RedColor?Qt::red:Qt::white);
+ Painter->setPen(Pen);
+ Painter->drawText(QRectF(option.rect.x()+0,option.rect.y()+4,Width-1,Height-1),ShotDuration,Qt::AlignHCenter|Qt::AlignTop);
+
+ Painter->restore();
+ QApplication::restoreOverrideCursor();
+}
+
+//********************************************************************************************************************************
+// cCustomShotTable : block table
+//********************************************************************************************************************************
+
+cCustomShotTable::cCustomShotTable(QWidget *parent):QTableWidget(parent) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomShotTable::cCustomShotTable");
+
+ DragItemSource =-1;
+ DragItemDest =-1;
+ IsDragOn =0;
+ DiaporamaObject =NULL;
+
+ horizontalHeader()->setResizeMode(QHeaderView::Fixed);
+ verticalHeader()->setResizeMode(QHeaderView::Fixed);
+ setSelectionBehavior(QAbstractItemView::SelectItems);
+ setSelectionMode(QAbstractItemView::SingleSelection);
+
+ setDragDropOverwriteMode(false);
+ setAcceptDrops(false);
+ setDropIndicatorShown(false);
+
+ setItemDelegate(new cShotTableItemDelegate(this));
+ setRowCount(1);
+}
+
+//====================================================================================================================
+
+void cCustomShotTable::mousePressEvent(QMouseEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomShotTable::mousePressEvent");
+ QTableWidget::mousePressEvent(event);
+ if ((IsDragOn==1)||(columnCount()==0)||(DiaporamaObject==NULL)) return;
+ setCursor(Qt::ArrowCursor);
+ IsDragOn=0;
+
+ // Get item number under mouse
+ int ThumbWidth =columnWidth(0);
+ int Selected =(event->pos().x()+horizontalOffset())/ThumbWidth;
+
+ if ((Selected>=0)&&(Selected<NbrItem())) {
+ // if item is correct, check if it was previously selected. Then if not select it
+ if (Selected!=CurrentSelected()) SetCurrentCell(Selected); else {
+ // if it was previously selected then start a drag & drop operation
+ IsDragOn=1;
+ DragItemSource=Selected;
+ DragItemDest =Selected;
+ //RepaintCell(Selected);
+ setCursor(Qt::ClosedHandCursor);
+ }
+ }
+}
+
+void cCustomShotTable::mouseMoveEvent(QMouseEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomShotTable::mouseMoveEvent");
+ if (IsDragOn!=1) {
+ setCursor(Qt::ArrowCursor);
+ QTableWidget::mouseMoveEvent(event);
+ } else {
+ if ((columnCount()==0)||(DiaporamaObject==NULL)) return;
+
+ int ThumbHeight=rowHeight(0);
+ int ThumbWidth =columnWidth(0);
+ int NbrX =width()/ThumbWidth;
+ int NbrY =height()/ThumbHeight; if (NbrY>rowCount()) NbrY=rowCount();
+ int ToUse =DragItemDest; if (DragItemDest==columnCount()) ToUse--;
+
+ // Try to scroll left
+ if ((event->pos().x()<0)&&(horizontalScrollBar()->value()>0)) horizontalScrollBar()->setValue(horizontalScrollBar()->value()-1);
+ // Try to scroll right
+ else if ((event->pos().x()>=NbrX*ThumbWidth)&&(horizontalScrollBar()->value()<horizontalScrollBar()->maximum())) horizontalScrollBar()->setValue(horizontalScrollBar()->value()+1);
+ else {
+ // Get item number under mouse
+ int Selected=(event->pos().x()+horizontalOffset())/ThumbWidth;
+ if ((Selected>NbrItem())||(Selected==DragItemSource)||((Selected==DragItemSource+1)&&(Selected!=NbrItem()))) {
+ DragItemDest=-1;
+ setCursor(Qt::ForbiddenCursor);
+ } else {
+ setCursor(Qt::ClosedHandCursor);
+ DragItemDest=Selected;
+ }
+ }
+ // Force a repaint
+ setUpdatesEnabled(false);
+ setUpdatesEnabled(true);
+ }
+}
+
+void cCustomShotTable::mouseReleaseEvent(QMouseEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomShotTable::mouseReleaseEvent");
+ setCursor(Qt::ArrowCursor);
+ if (event->button()==Qt::RightButton) {
+ emit RightClickEvent(event);
+ } else if (IsDragOn!=1) {
+ QTableWidget::mouseReleaseEvent(event);
+ } else {
+ if ((columnCount()==0)||(DiaporamaObject==NULL)) return;
+ IsDragOn=false;
+ if ((DragItemDest!=-1)&&(DragItemDest!=DragItemSource)&&
+ ((DragItemDest<columnCount())||(DragItemSource!=columnCount()-1)))
+ emit DragMoveItem();
+ }
+}
+
+//====================================================================================================================
+
+int cCustomShotTable::CurrentSelected() {
+ return currentColumn();
+}
+
+//====================================================================================================================
+
+int cCustomShotTable::NbrItem() {
+ return columnCount();
+}
+
+//====================================================================================================================
+
+void cCustomShotTable::SetCurrentCell(int Index) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomShotTable::SetCurrentCell");
+ if ((Index<0)||(Index>=columnCount())) return;
+ setCurrentCell(0,Index,QItemSelectionModel::Select|QItemSelectionModel::Current);
+}
+
+//====================================================================================================================
+
+void cCustomShotTable::RepaintCell(int Index) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomShotTable::RepaintCell");
+ if ((Index<0)||(Index>=columnCount())) return;
+
+ update(model()->index(0,Index));
+}
diff --git a/src/ffDiaporama/DlgSlide/cCustomShotTable.h b/src/ffDiaporama/DlgSlide/cCustomShotTable.h
new file mode 100755
index 0000000..73cf1e7
--- /dev/null
+++ b/src/ffDiaporama/DlgSlide/cCustomShotTable.h
@@ -0,0 +1,60 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef CCUSTOMSHOTTABLE_H
+#define CCUSTOMSHOTTABLE_H
+
+// Basic inclusions (common to all files)
+#include "../../engine/_GlobalDefines.h"
+#include "../../engine/_QCustomDialog.h"
+
+// Specific inclusions
+#include "../_Diaporama.h"
+#include "../_ApplicationDefinitions.h"
+
+#include <QTableWidget>
+
+class cCustomShotTable : public QTableWidget {
+Q_OBJECT
+public:
+ int DragItemSource;
+ int DragItemDest;
+ int IsDragOn; // DragOff=0, DragInternal=0 or DragExternal=0
+ cDiaporamaObject *DiaporamaObject;
+
+ explicit cCustomShotTable(QWidget *parent = 0);
+ int CurrentSelected();
+ int NbrItem();
+ void SetCurrentCell(int Index);
+ void RepaintCell(int Index);
+
+protected:
+ virtual void mousePressEvent(QMouseEvent *event);
+ virtual void mouseReleaseEvent(QMouseEvent *event);
+ virtual void mouseMoveEvent(QMouseEvent *event);
+
+private slots:
+
+signals:
+ void DragMoveItem();
+ void RightClickEvent(QMouseEvent *ev);
+};
+
+#endif // CCUSTOMSHOTTABLE_H
diff --git a/src/ffDiaporama/DlgSlide/cInteractiveZone.cpp b/src/ffDiaporama/DlgSlide/cInteractiveZone.cpp
new file mode 100755
index 0000000..316afa0
--- /dev/null
+++ b/src/ffDiaporama/DlgSlide/cInteractiveZone.cpp
@@ -0,0 +1,962 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "cInteractiveZone.h"
+
+#define HANDLESIZEX 8
+#define HANDLESIZEY 8
+#define HANDLEMAGNETX 14
+#define HANDLEMAGNETY 10
+
+#define RULER_HORIZ_SCREENBORDER 0x0001
+#define RULER_HORIZ_TVMARGIN 0x0002
+#define RULER_HORIZ_SCREENCENTER 0x0004
+#define RULER_HORIZ_UNSELECTED 0x0008
+#define RULER_VERT_SCREENBORDER 0x0010
+#define RULER_VERT_TVMARGIN 0x0020
+#define RULER_VERT_SCREENCENTER 0x0040
+#define RULER_VERT_UNSELECTED 0x0080
+
+#define MINVALUE 0.002 // Never less than this value for width or height
+
+//====================================================================================================================
+
+cInteractiveZone::cInteractiveZone(QWidget *parent):QWidget(parent) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cInteractiveZone::cInteractiveZone");
+ BlockTable =NULL;
+ DiaporamaObject =NULL;
+ BackgroundImage =NULL;
+ ForegroundImage =NULL;
+ IsCapture =false;
+ TransfoType =NOTYETDEFINED;
+ setMouseTracking(true);
+}
+
+//====================================================================================================================
+
+cInteractiveZone::~cInteractiveZone() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cInteractiveZone::~cInteractiveZone");
+ if (BackgroundImage!=NULL) {
+ delete BackgroundImage;
+ BackgroundImage=NULL;
+ }
+ if (ForegroundImage!=NULL) {
+ delete ForegroundImage;
+ ForegroundImage=NULL;
+ }
+}
+
+//====================================================================================================================
+
+void cInteractiveZone::GetForDisplayUnit(double &DisplayW,double &DisplayH) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cInteractiveZone::GetForDisplayUnit");
+
+ if (DiaporamaObject->Parent->ImageGeometry==GEOMETRY_4_3) { DisplayW=1440; DisplayH=1080; }
+ else if (DiaporamaObject->Parent->ImageGeometry==GEOMETRY_16_9) { DisplayW=1920; DisplayH=1080; }
+ else if (DiaporamaObject->Parent->ImageGeometry==GEOMETRY_40_17) { DisplayW=1920; DisplayH=816; }
+ else { DisplayW=0; DisplayH=0; }
+}
+
+//====================================================================================================================
+
+void cInteractiveZone::DifferedEmitRightClickEvent() {
+ emit RightClickEvent(NULL);
+}
+
+//====================================================================================================================
+
+void cInteractiveZone::DifferedEmitDoubleClickEvent() {
+ emit DoubleClickEvent(NULL);
+}
+
+//====================================================================================================================
+
+void cInteractiveZone::paintEvent(QPaintEvent *) {
+ if (!ForegroundImage) return;
+ QPainter Painter(this);
+ Painter.save();
+ Painter.translate(SceneRect.left(),SceneRect.top());
+ Painter.drawImage(-1,-1,*ForegroundImage);
+
+ //Painter.setCompositionMode(QPainter::RasterOp_SourceXorDestination);
+ Painter.setBrush(Qt::NoBrush);
+
+ UpdateIsSelected();
+
+ int CurSelect=0;
+
+
+ // Draw blue frame borders when multi-select
+ for (int i=0;i<BlockTable->CompositionList->List.count();i++) if ((BlockTable->CompositionList->List[i]->IsVisible)&&(IsSelected[i])) {
+
+ QRect NewRect;
+ double NewX=BlockTable->CompositionList->List[i]->x;
+ double NewY=BlockTable->CompositionList->List[i]->y;
+ double NewW=BlockTable->CompositionList->List[i]->w;
+ double NewH=BlockTable->CompositionList->List[i]->h;
+
+ // Apply transformation
+ if ((IsCapture)&&(TransfoType!=NOTYETDEFINED)) {
+ NewX=NewX+Move_X-(NewX-Sel_X)+(Sel_W!=0?((NewX-Sel_X)/Sel_W)*(Sel_W+Scale_X):0);
+ NewY=NewY+Move_Y-(NewY-Sel_Y)+(Sel_H!=0?((NewY-Sel_Y)/Sel_H)*(Sel_H+Scale_Y):0);
+ NewW=(Sel_W!=0?(NewW/Sel_W)*(Sel_W+Scale_X):Scale_X);
+ NewH=(Sel_H!=0?(NewH/Sel_H)*(Sel_H+Scale_Y):Scale_Y);
+ }
+
+ NewRect=QRect(NewX*SceneRect.width(),NewY*SceneRect.height(),NewW*SceneRect.width(),NewH*SceneRect.height());
+ if (NbrSelected>1) {
+ QPen pen(Qt::white);
+ pen.setJoinStyle(Qt::RoundJoin);
+ pen.setWidth(1);
+ pen.setStyle(Qt::DashLine);
+ Painter.setPen(pen);
+ DrawSelect(Painter,QRectF(NewRect.left()+1,NewRect.top()+1,NewRect.width(),NewRect.height()),false);
+ pen.setColor(Qt::blue);
+ Painter.setPen(pen);
+ DrawSelect(Painter,NewRect,false);
+ }
+
+ if (CurSelect==0) {
+ CurSelRect=NewRect;
+ if (!IsCapture) {
+ Sel_X=BlockTable->CompositionList->List[i]->x;
+ Sel_Y=BlockTable->CompositionList->List[i]->y;
+ Sel_W=BlockTable->CompositionList->List[i]->w;
+ Sel_H=BlockTable->CompositionList->List[i]->h;
+ }
+ } else {
+ if (NewRect.left() <CurSelRect.left()) {
+ CurSelRect.setLeft(NewRect.left());
+ if (!IsCapture) {
+ Sel_W=Sel_X+Sel_W-BlockTable->CompositionList->List[i]->x;
+ Sel_X=BlockTable->CompositionList->List[i]->x;
+ }
+ }
+ if (NewRect.top() <CurSelRect.top()) {
+ CurSelRect.setTop(NewRect.top());
+ if (!IsCapture) {
+ Sel_H=Sel_Y+Sel_H-BlockTable->CompositionList->List[i]->y;
+ Sel_Y=BlockTable->CompositionList->List[i]->y;
+ }
+ }
+ if (NewRect.right() >CurSelRect.right()) {
+ CurSelRect.setRight(NewRect.right());
+ if (!IsCapture) Sel_W=BlockTable->CompositionList->List[i]->x+BlockTable->CompositionList->List[i]->w-Sel_X;
+ }
+ if (NewRect.bottom()>CurSelRect.bottom()) {
+ CurSelRect.setBottom(NewRect.bottom());
+ if (!IsCapture) Sel_H=BlockTable->CompositionList->List[i]->y+BlockTable->CompositionList->List[i]->h-Sel_Y;
+ }
+ }
+ CurSelect++;
+
+ }
+
+ if ((!IsCapture)&&(NbrSelected>0)) {
+ if ((CurSelRect.width()==0)||(CurSelRect.height()==0)) {
+ Sel_W=0.02;
+ Sel_H=0.02;
+ CurSelRect.setWidth(2);
+ CurSelRect.setHeight(2);
+ }
+ AspectRatio=double(CurSelRect.height())/double(CurSelRect.width());
+ }
+
+ // Draw rullers if they was enabled
+ if (MagneticRuler!=0) {
+ QList<double> MagnetVert;
+ QList<double> MagnetHoriz;
+
+ //if ((MagneticRuler&RULER_VERT_SCREENBORDER)!=0) MagnetVert.append(0); // Left screen
+ //if ((MagneticRuler&RULER_VERT_SCREENBORDER)!=0) MagnetVert.append(SceneRect.width()); // Right screen
+ if ((MagneticRuler&RULER_VERT_TVMARGIN)!=0) MagnetVert.append(SceneRect.width()*0.05); // 5% Left TV Margins
+ if ((MagneticRuler&RULER_VERT_TVMARGIN)!=0) MagnetVert.append(SceneRect.width()-SceneRect.width()*0.05); // 5% Right TV Margins
+ if ((MagneticRuler&RULER_VERT_SCREENCENTER)!=0) MagnetVert.append(SceneRect.width()*0.5); // Center or screen
+ //if ((MagneticRuler&RULER_HORIZ_SCREENBORDER)!=0) MagnetHoriz.append(0); // Top screen
+ //if ((MagneticRuler&RULER_HORIZ_SCREENBORDER)!=0) MagnetHoriz.append(SceneRect.height()); // Bottom screen
+ if ((MagneticRuler&RULER_HORIZ_TVMARGIN)!=0) MagnetHoriz.append(SceneRect.height()*0.05); // 5% Up TV Margins
+ if ((MagneticRuler&RULER_HORIZ_TVMARGIN)!=0) MagnetHoriz.append(SceneRect.height()-SceneRect.height()*0.05); // 5% Bottom TV Margins
+ if ((MagneticRuler&RULER_HORIZ_SCREENCENTER)!=0) MagnetHoriz.append(SceneRect.height()*0.5); // Center or screen
+ // Display base rulers
+
+ // Clean collections
+ for (int i=MagnetHoriz.count()-1;i>=0;i--) for (int j=0;j<i;j++) if (int(MagnetHoriz[j])==int(MagnetHoriz[i])) { MagnetHoriz.removeAt(i); break; }
+ for (int i=MagnetVert.count()-1;i>=0;i--) for (int j=0;j<i;j++) if (int(MagnetVert[j]) ==int(MagnetVert[i])) { MagnetVert.removeAt(i); break; }
+
+ Painter.setCompositionMode(QPainter::RasterOp_SourceXorDestination);
+
+ QPen pen=QPen(QColor(0,255,0));
+ pen.setWidth(1);
+ pen.setStyle(Qt::DotLine);
+ Painter.setPen(pen);
+ for (int i=0;i<MagnetVert.count();i++) Painter.drawLine(MagnetVert[i],0,MagnetVert[i],SceneRect.height());
+ for (int i=0;i<MagnetHoriz.count();i++) Painter.drawLine(0,MagnetHoriz[i],SceneRect.width(),MagnetHoriz[i]);
+
+ if (IsCapture) {
+ pen.setWidth(1);
+ pen.setStyle(Qt::DashDotDotLine);
+ MagnetVert.clear();
+ MagnetHoriz.clear();
+ double Ecart=0.005;
+ // Unselected object
+ if ((MagneticRuler&RULER_VERT_UNSELECTED)!=0) for (int i=BlockTable->CompositionList->List.count()-1;i>=0;i--) if ((!IsSelected[i])&&(BlockTable->CompositionList->List[i]->IsVisible)) {
+ double a1=double(CurSelRect.left())/SceneRect.width();
+ double a2=(double(CurSelRect.left())+double(CurSelRect.width())/2)/SceneRect.width();
+ double a3=double(CurSelRect.right())/SceneRect.width();
+ double x1=BlockTable->CompositionList->List[i]->x;
+ double x2=BlockTable->CompositionList->List[i]->x+BlockTable->CompositionList->List[i]->w/2;
+ double x3=BlockTable->CompositionList->List[i]->x+BlockTable->CompositionList->List[i]->w;
+ if (((x1>(a1-Ecart))&&(x1<(a1+Ecart)))||((x1>(a2-Ecart))&&(x1<(a2+Ecart)))||((x1>(a3-Ecart))&&(x1<(a3+Ecart)))) MagnetVert.append(x1*SceneRect.width());
+ if (((x2>(a1-Ecart))&&(x2<(a1+Ecart)))||((x2>(a2-Ecart))&&(x2<(a2+Ecart)))||((x2>(a3-Ecart))&&(x2<(a3+Ecart)))) MagnetVert.append(x2*SceneRect.width());
+ if (((x3>(a1-Ecart))&&(x3<(a1+Ecart)))||((x3>(a2-Ecart))&&(x3<(a2+Ecart)))||((x3>(a3-Ecart))&&(x3<(a3+Ecart)))) MagnetVert.append(x3*SceneRect.width());
+ }
+ if ((MagneticRuler&RULER_HORIZ_UNSELECTED)!=0) for (int i=BlockTable->CompositionList->List.count()-1;i>=0;i--) if ((!IsSelected[i])&&(BlockTable->CompositionList->List[i]->IsVisible)) {
+ double a1=double(CurSelRect.top())/SceneRect.height();
+ double a2=(double(CurSelRect.top())+double(CurSelRect.height())/2)/SceneRect.height();
+ double a3=double(CurSelRect.bottom())/SceneRect.height();
+ double y1=BlockTable->CompositionList->List[i]->y;
+ double y2=BlockTable->CompositionList->List[i]->y+BlockTable->CompositionList->List[i]->h/2;
+ double y3=BlockTable->CompositionList->List[i]->y+BlockTable->CompositionList->List[i]->h;
+ if (((y1>(a1-Ecart))&&(y1<(a1+Ecart)))||((y1>(a2-Ecart))&&(y1<(a2+Ecart)))||((y1>(a3-Ecart))&&(y1<(a3+Ecart)))) MagnetHoriz.append(y1*SceneRect.height());
+ if (((y2>(a1-Ecart))&&(y2<(a1+Ecart)))||((y2>(a2-Ecart))&&(y2<(a2+Ecart)))||((y2>(a3-Ecart))&&(y2<(a3+Ecart)))) MagnetHoriz.append(y2*SceneRect.height());
+ if (((y3>(a1-Ecart))&&(y3<(a1+Ecart)))||((y3>(a2-Ecart))&&(y3<(a2+Ecart)))||((y3>(a3-Ecart))&&(y3<(a3+Ecart)))) MagnetHoriz.append(y3*SceneRect.height());
+ }
+ // Clean collections
+ for (int i=MagnetHoriz.count()-1;i>=0;i--) for (int j=0;j<i;j++) if (int(MagnetHoriz[j])==int(MagnetHoriz[i])) { MagnetHoriz.removeAt(i); break; }
+ for (int i=MagnetVert.count()-1;i>=0;i--) for (int j=0;j<i;j++) if (int(MagnetVert[j]) ==int(MagnetVert[i])) { MagnetVert.removeAt(i); break; }
+ // Display small rulers
+ pen.setColor(QColor(0,255,0));
+ Painter.setPen(pen);
+ for (int i=0;i<MagnetVert.count();i++) Painter.drawLine(MagnetVert[i],0,MagnetVert[i],SceneRect.height());
+ for (int i=0;i<MagnetHoriz.count();i++) Painter.drawLine(0,MagnetHoriz[i],SceneRect.width(),MagnetHoriz[i]);
+ }
+ }
+
+ // Draw select frame border
+ if (NbrSelected>0) {
+ QPen pen(Qt::white);
+ pen.setWidth(2);
+ pen.setStyle(Qt::DashLine);
+ pen.setColor(Qt::red);
+ Painter.setPen(pen);
+ DrawSelect(Painter,CurSelRect,true);
+ }
+
+ Painter.restore();
+}
+
+void cInteractiveZone::DrawSelect(QPainter &Painter,QRectF Rect,bool WithHandles) {
+ Painter.drawRect(Rect);
+ if (WithHandles) {
+ QPen OldPen=Painter.pen();
+ QPen pen=OldPen;
+ pen.setStyle(Qt::SolidLine);
+ Painter.setPen(pen);
+ Painter.drawRect(QRectF(Rect.left()-HANDLESIZEX/2, Rect.top()-HANDLESIZEY/2, HANDLESIZEX,HANDLESIZEY)); // Top left
+ Painter.drawRect(QRectF(Rect.left()-HANDLESIZEX/2, Rect.top()+Rect.height()/2-HANDLESIZEY/2, HANDLESIZEX,HANDLESIZEY)); // Left
+ Painter.drawRect(QRectF(Rect.left()-HANDLESIZEX/2, Rect.bottom()-HANDLESIZEY/2, HANDLESIZEX,HANDLESIZEY)); // Bottom left
+ Painter.drawRect(QRectF(Rect.right()-HANDLESIZEX/2,Rect.top()-HANDLESIZEY/2, HANDLESIZEX,HANDLESIZEY)); // Top right
+ Painter.drawRect(QRectF(Rect.right()-HANDLESIZEX/2,Rect.top()+Rect.height()/2-HANDLESIZEY/2, HANDLESIZEX,HANDLESIZEY)); // right
+ Painter.drawRect(QRectF(Rect.right()-HANDLESIZEX/2,Rect.bottom()-HANDLESIZEY/2, HANDLESIZEX,HANDLESIZEY)); // Bottom right
+ Painter.drawRect(QRectF(Rect.left()+Rect.width()/2-HANDLESIZEX/2,Rect.top()-HANDLESIZEY/2, HANDLESIZEX,HANDLESIZEY)); // Top
+ Painter.drawRect(QRectF(Rect.left()+Rect.width()/2-HANDLESIZEX/2,Rect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)); // Bottom
+ Painter.setPen(OldPen);
+ }
+}
+
+//====================================================================================================================
+
+void cInteractiveZone::RefreshDisplay() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cInteractiveZone::RefreshDisplay");
+ if ((!BlockTable)||(!BlockTable->CompositionList)) return;
+
+ if (BlockTable->updatesEnabled()) {
+ // Prepare BackgroundImage if not exist
+ if (!BackgroundImage) {
+ QPainter Painter;
+ double xmax,ymax;
+ GetForDisplayUnit(xmax,ymax);
+ BackgroundImage=new QImage(xmax,ymax,QImage::Format_ARGB32_Premultiplied);
+ Painter.begin(BackgroundImage);
+ DiaporamaObject->Parent->PrepareBackground(DiaporamaObject->Parent->GetObjectIndex(DiaporamaObject),xmax,ymax,&Painter,0,0);
+ Painter.end();
+ }
+
+ if (ForegroundImage!=NULL) {
+ delete ForegroundImage;
+ ForegroundImage=NULL;
+ }
+
+ ForegroundImage =new QImage(BackgroundImage->scaled(QSize(this->width()+2,this->height()+2),Qt::KeepAspectRatio,Qt::SmoothTransformation));
+ SceneRect =QRect((this->width()+2-ForegroundImage->width())/2,(this->height()+2-ForegroundImage->height())/2,ForegroundImage->width(),ForegroundImage->height());
+
+ UpdateIsSelected();
+
+ // Draw image of the scene under the background
+ QPainter P;
+ P.begin(ForegroundImage);
+ P.save();
+
+ int StartVideoPos=0;
+
+ for (int i=0;i<BlockTable->CompositionList->List.count();i++) if (BlockTable->CompositionList->List[i]->IsVisible) {
+ // If it's a video block, calc video position
+ if (BlockTable->CompositionList->List[i]->BackgroundBrush->Video) {
+ StartVideoPos=QTime(0,0,0,0).msecsTo(BlockTable->CompositionList->List[i]->BackgroundBrush->Video->StartPos);
+ for (int k=0;k<CurrentShotNbr;k++) {
+ for (int l=0;l<DiaporamaObject->List[k]->ShotComposition.List.count();l++) {
+ if (DiaporamaObject->List[k]->ShotComposition.List[l]->IndexKey==BlockTable->CompositionList->List[i]->IndexKey) {
+ if (DiaporamaObject->List[k]->ShotComposition.List[l]->IsVisible) StartVideoPos+=DiaporamaObject->List[k]->StaticDuration;
+ l=DiaporamaObject->List[k]->ShotComposition.List.count(); // stop loop
+ }
+ }
+ }
+ } else StartVideoPos=0;
+
+ // Draw composition block
+ double NewX=BlockTable->CompositionList->List[i]->x;
+ double NewY=BlockTable->CompositionList->List[i]->y;
+ double NewW=BlockTable->CompositionList->List[i]->w;
+ double NewH=BlockTable->CompositionList->List[i]->h;
+
+ // Apply transformation
+ if ((IsSelected[i])&&(IsCapture)&&(TransfoType!=NOTYETDEFINED)) {
+ NewX=NewX+Move_X-(NewX-Sel_X)+(Sel_W!=0?((NewX-Sel_X)/Sel_W)*(Sel_W+Scale_X):0);
+ NewY=NewY+Move_Y-(NewY-Sel_Y)+(Sel_H!=0?((NewY-Sel_Y)/Sel_H)*(Sel_H+Scale_Y):0);
+ NewW=(Sel_W!=0?(NewW/Sel_W)*(Sel_W+Scale_X):Scale_X);
+ NewH=(Sel_H!=0?(NewH/Sel_H)*(Sel_H+Scale_Y):Scale_Y);
+ }
+
+ BlockTable->CompositionList->List[i]->DrawCompositionObject(&P,double(ForegroundImage->height())/double(1080),0,0,ForegroundImage->width(),ForegroundImage->height(),true,0,StartVideoPos,
+ NULL,1,NULL,true,DiaporamaObject->List[CurrentShotNbr]->StaticDuration,false,
+ (IsCapture)&&(TransfoType!=NOTYETDEFINED),NewX,NewY,NewW,NewH);
+
+ if ((CurrentShotNbr>0)&&(BlockTable->CompositionList->List[i]->SameAsPrevShot))
+ P.drawImage((NewX+NewW/2)*double(ForegroundImage->width())-12,(NewY+NewH/2)*double(ForegroundImage->height())-12,QImage(":/img/Lock24.png"));
+ }
+
+ P.restore();
+ P.end();
+ }
+
+ repaint();
+}
+
+//====================================================================================================================
+
+void cInteractiveZone::UpdateIsSelected() {
+ QModelIndexList SelList=BlockTable->selectionModel()->selectedIndexes();
+ IsSelected.clear();
+ NbrSelected =0;
+ LockGeometry =false;
+ SelectionHaveLockBlock=false;
+
+ for (int i=0;i<BlockTable->rowCount();i++) IsSelected.append(false);
+ for (int i=0;i<SelList.count();i++) IsSelected[SelList.at(i).row()]=BlockTable->CompositionList->List[SelList.at(i).row()]->IsVisible;
+
+ for (int i=0;i<IsSelected.count();i++) if (IsSelected[i]) {
+ NbrSelected++;
+ if ((BlockTable->CompositionList->List[i]->BackgroundBrush->LockGeometry)||
+ (BlockTable->CompositionList->List[i]->BackgroundBrush->Image!=NULL)||
+ (BlockTable->CompositionList->List[i]->BackgroundBrush->Video!=NULL)) LockGeometry=true;
+ if ((CurrentShotNbr>0)&&(BlockTable->CompositionList->List[i]->SameAsPrevShot)) SelectionHaveLockBlock=true;
+ }
+}
+
+//====================================================================================================================
+
+bool cInteractiveZone::IsInRect(QPoint Pos,QRect Rect) {
+ return ((Pos.x()-SceneRect.left()>=Rect.left())&&(Pos.x()-SceneRect.left()<=Rect.right())&&(Pos.y()-SceneRect.top()>=Rect.top())&&(Pos.y()-SceneRect.top()<=Rect.bottom()));
+}
+
+//====================================================================================================================
+
+bool cInteractiveZone::IsInSelectedRect(QPoint Pos) {
+ for (int i=0;i<BlockTable->CompositionList->List.count();i++) if ((BlockTable->CompositionList->List[i]->IsVisible)&&(IsSelected[i])) {
+ QRect ObjRect=QRect(BlockTable->CompositionList->List[i]->x*SceneRect.width(),BlockTable->CompositionList->List[i]->y*SceneRect.height(),
+ BlockTable->CompositionList->List[i]->w*SceneRect.width(),BlockTable->CompositionList->List[i]->h*SceneRect.height());
+ if ((Pos.x()-SceneRect.left()>=ObjRect.left())&&(Pos.x()-SceneRect.left()<=ObjRect.right())&&(Pos.y()-SceneRect.top()>=ObjRect.top())&&(Pos.y()-SceneRect.top()<=ObjRect.bottom())) return true;
+ }
+ return false;
+}
+
+//====================================================================================================================
+
+void cInteractiveZone::ManageCursor(QPoint Pos,Qt::KeyboardModifiers Modifiers) {
+ if (IsInRect(Pos,QRect(CurSelRect.left()-HANDLESIZEX/2, CurSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(SelectionHaveLockBlock?Qt::ForbiddenCursor:Qt::SizeBDiagCursor); // Bottom left
+ else if (IsInRect(Pos,QRect(CurSelRect.left()-HANDLESIZEX/2,CurSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(SelectionHaveLockBlock?Qt::ForbiddenCursor:Qt::SizeFDiagCursor); // Top left
+ else if (IsInRect(Pos,QRect(CurSelRect.left()-HANDLESIZEX/2, CurSelRect.top()+CurSelRect.height()/2-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(SelectionHaveLockBlock?Qt::ForbiddenCursor:Qt::SizeHorCursor); // Left
+ else if (IsInRect(Pos,QRect(CurSelRect.right()-HANDLESIZEX/2,CurSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(SelectionHaveLockBlock?Qt::ForbiddenCursor:Qt::SizeBDiagCursor); // Top right
+ else if (IsInRect(Pos,QRect(CurSelRect.right()-HANDLESIZEX/2,CurSelRect.top()+CurSelRect.height()/2-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(SelectionHaveLockBlock?Qt::ForbiddenCursor:Qt::SizeHorCursor); // Right
+ else if (IsInRect(Pos,QRect(CurSelRect.right()-HANDLESIZEX/2,CurSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(SelectionHaveLockBlock?Qt::ForbiddenCursor:Qt::SizeFDiagCursor); // Bottom right
+ else if (IsInRect(Pos,QRect(CurSelRect.left()+CurSelRect.width()/2-HANDLESIZEX/2,CurSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(SelectionHaveLockBlock?Qt::ForbiddenCursor:Qt::SizeVerCursor); // Top
+ else if (IsInRect(Pos,QRect(CurSelRect.left()+CurSelRect.width()/2-HANDLESIZEX/2,CurSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY))) setCursor(SelectionHaveLockBlock?Qt::ForbiddenCursor:Qt::SizeVerCursor); // Bottom
+ else if (IsInSelectedRect(Pos)) {
+ if (Modifiers==Qt::NoModifier) setCursor(SelectionHaveLockBlock?Qt::ForbiddenCursor:Qt::OpenHandCursor);
+ else if ((Modifiers==Qt::ControlModifier)||(Modifiers==Qt::ShiftModifier)) setCursor(Qt::PointingHandCursor);
+ else if (Modifiers==(Qt::ControlModifier|Qt::ShiftModifier)) setCursor(Qt::CrossCursor);
+ else setCursor(SelectionHaveLockBlock?Qt::ForbiddenCursor:Qt::ArrowCursor);
+ } else setCursor(Qt::ArrowCursor); // standard
+}
+
+//====================================================================================================================
+
+QRect cInteractiveZone::ComputeNewCurSelRect() {
+ QRect NewCurSelRect;
+ int CurSelect=0;
+ for (int i=0;i<BlockTable->CompositionList->List.count();i++) if ((BlockTable->CompositionList->List[i]->IsVisible)&&(IsSelected[i])) {
+ double NewX=BlockTable->CompositionList->List[i]->x;
+ double NewY=BlockTable->CompositionList->List[i]->y;
+ double NewW=BlockTable->CompositionList->List[i]->w;
+ double NewH=BlockTable->CompositionList->List[i]->h;
+
+ NewX=NewX+Move_X-(NewX-Sel_X)+(Sel_W!=0?((NewX-Sel_X)/Sel_W)*(Sel_W+Scale_X):0);
+ NewY=NewY+Move_Y-(NewY-Sel_Y)+(Sel_H!=0?((NewY-Sel_Y)/Sel_H)*(Sel_H+Scale_Y):0);
+ NewW=(Sel_W!=0?(NewW/Sel_W)*(Sel_W+Scale_X):Scale_X);
+ NewH=(Sel_H!=0?(NewH/Sel_H)*(Sel_H+Scale_Y):Scale_Y);
+
+ QRect NewRect=QRect(NewX*SceneRect.width(),NewY*SceneRect.height(),NewW*SceneRect.width(),NewH*SceneRect.height());
+ if (CurSelect==0) NewCurSelRect=NewRect; else {
+ if (NewRect.left() <NewCurSelRect.left()) NewCurSelRect.setLeft(NewRect.left());
+ if (NewRect.top() <NewCurSelRect.top()) NewCurSelRect.setTop(NewRect.top());
+ if (NewRect.right() >NewCurSelRect.right()) NewCurSelRect.setRight(NewRect.right());
+ if (NewRect.bottom()>NewCurSelRect.bottom()) NewCurSelRect.setBottom(NewRect.bottom());
+ }
+ CurSelect++;
+ }
+ return NewCurSelRect;
+}
+
+//====================================================================================================================
+
+void cInteractiveZone::keyPressEvent(QKeyEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cInteractiveZone::keyPressEvent");
+ if ((!BlockTable)||(!BlockTable->CompositionList)) return;
+
+ ManageCursor(mapFromGlobal(QCursor::pos()),event->modifiers());
+ if ((!SelectionHaveLockBlock)&&(NbrSelected>0)) {
+ double StepX=double(1)/SceneRect.width();
+ double StepY=double(1)/SceneRect.height();
+
+ Move_X =0;
+ Scale_X=0;
+ Move_Y =0;
+ Scale_Y=0;
+
+ switch (event->key()) {
+ case Qt::Key_Left:
+ if (event->modifiers()==Qt::ShiftModifier) {Move_X =-StepX; Scale_X=StepX; Move_Y=LockGeometry?(AspectRatio*Move_X*SceneRect.width())/SceneRect.height():0; Scale_Y=LockGeometry?(AspectRatio*Scale_X*SceneRect.width())/SceneRect.height():0;}
+ else if (event->modifiers()==Qt::ControlModifier) {Scale_X=-StepX; Scale_Y=LockGeometry?(AspectRatio*Scale_X*SceneRect.width())/SceneRect.height():0; }
+ else Move_X=-StepX;
+ break;
+ case Qt::Key_Right:
+ if (event->modifiers()==Qt::ShiftModifier) {Move_X =StepX; Scale_X=-StepX; Move_Y=LockGeometry?(AspectRatio*Move_X*SceneRect.width())/SceneRect.height():0; Scale_Y=LockGeometry?(AspectRatio*Scale_X*SceneRect.width())/SceneRect.height():0;}
+ else if (event->modifiers()==Qt::ControlModifier) {Scale_X=StepX; Scale_Y=LockGeometry?(AspectRatio*Scale_X*SceneRect.width())/SceneRect.height():0; }
+ else Move_X=StepX;
+ break;
+ case Qt::Key_Up:
+ if (event->modifiers()==Qt::ShiftModifier) {Move_Y =-StepY; Scale_Y=StepY; Move_X=LockGeometry?((Move_Y*SceneRect.height())/AspectRatio)/SceneRect.width():0; Scale_X=LockGeometry?((Scale_Y*SceneRect.height())/AspectRatio)/SceneRect.width():0;}
+ else if (event->modifiers()==Qt::ControlModifier) {Scale_Y=-StepY; Scale_X=LockGeometry?((Scale_Y*SceneRect.height())/AspectRatio)/SceneRect.width():0; }
+ else Move_Y=-StepY;
+ break;
+ case Qt::Key_Down:
+ if (event->modifiers()==Qt::ShiftModifier) {Move_Y =StepY; Scale_Y=-StepY; Move_X=LockGeometry?((Move_Y*SceneRect.height())/AspectRatio)/SceneRect.width():0; Scale_X=LockGeometry?((Scale_Y*SceneRect.height())/AspectRatio)/SceneRect.width():0;}
+ else if (event->modifiers()==Qt::ControlModifier) {Scale_Y=StepY; Scale_X=LockGeometry?((Scale_Y*SceneRect.height())/AspectRatio)/SceneRect.width():0; }
+ else Move_Y=StepY;
+ break;
+ default :
+ QWidget::keyPressEvent(event);
+ break;
+ }
+ if ((Move_X!=0)||(Move_Y!=0)||(Scale_X!=0)||(Scale_Y!=0)) emit TransformBlock(Move_X,Move_Y,Scale_X,Scale_Y,Sel_X,Sel_Y,Sel_W,Sel_H);
+ } else QWidget::keyPressEvent(event);
+}
+
+//====================================================================================================================
+
+void cInteractiveZone::keyReleaseEvent(QKeyEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cInteractiveZone::keyReleaseEvent");
+ if ((!BlockTable)||(!BlockTable->CompositionList)) return;
+
+ ManageCursor(mapFromGlobal(QCursor::pos()),event->modifiers());
+ QWidget::keyReleaseEvent(event);
+}
+
+//====================================================================================================================
+
+void cInteractiveZone::mouseMoveEvent(QMouseEvent *event) {
+ //ToLog(LOGMSG_DEBUGTRACE,"IN:cInteractiveZone::mouseMoveEvent"); // Remove : too much
+ if ((!BlockTable)||(!BlockTable->CompositionList)) return;
+
+ if ((!IsCapture)||(SelectionHaveLockBlock)) {
+
+ ManageCursor(event->pos(),event->modifiers());
+
+ } else {
+
+ // *************************************************************************
+ // Create rulers
+ // *************************************************************************
+
+ QList<double> MagnetVert;
+ QList<double> MagnetHoriz;
+ if ((MagneticRuler&RULER_VERT_SCREENBORDER)!=0) MagnetVert.append(0); // Left screen
+ if ((MagneticRuler&RULER_VERT_SCREENBORDER)!=0) MagnetVert.append(SceneRect.width()); // Right screen
+ if ((MagneticRuler&RULER_VERT_TVMARGIN)!=0) MagnetVert.append(SceneRect.width()*0.05); // 5% Left TV Margins
+ if ((MagneticRuler&RULER_VERT_TVMARGIN)!=0) MagnetVert.append(SceneRect.width()-SceneRect.width()*0.05); // 5% Right TV Margins
+ if ((MagneticRuler&RULER_VERT_SCREENCENTER)!=0) MagnetVert.append(SceneRect.width()*0.5); // Center or screen
+ // Unselected object
+ if ((MagneticRuler&RULER_VERT_UNSELECTED)!=0) for (int i=BlockTable->CompositionList->List.count()-1;i>=0;i--) if ((!IsSelected[i])&&(BlockTable->CompositionList->List[i]->IsVisible)) {
+ MagnetVert.append(BlockTable->CompositionList->List[i]->x*SceneRect.width());
+ MagnetVert.append(BlockTable->CompositionList->List[i]->x*SceneRect.width()+BlockTable->CompositionList->List[i]->w*SceneRect.width()/2);
+ MagnetVert.append(BlockTable->CompositionList->List[i]->x*SceneRect.width()+BlockTable->CompositionList->List[i]->w*SceneRect.width());
+ }
+
+ if ((MagneticRuler&RULER_HORIZ_SCREENBORDER)!=0) MagnetHoriz.append(0); // Top screen
+ if ((MagneticRuler&RULER_HORIZ_SCREENBORDER)!=0) MagnetHoriz.append(SceneRect.height()); // Bottom screen
+ if ((MagneticRuler&RULER_HORIZ_TVMARGIN)!=0) MagnetHoriz.append(SceneRect.height()*0.05); // 5% Up TV Margins
+ if ((MagneticRuler&RULER_HORIZ_TVMARGIN)!=0) MagnetHoriz.append(SceneRect.height()-SceneRect.height()*0.05); // 5% Bottom TV Margins
+ if ((MagneticRuler&RULER_HORIZ_SCREENCENTER)!=0) MagnetHoriz.append(SceneRect.height()*0.5); // Center or screen
+ // Unselected object
+ if ((MagneticRuler&RULER_HORIZ_UNSELECTED)!=0) for (int i=BlockTable->CompositionList->List.count()-1;i>=0;i--) if ((!IsSelected[i])&&(BlockTable->CompositionList->List[i]->IsVisible)) {
+ MagnetHoriz.append(BlockTable->CompositionList->List[i]->y*SceneRect.height());
+ MagnetHoriz.append(BlockTable->CompositionList->List[i]->y*SceneRect.height()+BlockTable->CompositionList->List[i]->h*SceneRect.height()/2);
+ MagnetHoriz.append(BlockTable->CompositionList->List[i]->y*SceneRect.height()+BlockTable->CompositionList->List[i]->h*SceneRect.height());
+ }
+ // Clean collections
+ for (int i=MagnetHoriz.count()-1;i>=0;i--) for (int j=0;j<i;j++) if (int(MagnetHoriz[j])==int(MagnetHoriz[i])) { MagnetHoriz.removeAt(i); break; }
+ for (int i=MagnetVert.count()-1;i>=0;i--) for (int j=0;j<i;j++) if (int(MagnetVert[j]) ==int(MagnetVert[i])) { MagnetVert.removeAt(i); break; }
+
+ // *************************************************************************
+ // Calc transformation
+ // *************************************************************************
+
+ double DX=double(event->pos().x()-CapturePos.x())/SceneRect.width();
+ double DY=double(event->pos().y()-CapturePos.y())/SceneRect.height();
+ QRect NewCurSelRect;
+
+ // Top left
+ if (TransfoType==RESIZEUPLEFT) {
+ // Adjust DX and DY for resize not less than 0
+ if (DX>=Sel_W-MINVALUE) DX=Sel_W-MINVALUE;
+ if (DY>=Sel_H-MINVALUE) DY=Sel_H-MINVALUE;
+ Move_X =DX;
+ Move_Y =LockGeometry?(AspectRatio*Move_X*SceneRect.width())/SceneRect.height():DY;
+ Scale_X =-Move_X;
+ Scale_Y =-Move_Y;
+ NewCurSelRect=ComputeNewCurSelRect();
+
+ // Apply magnetic rules vertical
+ for (int Ruller=0;Ruller<MagnetVert.count();Ruller++) if ((MagnetVert[Ruller]<NewCurSelRect.right())&&(NewCurSelRect.left()>=MagnetVert[Ruller]-HANDLEMAGNETX)&&(NewCurSelRect.left()<=MagnetVert[Ruller]+HANDLEMAGNETX)) {
+ Move_X =(MagnetVert[Ruller]-Sel_X*SceneRect.width())/SceneRect.width();
+ if (LockGeometry) Move_Y=(AspectRatio*Move_X*SceneRect.width())/SceneRect.height();
+ Scale_Y=-Move_Y;
+ Scale_X=-Move_X;
+ break;
+ }
+
+ // Apply magnetic rules horizontal
+ for (int Ruller=0;Ruller<MagnetHoriz.count();Ruller++) if ((MagnetHoriz[Ruller]<NewCurSelRect.bottom())&&(NewCurSelRect.top()>=MagnetHoriz[Ruller]-HANDLEMAGNETY)&&(NewCurSelRect.top()<=MagnetHoriz[Ruller]+HANDLEMAGNETY)) {
+ Move_Y =(MagnetHoriz[Ruller]-Sel_Y*SceneRect.height())/SceneRect.height();
+ if (LockGeometry) Move_X=(Move_Y*SceneRect.height()/AspectRatio)/SceneRect.width();
+ Scale_Y=-Move_Y;
+ Scale_X=-Move_X;
+ break;
+ }
+
+ // Left
+ } else if (TransfoType==RESIZELEFT) {
+ // Adjust DX and DY for resize not less than 0
+ if (DX>=Sel_W-MINVALUE) DX=Sel_W-MINVALUE;
+ if (DY>=Sel_H-MINVALUE) DY=Sel_H-MINVALUE;
+ Move_X =DX;
+ Scale_X=-Move_X;
+ if (LockGeometry) {
+ Scale_Y=(AspectRatio*Scale_X*SceneRect.width())/SceneRect.height();
+ Move_Y =-Scale_Y/2;
+ }
+ NewCurSelRect=ComputeNewCurSelRect();
+
+ // Apply magnetic rules vertical
+ for (int Ruller=0;Ruller<MagnetVert.count();Ruller++) if ((MagnetVert[Ruller]<NewCurSelRect.right())&&(NewCurSelRect.left()>=MagnetVert[Ruller]-HANDLEMAGNETX)&&(NewCurSelRect.left()<=MagnetVert[Ruller]+HANDLEMAGNETX)) {
+ Move_X =(MagnetVert[Ruller]-Sel_X*SceneRect.width())/SceneRect.width();
+ Scale_X=-Move_X;
+ if (LockGeometry) {
+ Scale_Y=(AspectRatio*Scale_X*SceneRect.width())/SceneRect.height();
+ Move_Y =-Scale_Y/2;
+ }
+ break;
+ }
+
+ // Bottom left
+ } else if (TransfoType==RESIZEDOWNLEFT) {
+ // Adjust DX and DY for resize not less than 0
+ if (Sel_W!=0) {
+ if (DX>=Sel_W-MINVALUE) DX=Sel_W-MINVALUE;
+ if (DY<=-(Sel_H-MINVALUE)) DY=-(Sel_H-MINVALUE);
+ }
+ Move_X =DX;
+ Scale_X =-Move_X;
+ Move_Y =0;
+ Scale_Y =LockGeometry?(AspectRatio*Scale_X*SceneRect.width())/SceneRect.height():DY;
+
+ NewCurSelRect=ComputeNewCurSelRect();
+
+ // Apply magnetic rules vertical
+ for (int Ruller=0;Ruller<MagnetVert.count();Ruller++) if ((MagnetVert[Ruller]<NewCurSelRect.right())&&(NewCurSelRect.left()>=MagnetVert[Ruller]-HANDLEMAGNETX)&&(NewCurSelRect.left()<=MagnetVert[Ruller]+HANDLEMAGNETX)) {
+ Move_X =(MagnetVert[Ruller]-Sel_X*SceneRect.width())/SceneRect.width();
+ Scale_X=-Move_X;
+ if (LockGeometry) Scale_Y=-(AspectRatio*Move_X*SceneRect.width())/SceneRect.height();
+ break;
+ }
+
+ // Apply magnetic rules horizontal
+ for (int Ruller=0;Ruller<MagnetHoriz.count();Ruller++) if ((MagnetHoriz[Ruller]>NewCurSelRect.top())&&(NewCurSelRect.bottom()>=MagnetHoriz[Ruller]-HANDLEMAGNETY)&&(NewCurSelRect.bottom()<=MagnetHoriz[Ruller]+HANDLEMAGNETY)) {
+ Scale_Y =(MagnetHoriz[Ruller]-(Sel_Y+Sel_H)*SceneRect.height())/SceneRect.height();
+ if (LockGeometry) {
+ Move_X =-(Scale_Y*SceneRect.height()/AspectRatio)/SceneRect.width();
+ Scale_X=-Move_X;
+ }
+ break;
+ }
+
+ // Top right
+ } else if (TransfoType==RESIZEUPRIGHT) {
+ // Adjust DX and DY for resize not less than 0
+ if (DX<=-(Sel_W-MINVALUE)) DX=-(Sel_W-MINVALUE);
+ if (DY>=Sel_H-MINVALUE) DY=Sel_H-MINVALUE;
+ Move_X =0;
+ Scale_X =DX;
+ Move_Y =LockGeometry?(-AspectRatio*Scale_X*SceneRect.width())/SceneRect.height():DY;
+ Scale_Y =-Move_Y;
+ NewCurSelRect=ComputeNewCurSelRect();
+
+ // Apply magnetic rules vertical
+ for (int Ruller=0;Ruller<MagnetVert.count();Ruller++) if ((MagnetVert[Ruller]>NewCurSelRect.left())&&(NewCurSelRect.right()>=MagnetVert[Ruller]-HANDLEMAGNETX)&&(NewCurSelRect.right()<=MagnetVert[Ruller]+HANDLEMAGNETX)) {
+ Scale_X=(MagnetVert[Ruller]-(Sel_X+Sel_W)*SceneRect.width())/SceneRect.width();
+ if (LockGeometry) Move_Y=-(AspectRatio*Scale_X*SceneRect.width())/SceneRect.height();
+ Scale_Y=-Move_Y;
+ break;
+ }
+
+ // Apply magnetic rules horizontal
+ for (int Ruller=0;Ruller<MagnetHoriz.count();Ruller++) if ((MagnetHoriz[Ruller]<NewCurSelRect.bottom())&&(NewCurSelRect.top()>=MagnetHoriz[Ruller]-HANDLEMAGNETY)&&(NewCurSelRect.top()<=MagnetHoriz[Ruller]+HANDLEMAGNETY)) {
+ Move_Y =(MagnetHoriz[Ruller]-Sel_Y*SceneRect.height())/SceneRect.height();
+ if (LockGeometry) Scale_X=-(Move_Y*SceneRect.height()/AspectRatio)/SceneRect.width();
+ Scale_Y=-Move_Y;
+ break;
+ }
+ // Right
+ } else if (TransfoType==RESIZERIGHT) {
+ // Adjust DX and DY for resize not less than 0
+ if (DX<=-(Sel_W-MINVALUE)) DX=-(Sel_W-MINVALUE);
+ if (DY<=-(Sel_H-MINVALUE)) DY=-(Sel_H-MINVALUE);
+ Move_X =0;
+ Scale_X=DX;
+ if (LockGeometry) {
+ Scale_Y=(AspectRatio*Scale_X*SceneRect.width())/SceneRect.height();
+ Move_Y =-Scale_Y/2;
+ }
+ NewCurSelRect=ComputeNewCurSelRect();
+
+ // Apply magnetic rules vertical
+ for (int Ruller=0;Ruller<MagnetVert.count();Ruller++) if ((MagnetVert[Ruller]>NewCurSelRect.left())&&(NewCurSelRect.right()>=MagnetVert[Ruller]-HANDLEMAGNETX)&&(NewCurSelRect.right()<=MagnetVert[Ruller]+HANDLEMAGNETX)) {
+ Scale_X=(MagnetVert[Ruller]-(Sel_X+Sel_W)*SceneRect.width())/SceneRect.width();
+ if (LockGeometry) {
+ Scale_Y=(AspectRatio*Scale_X*SceneRect.width())/SceneRect.height();
+ Move_Y =-Scale_Y/2;
+ }
+ break;
+ }
+ // Bottom right
+ } else if (TransfoType==RESIZEDOWNRIGHT) {
+ // Adjust DX and DY for resize not less than 0
+ if (DX<=-(Sel_W-MINVALUE)) DX=-(Sel_W-MINVALUE);
+ if (DY<=-(Sel_H-MINVALUE)) DY=-(Sel_H-MINVALUE);
+ Move_X =0;
+ Scale_X =DX;
+ Move_Y =0;
+ Scale_Y =LockGeometry?(AspectRatio*Scale_X*SceneRect.width())/SceneRect.height():DY;
+ NewCurSelRect=ComputeNewCurSelRect();
+
+ // Apply magnetic rules vertical
+ for (int Ruller=0;Ruller<MagnetVert.count();Ruller++) if ((MagnetVert[Ruller]>NewCurSelRect.left())&&(NewCurSelRect.right()>=MagnetVert[Ruller]-HANDLEMAGNETX)&&(NewCurSelRect.right()<=MagnetVert[Ruller]+HANDLEMAGNETX)) {
+ Scale_X=(MagnetVert[Ruller]-(Sel_X+Sel_W)*SceneRect.width())/SceneRect.width();
+ if (LockGeometry) Scale_Y=(AspectRatio*Scale_X*SceneRect.width())/SceneRect.height();
+ break;
+ }
+
+ // Apply magnetic rules horizontal
+ for (int Ruller=0;Ruller<MagnetHoriz.count();Ruller++) if ((MagnetHoriz[Ruller]>NewCurSelRect.top())&&(NewCurSelRect.bottom()>=MagnetHoriz[Ruller]-HANDLEMAGNETY)&&(NewCurSelRect.bottom()<=MagnetHoriz[Ruller]+HANDLEMAGNETY)) {
+ Scale_Y =(MagnetHoriz[Ruller]-(Sel_Y+Sel_H)*SceneRect.height())/SceneRect.height();
+ if (LockGeometry) Scale_X=(Scale_Y*SceneRect.height()/AspectRatio)/SceneRect.width();
+ break;
+ }
+ // Top
+ } else if (TransfoType==RESIZEUP) {
+ // Adjust DX and DY for resize not less than 0
+ if (DY>=Sel_H-MINVALUE) DY=Sel_H-MINVALUE;
+ Move_Y =DY;
+ Scale_Y=-Move_Y;
+ if (LockGeometry) {
+ Scale_X=(Scale_Y*SceneRect.height()/AspectRatio)/SceneRect.width();
+ Move_X =-Scale_X/2;
+ }
+ NewCurSelRect=ComputeNewCurSelRect();
+
+ // Apply magnetic rules horizontal
+ for (int Ruller=0;Ruller<MagnetHoriz.count();Ruller++) if ((MagnetHoriz[Ruller]<NewCurSelRect.bottom())&&(NewCurSelRect.top()>=MagnetHoriz[Ruller]-HANDLEMAGNETY)&&(NewCurSelRect.top()<=MagnetHoriz[Ruller]+HANDLEMAGNETY)) {
+ Move_Y =(MagnetHoriz[Ruller]-Sel_Y*SceneRect.height())/SceneRect.height();
+ Scale_Y=-Move_Y;
+ if (LockGeometry) {
+ Scale_X=(Scale_Y*SceneRect.height()/AspectRatio)/SceneRect.width();
+ Move_X =-Scale_X/2;
+ }
+ break;
+ }
+ // Bottom
+ } else if (TransfoType==RESIZEDOWN) {
+ // Adjust DX and DY for resize not less than 0
+ if (DY<=-(Sel_H-MINVALUE)) DY=-(Sel_H-MINVALUE);
+ Move_Y =0;
+ Scale_Y=DY;
+ if (LockGeometry) {
+ Scale_X=(Scale_Y*SceneRect.height()/AspectRatio)/SceneRect.width();
+ Move_X =-Scale_X/2;
+ }
+ NewCurSelRect=ComputeNewCurSelRect();
+
+ // Apply magnetic rules horizontal
+ for (int Ruller=0;Ruller<MagnetHoriz.count();Ruller++) if ((MagnetHoriz[Ruller]>NewCurSelRect.top())&&(NewCurSelRect.bottom()>=MagnetHoriz[Ruller]-HANDLEMAGNETY)&&(NewCurSelRect.bottom()<=MagnetHoriz[Ruller]+HANDLEMAGNETY)) {
+ Scale_Y =(MagnetHoriz[Ruller]-(Sel_Y+Sel_H)*SceneRect.height())/SceneRect.height();
+ if (LockGeometry) {
+ Scale_X=(Scale_Y*SceneRect.height()/AspectRatio)/SceneRect.width();
+ Move_X =-Scale_X/2;
+ }
+ break;
+ }
+ // Move
+ } else if (TransfoType==MOVEBLOCK) {
+ Move_X =DX;
+ Move_Y =DY;
+ Scale_X=0;
+ Scale_Y=0;
+
+ if (MagneticRuler!=0) {
+ QRect NewCurSelRect=ComputeNewCurSelRect();
+ DX=0;
+ DY=0;
+
+ // Apply magnetic rules vertical
+ for (int Ruller=0;Ruller<MagnetVert.count();Ruller++) {
+ if ((NewCurSelRect.left() >=MagnetVert[Ruller]-HANDLEMAGNETX)&&(NewCurSelRect.left() <=MagnetVert[Ruller]+HANDLEMAGNETX)) { DX=NewCurSelRect.left() -MagnetVert[Ruller]; break; }
+ else if ((NewCurSelRect.right() >=MagnetVert[Ruller]-HANDLEMAGNETX)&&(NewCurSelRect.right() <=MagnetVert[Ruller]+HANDLEMAGNETX)) { DX=NewCurSelRect.right() -MagnetVert[Ruller]; break; }
+ else if ((NewCurSelRect.center().x()>=MagnetVert[Ruller]-HANDLEMAGNETX)&&(NewCurSelRect.center().x()<=MagnetVert[Ruller]+HANDLEMAGNETX)) { DX=NewCurSelRect.center().x()-MagnetVert[Ruller]; break; }
+ }
+
+ // Apply magnetic rules horizontal
+ for (int Ruller=0;Ruller<MagnetHoriz.count();Ruller++) {
+ if ((NewCurSelRect.top() >=MagnetHoriz[Ruller]-HANDLEMAGNETY)&&(NewCurSelRect.top() <=MagnetHoriz[Ruller]+HANDLEMAGNETY)) { DY=NewCurSelRect.top() -MagnetHoriz[Ruller]; break; }
+ else if ((NewCurSelRect.bottom() >=MagnetHoriz[Ruller]-HANDLEMAGNETY)&&(NewCurSelRect.bottom() <=MagnetHoriz[Ruller]+HANDLEMAGNETY)) { DY=NewCurSelRect.bottom() -MagnetHoriz[Ruller]; break; }
+ else if ((NewCurSelRect.center().y()>=MagnetHoriz[Ruller]-HANDLEMAGNETY)&&(NewCurSelRect.center().y()<=MagnetHoriz[Ruller]+HANDLEMAGNETY)) { DY=NewCurSelRect.center().y()-MagnetHoriz[Ruller]; break; }
+ }
+
+ Move_X=double(event->pos().x()-DX-CapturePos.x())/SceneRect.width();
+ Move_Y=double(event->pos().y()-DY-CapturePos.y())/SceneRect.height();
+ }
+ }
+ if ((Move_X!=0)||(Move_Y!=0)||(Scale_X!=0)||(Scale_Y!=0)) {
+ RefreshDisplay();
+ if (NbrSelected==1) emit DisplayTransformBlock(Move_X,Move_Y,Scale_X,Scale_Y,Sel_X,Sel_Y,Sel_W,Sel_H);
+ }
+ }
+}
+
+//====================================================================================================================
+
+void cInteractiveZone::mouseDoubleClickEvent(QMouseEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cInteractiveZone::mouseDoubleClickEvent");
+ if ((!BlockTable)||(!BlockTable->CompositionList)) return;
+
+ if (event->button()==Qt::LeftButton) {
+ if (!((NbrSelected==1)&&(IsInSelectedRect(event->pos())))) {
+ if (NbrSelected>=0) BlockTable->clearSelection();
+ // Try to select another block
+ int i=BlockTable->CompositionList->List.count()-1;
+ while (i>=0) {
+ if (BlockTable->CompositionList->List[i]->IsVisible) {
+ QRect ObjRect=QRect(BlockTable->CompositionList->List[i]->x*SceneRect.width(),BlockTable->CompositionList->List[i]->y*SceneRect.height(),
+ BlockTable->CompositionList->List[i]->w*SceneRect.width(),BlockTable->CompositionList->List[i]->h*SceneRect.height());
+ if (IsInRect(event->pos(),ObjRect)) {
+ BlockTable->clearSelection();
+ BlockTable->setCurrentCell(i,0,QItemSelectionModel::Current|QItemSelectionModel::Select);
+ break;
+ }
+ }
+ i--;
+ }
+ UpdateIsSelected();
+ }
+ if ((NbrSelected==1)&&(IsInSelectedRect(event->pos()))) QTimer::singleShot(250,this,SLOT(DifferedEmitDoubleClickEvent())); // Append " emit DoubleClickEvent" to the message queue
+ }
+}
+
+//====================================================================================================================
+
+void cInteractiveZone::mousePressEvent(QMouseEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cInteractiveZone::mousePressEvent");
+ if ((!BlockTable)||(!BlockTable->CompositionList)) return;
+
+ ManageCursor(event->pos(),event->modifiers());
+ emit StartSelectionChange();
+ setFocus();
+ if (event->button()==Qt::RightButton) {
+
+ // Reset selection if no block or only one is selected
+ if ((!((NbrSelected>0)&&(IsInSelectedRect(event->pos()))))&&(NbrSelected<2)) {
+ BlockTable->clearSelection();
+ // Try to select another block
+ int i=BlockTable->CompositionList->List.count()-1;
+ while (i>=0) {
+ if (BlockTable->CompositionList->List[i]->IsVisible) {
+ QRect ObjRect=QRect(BlockTable->CompositionList->List[i]->x*SceneRect.width(),BlockTable->CompositionList->List[i]->y*SceneRect.height(),
+ BlockTable->CompositionList->List[i]->w*SceneRect.width(),BlockTable->CompositionList->List[i]->h*SceneRect.height());
+ if (IsInRect(event->pos(),ObjRect)) {
+ BlockTable->clearSelection();
+ BlockTable->setCurrentCell(i,0,QItemSelectionModel::Current|QItemSelectionModel::Select);
+ break;
+ }
+ }
+ i--;
+ }
+ UpdateIsSelected();
+ }
+ QTimer::singleShot(250,this,SLOT(DifferedEmitRightClickEvent())); // Append " emit RightClickEvent" to the message queue
+
+ } if (event->button()==Qt::LeftButton) {
+
+ TransfoType=NOTYETDEFINED;
+
+ if ((event->modifiers()==Qt::ControlModifier)||(event->modifiers()==Qt::ShiftModifier)) {
+
+ // Try to toggle block to a multi block selection (one click to add, new click to remove)
+ int i=BlockTable->CompositionList->List.count()-1;
+ while (i>=0) {
+ if (BlockTable->CompositionList->List[i]->IsVisible) {
+ QRect ObjRect=QRect(BlockTable->CompositionList->List[i]->x*SceneRect.width(),BlockTable->CompositionList->List[i]->y*SceneRect.height(),
+ BlockTable->CompositionList->List[i]->w*SceneRect.width(),BlockTable->CompositionList->List[i]->h*SceneRect.height());
+ if (IsInRect(event->pos(),ObjRect)) {
+ IsSelected[i]=!IsSelected[i];
+ break;
+ }
+ }
+ i--;
+ }
+
+ int FirstSelected=-1;
+ for (i=0;i<BlockTable->CompositionList->List.count();i++) if (IsSelected[i]) {
+ FirstSelected=i;
+ break;
+ }
+ BlockTable->clearSelection();
+ if (FirstSelected==-1) {
+ BlockTable->setCurrentCell(i,0,QItemSelectionModel::Current|QItemSelectionModel::Deselect);
+ } else {
+ BlockTable->setCurrentCell(i,0,QItemSelectionModel::Current|QItemSelectionModel::Select);
+ for (i=0;i<BlockTable->CompositionList->List.count();i++) if ((IsSelected[i])&&(i!=FirstSelected))
+ BlockTable->setCurrentCell(i,0,QItemSelectionModel::Select);
+ }
+ } else if (event->modifiers()==(Qt::ShiftModifier|Qt::ControlModifier)) {
+
+ // Try to select a block under current selected block
+ if (NbrSelected==1) {
+ int i=IsSelected.count()-1;
+ while ((i>=0)&&(!IsSelected[i])) i--; // Find current selected block
+ for (int j=i-1;j>=0;j--) if (BlockTable->CompositionList->List[j]->IsVisible) {
+ QRect ObjRect=QRect(BlockTable->CompositionList->List[j]->x*SceneRect.width(),BlockTable->CompositionList->List[j]->y*SceneRect.height(),
+ BlockTable->CompositionList->List[j]->w*SceneRect.width(),BlockTable->CompositionList->List[j]->h*SceneRect.height());
+ if (IsInRect(event->pos(),ObjRect)) {
+ BlockTable->clearSelection();
+ BlockTable->setCurrentCell(j,0,QItemSelectionModel::Current|QItemSelectionModel::Select);
+ break;
+ }
+ }
+ }
+
+ } else if (event->modifiers()==Qt::NoModifier) {
+ // Resize
+ if ((!SelectionHaveLockBlock)&&(NbrSelected>0)&&(IsInRect(event->pos(),QRect(CurSelRect.left()-HANDLESIZEX/2, CurSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEDOWNLEFT; // Bottom left
+ else if ((!SelectionHaveLockBlock)&&(NbrSelected>0)&&(IsInRect(event->pos(),QRect(CurSelRect.left()-HANDLESIZEX/2,CurSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEUPLEFT; // Top left
+ else if ((!SelectionHaveLockBlock)&&(NbrSelected>0)&&(IsInRect(event->pos(),QRect(CurSelRect.left()-HANDLESIZEX/2, CurSelRect.top()+CurSelRect.height()/2-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZELEFT; // Left
+ else if ((!SelectionHaveLockBlock)&&(NbrSelected>0)&&(IsInRect(event->pos(),QRect(CurSelRect.right()-HANDLESIZEX/2,CurSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEUPRIGHT; // Top right
+ else if ((!SelectionHaveLockBlock)&&(NbrSelected>0)&&(IsInRect(event->pos(),QRect(CurSelRect.right()-HANDLESIZEX/2,CurSelRect.top()+CurSelRect.height()/2-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZERIGHT; // Right
+ else if ((!SelectionHaveLockBlock)&&(NbrSelected>0)&&(IsInRect(event->pos(),QRect(CurSelRect.right()-HANDLESIZEX/2,CurSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEDOWNRIGHT;// Bottom right
+ else if ((!SelectionHaveLockBlock)&&(NbrSelected>0)&&(IsInRect(event->pos(),QRect(CurSelRect.left()+CurSelRect.width()/2-HANDLESIZEX/2,CurSelRect.top()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEUP; // Top
+ else if ((!SelectionHaveLockBlock)&&(NbrSelected>0)&&(IsInRect(event->pos(),QRect(CurSelRect.left()+CurSelRect.width()/2-HANDLESIZEX/2,CurSelRect.bottom()-HANDLESIZEY/2,HANDLESIZEX,HANDLESIZEY)))) TransfoType=RESIZEDOWN; // Bottom
+ else {
+ // Move
+ if ((NbrSelected==0)||(!IsInSelectedRect(event->pos()))) {
+
+ // Replace current selection
+ BlockTable->clearSelection();
+ int i=BlockTable->CompositionList->List.count()-1;
+ while (i>=0) {
+ if (BlockTable->CompositionList->List[i]->IsVisible) {
+ QRect ObjRect=QRect(BlockTable->CompositionList->List[i]->x*SceneRect.width(),BlockTable->CompositionList->List[i]->y*SceneRect.height(),
+ BlockTable->CompositionList->List[i]->w*SceneRect.width(),BlockTable->CompositionList->List[i]->h*SceneRect.height());
+ if (IsInRect(event->pos(),ObjRect)) {
+ BlockTable->clearSelection();
+ BlockTable->setCurrentCell(i,0,QItemSelectionModel::Current|QItemSelectionModel::Select);
+ break;
+ }
+ }
+ i--;
+ }
+ } else if ((IsInSelectedRect(event->pos()))&&(!SelectionHaveLockBlock)) {
+ TransfoType=MOVEBLOCK;
+ setCursor(Qt::ClosedHandCursor);
+ }
+ }
+
+ if (TransfoType!=NOTYETDEFINED) {
+ IsCapture=true;
+ CapturePos=event->pos();
+ Move_X =0;
+ Move_Y =0;
+ Scale_X=0;
+ Scale_Y=0;
+ }
+ }
+ }
+ emit EndSelectionChange();
+}
+
+//====================================================================================================================
+
+void cInteractiveZone::mouseReleaseEvent(QMouseEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cInteractiveZone::mouseReleaseEvent");
+ if ((!BlockTable)||(!BlockTable->CompositionList)||(!IsCapture)) return;
+
+ IsCapture=false;
+
+ // Block move
+ if ((!SelectionHaveLockBlock)&&((Move_X!=0)||(Move_Y!=0)||(Scale_X!=0)||(Scale_Y!=0))) emit TransformBlock(Move_X,Move_Y,Scale_X,Scale_Y,Sel_X,Sel_Y,Sel_W,Sel_H);
+ ManageCursor(event->pos(),event->modifiers());
+}
diff --git a/src/ffDiaporama/DlgSlide/cInteractiveZone.h b/src/ffDiaporama/DlgSlide/cInteractiveZone.h
new file mode 100755
index 0000000..b36a9a6
--- /dev/null
+++ b/src/ffDiaporama/DlgSlide/cInteractiveZone.h
@@ -0,0 +1,97 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef CINTERACTIVEZONE_H
+#define CINTERACTIVEZONE_H
+
+#include "../../engine/_GlobalDefines.h"
+#include "../_Diaporama.h"
+#include "../_ApplicationDefinitions.h"
+#include "cCustomBlockTable.h"
+
+#include <QWidget>
+
+enum TRANSFOTYPE {NOTYETDEFINED,MOVEBLOCK,RESIZEUPLEFT,RESIZEDOWNLEFT,RESIZEUPRIGHT,RESIZEDOWNRIGHT,RESIZELEFT,RESIZERIGHT,RESIZEUP,RESIZEDOWN};
+
+class cInteractiveZone : public QWidget {
+Q_OBJECT
+public:
+ int MagneticRuler;
+ cCustomBlockTable *BlockTable;
+ cDiaporamaObject *DiaporamaObject;
+ int CurrentShotNbr; // Current shot number
+ QImage *BackgroundImage;
+ QImage *ForegroundImage;
+ QRectF SceneRect;
+ QRectF CurSelRect;
+ bool IsCapture; // True if there is an active capture
+ QPoint CapturePos;
+ QList<bool> IsSelected;
+ int NbrSelected;
+ bool LockGeometry;
+ bool SelectionHaveLockBlock; // True if selection contains block with SameAsPreviousShot propertie
+
+ // Selection rectangle properties
+ double AspectRatio; // Aspect ratio of the (multi)selection rectangle
+ double Sel_X,Sel_Y,Sel_W,Sel_H; // Position and size of the current (multi)selection rectangle
+
+ // Transformations
+ TRANSFOTYPE TransfoType;
+ double Move_X,Move_Y; // Blocks move
+ double Scale_X,Scale_Y; // Blocks resize
+
+ explicit cInteractiveZone(QWidget *parent = 0);
+ ~cInteractiveZone();
+
+ void RefreshDisplay();
+
+protected:
+ virtual void paintEvent(QPaintEvent *event);
+
+ virtual void mouseDoubleClickEvent(QMouseEvent *event);
+ virtual void mouseMoveEvent(QMouseEvent *event);
+ virtual void mousePressEvent(QMouseEvent *event);
+ virtual void mouseReleaseEvent(QMouseEvent *event);
+ virtual void keyPressEvent(QKeyEvent *event);
+ virtual void keyReleaseEvent(QKeyEvent *event);
+
+signals:
+ void StartSelectionChange();
+ void EndSelectionChange();
+ void RightClickEvent(QMouseEvent *ev);
+ void DoubleClickEvent(QMouseEvent *ev);
+ void TransformBlock(double Move_X,double Move_Y,double Scale_X,double Scale_Y,double Sel_X,double Sel_Y,double Sel_W,double Sel_H);
+ void DisplayTransformBlock(double Move_X,double Move_Y,double Scale_X,double Scale_Y,double Sel_X,double Sel_Y,double Sel_W,double Sel_H);
+
+public slots:
+ void DifferedEmitRightClickEvent();
+ void DifferedEmitDoubleClickEvent();
+
+private:
+ bool IsInRect(QPoint Pos,QRect Rect);
+ bool IsInSelectedRect(QPoint Pos);
+ void GetForDisplayUnit(double &DisplayW,double &DisplayH);
+ void UpdateIsSelected();
+ void ManageCursor(QPoint Pos,Qt::KeyboardModifiers Modifiers);
+ QRect ComputeNewCurSelRect();
+ void DrawSelect(QPainter &Painter,QRectF Rect,bool WithHandles);
+};
+
+#endif // CINTERACTIVEZONE_H
diff --git a/src/ffDiaporama/DlgSlideProperties.cpp b/src/ffDiaporama/DlgSlideProperties.cpp
deleted file mode 100755
index fbdd317..0000000
--- a/src/ffDiaporama/DlgSlideProperties.cpp
+++ /dev/null
@@ -1,2206 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "DlgSlideProperties.h"
-#include "ui_DlgSlideProperties.h"
-#include "wgt_QCustomThumbnails.h"
-#include "DlgSlideProperties.h"
-#include "DlgImageCorrection.h"
-#include "DlgVideoEdit.h"
-#include "DlgTextEdit.h"
-#include "mainwindow.h"
-
-#include <QClipboard>
-#include <QMimeData>
-#include <QMessageBox>
-#include <QFileDialog>
-
-#define ICON_FRAMING_CUSTOM ":/img/action_cancel.png"
-#define ICON_FRAMING_FULL ":/img/AdjustWH.png"
-#define ICON_FRAMING_WIDTH ":/img/AdjustW.png"
-#define ICON_FRAMING_HEIGHT ":/img/AdjustH.png"
-#define ICON_GLOBALCONF ":/img/db.png"
-#define ICON_USERCONF ":/img/db_update.png"
-
-#define ICON_GEOMETRY_LOCKED ":/img/Geometry_Lock.png"
-#define ICON_GEOMETRY_UNLOCKED ":/img/Geometry_Unlock.png"
-#define ICON_GEOMETRY_PROJECT ":/img/Geometry_ProjectLock.png"
-#define ICON_VISIBLE_OK ":/img/Visible_OK.png"
-#define ICON_VISIBLE_KO ":/img/Visible_KO.png"
-#define ICON_SOUND_OK ":/img/object_sound.png"
-#define ICON_SOUND_KO ":/img/sound_KO.png"
-#define ICON_OBJECT_TEXT ":/img/object_text.png"
-#define ICON_OBJECT_SOUND ":/img/object_sound.png"
-#define ICON_OBJECT_MOVIE ":/img/object_movie.png"
-#define ICON_OBJECT_IMAGE ":/img/object_image.png"
-#define ICON_OBJECT_TEXTHIDE ":/img/object_textHide.png"
-#define ICON_OBJECT_MOVIEHIDE ":/img/object_movieHide.png"
-#define ICON_OBJECT_IMAGEHIDE ":/img/object_imageHide.png"
-#define ICON_RULER_ON ":/img/ruler_ok.png"
-#define ICON_RULER_OFF ":/img/ruler_ko.png"
-
-DlgSlideProperties::DlgSlideProperties(cDiaporamaObject *DiaporamaObject,QWidget *parent):QDialog(parent),ui(new Ui::DlgSlideProperties) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::DlgSlideProperties");
-
- ui->setupUi(this);
- this->DiaporamaObject =DiaporamaObject;
- GlobalMainWindow->DragItemSource=-1;
- GlobalMainWindow->DragItemDest =-1;
- GlobalMainWindow->IsDragOn =0;
-
- setWindowFlags((windowFlags()|Qt::CustomizeWindowHint|Qt::WindowSystemMenuHint|Qt::WindowMaximizeButtonHint)&(~Qt::WindowMinimizeButtonHint));
-
- ui->SplitterTop->setCollapsible(0,false);
- ui->SplitterTop->setCollapsible(1,false);
- ui->SplitterBottom->setCollapsible(0,false);
- ui->SplitterBottom->setCollapsible(1,true);
-
- ui->TableInfo->setSelectionBehavior(QAbstractItemView::SelectRows);
- ui->TableInfo->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
- ui->TableInfo->horizontalHeader()->show();
- ui->TableInfo->horizontalHeader()->setStretchLastSection(false);
- ui->TableInfo->horizontalHeader()->setSortIndicatorShown(false);
- ui->TableInfo->horizontalHeader()->setCascadingSectionResizes(false);
- ui->TableInfo->horizontalHeader()->setClickable(false);
- ui->TableInfo->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft);
- ui->TableInfo->horizontalHeader()->setMovable(false);
- ui->TableInfo->horizontalHeader()->setResizeMode(QHeaderView::Fixed); //Fixed because ResizeToContents will be done after table filling
- ui->TableInfo->verticalHeader()->hide();
- ui->TableInfo->verticalHeader()->setStretchLastSection(false);
- ui->TableInfo->verticalHeader()->setSortIndicatorShown(false);
- ui->TableInfo->verticalHeader()->setResizeMode(QHeaderView::Fixed); // Fixed because ResizeToContents will be done after table filling
- ui->TableInfo->setShowGrid(true); // Ensure grid display
- ui->TableInfo->setWordWrap(false); // Ensure no word wrap
- ui->TableInfo->setTextElideMode(Qt::ElideNone); // Ensure no line ellipsis (...)
- //ui->tableWidget->setColumnCount(2);
- //ui->tableWidget->setHorizontalHeaderLabels(QString("Propertie;Value").split(";"));
-
- // Save object before modification for cancel button
- Undo=new QDomDocument(APPLICATION_NAME);
- QDomElement root=Undo->createElement("UNDO-DLG"); // Create xml document and root
- DiaporamaObject->SaveToXML(root,"UNDO-DLG-OBJECT",DiaporamaObject->Parent->ProjectFileName,true); // Save object
- Undo->appendChild(root); // Add object to xml document
-
- setWindowTitle(windowTitle()+" - "+QApplication::translate("DlgSlideProperties","Slide")+QString(" %1/%2").arg(DiaporamaObject->Parent->CurrentCol+1).arg(DiaporamaObject->Parent->List.count()));
- ui->NewChapterCB->setChecked(DiaporamaObject->StartNewChapter);
- ui->NewChapterCB->setEnabled(DiaporamaObject->Parent->CurrentCol!=0);
- ui->ChapterLabel->setEnabled(DiaporamaObject->Parent->CurrentCol!=0);
- ui->OKPreviousBT->setEnabled(DiaporamaObject->Parent->CurrentCol>0);
- ui->OKNextBT->setEnabled(DiaporamaObject->Parent->CurrentCol<DiaporamaObject->Parent->List.count()-1);
-
- switch (GlobalMainWindow->Diaporama->ImageGeometry) {
- case GEOMETRY_4_3 : ProjectGeometry=double(1440)/double(1920); break;
- case GEOMETRY_16_9 : ProjectGeometry=double(1080)/double(1920); break;
- case GEOMETRY_40_17 : ProjectGeometry=double(816)/double(1920); break;
-
- }
- ProjectGeometry=QString("%1").arg(ProjectGeometry,0,'e').toDouble(); // Rounded to same number as style managment
-
- //******************************
-
- IsFirstInitDone = false; // True when first show window was done
- scene = NULL;
- NextZValue = 500;
- BackgroundImage = NULL;
- CompositionList = NULL;
- WithPen = 1;
-
- // Re-entrence flags
- InBlockTable_SelectionChanged =false;
- InScene_SelectionChanged =false;
- InShotTable_SelectionChanged =false;
-
- InRefreshStyleControls =false;
- InRefreshControls =false;
- InRefreshSceneImage =false;
-
- StopMAJSpinbox = false;
- StopMajFramingStyle = false;
-
- MagneticRuler.MagneticRuler=DiaporamaObject->Parent->ApplicationConfig->SlideRuler;
-
- // Init combo box Background form
- for (int i=0;i<12;i++) ui->BackgroundFormCB->addItem("");
- MakeFormIcon(ui->BackgroundFormCB);
- ui->FramingStyleCB->view()->setFixedWidth(300);
- ui->ShadowEffectCB->view()->setFixedWidth(300);
-
- // Init combo box Background shadow form
- ui->ShadowEffectCB->addItem(QApplication::translate("DlgSlideProperties","None"));
- ui->ShadowEffectCB->addItem(QApplication::translate("DlgSlideProperties","Shadow upper left"));
- ui->ShadowEffectCB->addItem(QApplication::translate("DlgSlideProperties","Shadow upper right"));
- ui->ShadowEffectCB->addItem(QApplication::translate("DlgSlideProperties","Shadow bottom left"));
- ui->ShadowEffectCB->addItem(QApplication::translate("DlgSlideProperties","Shadow bottom right"));
- ui->ShadowEffectED->setRange(1,100);
-
- // Init combo box external border style
- ui->PenStyleCB->addItem(""); ui->PenStyleCB->setItemData(ui->PenStyleCB->count()-1,(int)Qt::SolidLine);
- ui->PenStyleCB->addItem(""); ui->PenStyleCB->setItemData(ui->PenStyleCB->count()-1,(int)Qt::DashLine);
- ui->PenStyleCB->addItem(""); ui->PenStyleCB->setItemData(ui->PenStyleCB->count()-1,(int)Qt::DotLine);
- ui->PenStyleCB->addItem(""); ui->PenStyleCB->setItemData(ui->PenStyleCB->count()-1,(int)Qt::DashDotLine);
- ui->PenStyleCB->addItem(""); ui->PenStyleCB->setItemData(ui->PenStyleCB->count()-1,(int)Qt::DashDotDotLine);
- MakeBorderStyleIcon(ui->PenStyleCB);
- // Init shape Borders
- ui->PenSizeEd->setMinimum(0); ui->PenSizeEd->setMaximum(30);
-
- // Init combo box Background opacity
- ui->OpacityCB->addItem("100%");
- ui->OpacityCB->addItem(" 75%");
- ui->OpacityCB->addItem(" 50%");
- ui->OpacityCB->addItem(" 25%");
-
- ui->RotateXED->setRange(-180,180); ui->RotateXSLD->setRange(-180,180);
- ui->RotateYED->setRange(-180,180); ui->RotateYSLD->setRange(-180,180);
- ui->RotateZED->setRange(-180,180); ui->RotateZSLD->setRange(-180,180);
-
- // Init Spinbox
-
- if (DiaporamaObject->Parent->ApplicationConfig->DisplayUnit==DISPLAYUNIT_PERCENT) {
- ui->PosXEd->setDecimals(2); ui->PosXEd->setSingleStep(1); ui->PosXEd->setSuffix("%");
- ui->PosYEd->setDecimals(2); ui->PosYEd->setSingleStep(1); ui->PosYEd->setSuffix("%");
- ui->WidthEd->setDecimals(2); ui->WidthEd->setSingleStep(1); ui->WidthEd->setSuffix("%");
- ui->HeightEd->setDecimals(2); ui->HeightEd->setSingleStep(1); ui->HeightEd->setSuffix("%");
- } else { // DisplayUnit==DISPLAYUNIT_PIXELS
- ui->PosXEd->setDecimals(0); ui->PosXEd->setSingleStep(1); ui->PosXEd->setSuffix("");
- ui->PosYEd->setDecimals(0); ui->PosYEd->setSingleStep(1); ui->PosYEd->setSuffix("");
- ui->WidthEd->setDecimals(0); ui->WidthEd->setSingleStep(1); ui->WidthEd->setSuffix("");
- ui->HeightEd->setDecimals(0); ui->HeightEd->setSingleStep(1); ui->HeightEd->setSuffix("");
- }
-
- // Define handler
- connect(ui->CloseBT,SIGNAL(clicked()),this,SLOT(reject()));
- connect(ui->OKBT,SIGNAL(clicked()),this,SLOT(accept()));
- connect(ui->OKPreviousBT,SIGNAL(clicked()),this,SLOT(OKPrevious()));
- connect(ui->OKNextBT,SIGNAL(clicked()),this,SLOT(OKNext()));
- connect(ui->HelpBT,SIGNAL(clicked()),this,SLOT(Help()));
- connect(ui->TVMarginsBT,SIGNAL(clicked()),this,SLOT(s_TVMarginsBt()));
-
- connect(ui->CopyBlockBT,SIGNAL(clicked()),this,SLOT(s_CopyBlockBT()));
- connect(ui->CutBlockBT,SIGNAL(clicked()),this,SLOT(s_CutBlockBT()));
- connect(ui->PasteBlockBT,SIGNAL(clicked()),this,SLOT(s_PasteBlockBT()));
-
- connect(ui->VisibleBT,SIGNAL(clicked()),this,SLOT(ChangeVisibleState()));
- connect(ui->SoundBT,SIGNAL(clicked()),this,SLOT(GetSound()));
-
- connect(ui->BlockUpBT,SIGNAL(clicked()),this,SLOT(BlockUp()));
- connect(ui->BlockDownBT,SIGNAL(clicked()),this,SLOT(BlockDown()));
-
- connect(ui->SlideNameED,SIGNAL(textEdited(QString)),this,SLOT(s_SlideNameChange(QString)));
- connect(ui->NewChapterCB,SIGNAL(stateChanged(int)),this,SLOT(s_NewChapter(int)));
- connect(ui->ShotDurationED,SIGNAL(timeChanged(QTime)),this,SLOT(s_ShotDurationChange(QTime)));
-
- connect(ui->TextEditBT,SIGNAL(clicked()),this,SLOT(TextEditor()));
- connect(ui->ImageEditCorrectBT,SIGNAL(clicked()),this,SLOT(ImageEditCorrect()));
- connect(ui->VideoEditBT,SIGNAL(clicked()),this,SLOT(VideoEdit()));
-
- connect(ui->PosXEd,SIGNAL(valueChanged(double)),this,SLOT(s_ChgPosXValue(double)));
- connect(ui->PosYEd,SIGNAL(valueChanged(double)),this,SLOT(s_ChgPosYValue(double)));
- connect(ui->WidthEd,SIGNAL(valueChanged(double)),this,SLOT(s_ChgWidthValue(double)));
- connect(ui->HeightEd,SIGNAL(valueChanged(double)),this,SLOT(s_ChgHeightValue(double)));
- connect(ui->BackgroundFormCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChangeBackgroundForm(int)));
- connect(ui->OpacityCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChangeOpacity(int)));
- connect(ui->PenStyleCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChangePenStyle(int)));
- connect(ui->ShadowEffectCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChgShadowFormValue(int)));
- connect(ui->ShadowEffectED,SIGNAL(valueChanged(int)),this,SLOT(s_ChgShadowDistanceValue(int)));
-
- connect(ui->RotateXED,SIGNAL(valueChanged(int)),this,SLOT(s_ChgRotateXValue(int))); connect(ui->RotateXSLD,SIGNAL(valueChanged(int)),this,SLOT(s_ChgRotateXValue(int)));
- connect(ui->RotateYED,SIGNAL(valueChanged(int)),this,SLOT(s_ChgRotateYValue(int))); connect(ui->RotateYSLD,SIGNAL(valueChanged(int)),this,SLOT(s_ChgRotateYValue(int)));
- connect(ui->RotateZED,SIGNAL(valueChanged(int)),this,SLOT(s_ChgRotateZValue(int))); connect(ui->RotateZSLD,SIGNAL(valueChanged(int)),this,SLOT(s_ChgRotateZValue(int)));
- connect(ui->PenColorCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChPenColorCB(int)));
- connect(ui->PenSizeEd,SIGNAL(valueChanged(int)),this,SLOT(s_ChgPenSize(int)));
- connect(ui->ShadowColorCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChgShadowColorCB(int)));
-
- // Shot table part
- connect(ui->ShotTable,SIGNAL(itemSelectionChanged()),this,SLOT(s_ShotTable_SelectionChanged()));
- connect(ui->ShotTable,SIGNAL(DragMoveItem()),this,SLOT(s_ShotTableDragMoveItem()));
- connect(ui->AddShot,SIGNAL(pressed()),this,SLOT(s_ShotTable_AddShot()));
- connect(ui->RemoveShot,SIGNAL(pressed()),this,SLOT(s_ShotTable_RemoveShot()));
- connect(ui->ShotTableMoveLeftBt,SIGNAL(clicked()),this,SLOT(s_ShotTableMoveLeft()));
- connect(ui->ShotTableMoveRightBt,SIGNAL(clicked()),this,SLOT(s_ShotTableMoveRight()));
-
- // Block table/scene part
- connect(ui->BlockTable,SIGNAL(itemSelectionChanged()),this,SLOT(s_BlockTable_SelectionChanged()));
- connect(ui->BlockTable,SIGNAL(itemDoubleClicked(QTableWidgetItem *)),this,SLOT(s_BlockTable_ItemDoubleClicked(QTableWidgetItem *)));
- connect(ui->AddTextBlock,SIGNAL(pressed()),this,SLOT(s_BlockTable_AddNewTextBlock()));
- connect(ui->AddFileBlock,SIGNAL(pressed()),this,SLOT(s_BlockTable_AddNewFileBlock()));
- connect(ui->RemoveBlock,SIGNAL(pressed()),this,SLOT(s_BlockTable_RemoveBlock()));
-
- // Style buttons
- connect(ui->FramingStyleCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChangeFramingStyle(int)));
- connect(ui->CoordinateStyleBT,SIGNAL(pressed()),this,SLOT(s_CoordinateStyleBT()));
- connect(ui->BlockShapeStyleBT,SIGNAL(pressed()),this,SLOT(s_BlockShapeStyleBT()));
-
- s_Event_ClipboardChanged(); // Setup clipboard button state
- connect(QApplication::clipboard(),SIGNAL(dataChanged()),this,SLOT(s_Event_ClipboardChanged()));
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::MakeFormIcon(QComboBox *UICB) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::MakeFormIcon");
-
- for (int i=0;i<UICB->count();i++) {
- cCompositionObject Object(COMPOSITIONTYPE_BACKGROUND,0,GlobalMainWindow->ApplicationConfig);
- Object.Text ="";
- Object.x =0;
- Object.y =0;
- Object.w =1;
- Object.h =1;
- Object.BackgroundForm =i+1;
- Object.Opacity =4;
- Object.PenSize =1;
- Object.PenStyle =Qt::SolidLine;
- Object.PenColor ="#000000";
- Object.BackgroundBrush->BrushType=BRUSHTYPE_NOBRUSH;
- QPixmap Image(UICB->iconSize());
- QPainter Painter;
- Painter.begin(&Image);
- Painter.fillRect(QRect(0,0,UICB->iconSize().width(),UICB->iconSize().height()),"#ffffff");
- Object.DrawCompositionObject(&Painter,1,0,0,UICB->iconSize().width(),UICB->iconSize().height(),true,0,0,NULL,1,NULL,false);
- Painter.end();
- UICB->setItemIcon(i,QIcon(Image));
- }
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::MakeBorderStyleIcon(QComboBox *UICB) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::MakeBorderStyleIcon");
-
- for (int i=0;i<UICB->count();i++) {
- QPixmap Image(32,32);
- QPainter Painter;
- Painter.begin(&Image);
- Painter.fillRect(QRect(0,0,32,32),"#ffffff");
- QPen Pen;
- Pen.setColor(Qt::black);
- Pen.setStyle((Qt::PenStyle)UICB->itemData(i).toInt());
- Pen.setWidth(2);
- Painter.setPen(Pen);
- Painter.setBrush(QBrush(QColor("#ffffff")));
- Painter.drawLine(0,16,32,16);
- Painter.end();
- UICB->setItemIcon(i,QIcon(Image));
- }
-}
-
-//====================================================================================================================
-
-DlgSlideProperties::~DlgSlideProperties() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::~DlgSlideProperties");
-
- Clean();
- StopMAJSpinbox=true;
- if (BackgroundImage!=NULL) {
- delete BackgroundImage;
- BackgroundImage=NULL;
- }
- delete ui;
- delete Undo;
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::Clean() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::Clean");
-
- StopMAJSpinbox=true;
- InScene_SelectionChanged=true;
- // Delete scene and all of it's content, if exist
- if (scene!=NULL) {
- // delete all items
- while (scene->items().count()>0) {
- QGraphicsItem *Item=scene->items().at(0);
- QString data =Item->data(0).toString();
-
- scene->removeItem(Item); // Remove item from the scene
-
- if (data=="CustomGraphicsRectItem") delete (cCustomGraphicsRectItem *)Item;
- else if (data=="ResizeGraphicsRectItem") delete ((cResizeGraphicsRectItem *)Item)->RectItem;
- else if (data=="image") delete (QGraphicsPixmapItem *)Item;
- else ExitApplicationWithFatalError("Unkwnon item type in DlgSlideProperties::Clean");
- }
-
- delete scene;
- scene=NULL;
- }
- InScene_SelectionChanged=false;
- StopMAJSpinbox=false;
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::Help() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::Help");
-
- GlobalMainWindow->OpenHelp(HELPFILE_DlgSlideProperties);
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::resizeEvent(QResizeEvent *) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::resizeEvent");
-
- if (IsFirstInitDone) RefreshShotTable(ui->ShotTable->currentColumn()); // Fill the ShotTable and select 1st shot
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::SetSavedWindowGeometry() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::SetSavedWindowGeometry");
-
- DiaporamaObject->Parent->ApplicationConfig->DlgSlidePropertiesWSP->ApplyToWindow(this,ui->SplitterTop,ui->SplitterBottom);
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::showEvent(QShowEvent *ev) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::showEvent");
-
- QDialog::showEvent(ev);
- if (IsFirstInitDone) return;
- QTimer::singleShot(100,this,SLOT(SetSavedWindowGeometry()));
- IsFirstInitDone=true; // Set this flag to true to indicate that now we can prepeare display
- RefreshShotTable(0); // Fill the ShotTable and select 1st shot
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::GetForDisplayUnit(double &DisplayW,double &DisplayH) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::GetForDisplayUnit");
-
- if (DiaporamaObject->Parent->ImageGeometry==GEOMETRY_4_3) { DisplayW=1440; DisplayH=1080; }
- else if (DiaporamaObject->Parent->ImageGeometry==GEOMETRY_16_9) { DisplayW=1920; DisplayH=1080; }
- else if (DiaporamaObject->Parent->ImageGeometry==GEOMETRY_40_17) { DisplayW=1920; DisplayH=816; }
- else { DisplayW=0; DisplayH=0; }
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::s_NewChapter(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_SlideNameChange");
-
- DiaporamaObject->StartNewChapter=ui->NewChapterCB->isChecked();
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::s_SlideNameChange(QString NewText) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_SlideNameChange");
-
- DiaporamaObject->SlideName=NewText;
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::s_ShotDurationChange(QTime NewValue) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ShotDurationChange");
-
- int Current=ui->ShotTable->currentColumn();
- if ((Current<0)||(Current>=DiaporamaObject->List.count())) return;
- DiaporamaObject->List[Current]->StaticDuration=QTime(0,0,0,0).msecsTo(NewValue);
- if (!StopMAJSpinbox) RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::reject() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::reject");
-
- // Save Window size and position
- DiaporamaObject->Parent->ApplicationConfig->DlgSlidePropertiesWSP->SaveWindowState(this,ui->SplitterTop,ui->SplitterBottom);
- QDomElement root=Undo->documentElement();
- if (root.tagName()=="UNDO-DLG") DiaporamaObject->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL);
- done(1);
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::accept() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::accept");
-
- // Save Window size and position
- DiaporamaObject->Parent->ApplicationConfig->DlgSlidePropertiesWSP->SaveWindowState(this,ui->SplitterTop,ui->SplitterBottom);
- // Close the box
- done(0);
-}
-
-void DlgSlideProperties::OKPrevious() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::OKPrevious");
-
- // Save Window size and position
- DiaporamaObject->Parent->ApplicationConfig->DlgSlidePropertiesWSP->SaveWindowState(this,ui->SplitterTop,ui->SplitterBottom);
- // Close the box
- done(2);
-}
-
-void DlgSlideProperties::OKNext() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::OKNext");
-
- // Save Window size and position
- DiaporamaObject->Parent->ApplicationConfig->DlgSlidePropertiesWSP->SaveWindowState(this,ui->SplitterTop,ui->SplitterBottom);
- // Close the box
- done(3);
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::GetSound() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::GetSound");
-
- int CurrentShot=ui->ShotTable->currentColumn();
- if ((CurrentShot>=0)&&(CurrentShot<DiaporamaObject->List.count())) CompositionList=&DiaporamaObject->List[CurrentShot]->ShotComposition;
- int CurrentBlock=ui->BlockTable->currentRow();
- cCompositionObject *CurrentTextItem=NULL;
- if ((CompositionList)&&(CurrentBlock>=0)&&(CurrentBlock<CompositionList->List.count())) CurrentTextItem=CompositionList->List[CurrentBlock];
-
- bool IsVideo =(CurrentTextItem)&&(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)&&(CurrentTextItem->BackgroundBrush->Video!=NULL);
- bool HaveSound=IsVideo && (CurrentTextItem->BackgroundBrush->SoundVolume!=0);
-
- // Only if this block is a video and don't have sound yet
- if (IsVideo && !HaveSound) {
- for (int i=0;i<CompositionList->List.count();i++) {
- if ((CurrentTextItem!=CompositionList->List[i])&&(CompositionList->List[i]->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)&&(CompositionList->List[i]->BackgroundBrush->Video))
- CompositionList->List[i]->BackgroundBrush->SoundVolume=0;
- }
- CurrentTextItem->BackgroundBrush->SoundVolume=1;
- RefreshBlockTable(ui->BlockTable->currentRow());
- }
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::RefreshStyleControls() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::RefreshStyleControls");
-
- if (InRefreshStyleControls) return;
- InRefreshStyleControls=true;
-
- int CurrentBlock=ui->BlockTable->currentRow();
- cCompositionObject *CurrentTextItem=NULL;
- if ((CompositionList)&&(CurrentBlock>=0)&&(CurrentBlock<CompositionList->List.count())) CurrentTextItem=CompositionList->List[CurrentBlock];
-
- bool IsVisible=(CurrentTextItem)&&(CurrentTextItem->IsVisible);
- if (ui->CoordinateStyleBT->isEnabled()!=IsVisible) ui->CoordinateStyleBT->setEnabled(IsVisible);
- if (ui->CoordinateStyleED->isEnabled()!=IsVisible) ui->CoordinateStyleED->setEnabled(IsVisible);
- if (ui->BlockShapeStyleBT->isEnabled()!=IsVisible) ui->BlockShapeStyleBT->setEnabled(IsVisible);
- if (ui->BlockShapeStyleED->isEnabled()!=IsVisible) ui->BlockShapeStyleED->setEnabled(IsVisible);
- if (ui->FramingStyleCB->isEnabled()!=IsVisible) ui->FramingStyleCB->setEnabled(IsVisible);
- if (ui->FramingStyleLabel->isEnabled()!=IsVisible) ui->FramingStyleLabel->setEnabled(IsVisible);
-
- if (CurrentTextItem) ui->BlockShapeStyleED->setText(GlobalMainWindow->ApplicationConfig->StyleBlockShapeCollection.GetStyleName(CurrentTextItem->GetBlockShapeStyle())); else ui->BlockShapeStyleED->setText("");
-
- if ((CurrentTextItem==NULL)||((CurrentTextItem->BackgroundBrush->Image==NULL)&&(CurrentTextItem->BackgroundBrush->Video==NULL))) {
-
- if ((CurrentTextItem!=NULL)&&(CurrentTextItem->BackgroundBrush->Image==NULL)&&(CurrentTextItem->BackgroundBrush->Video==NULL)) {
-
- // It's a text block
- StopMajFramingStyle=true;
- if (!ui->FramingStyleLabel->isEnabled()) ui->FramingStyleLabel->setEnabled(true);
- if (FramingStyleLabelPixmap!="Geometry.png") {
- FramingStyleLabelPixmap="Geometry.png";
- ui->FramingStyleLabel->setPixmap(QPixmap(QString("img")+QString(QDir::separator())+FramingStyleLabelPixmap));
- }
- if (ui->FramingStyleCB->itemText(0)!=QApplication::translate("DlgImageCorrection","Unlock")) {
- ui->FramingStyleCB->setUpdatesEnabled(false);
- ui->FramingStyleCB->clear();
- ui->FramingStyleCB->addItem(QIcon(ICON_GEOMETRY_UNLOCKED),QApplication::translate("DlgImageCorrection","Unlock"));
- ui->FramingStyleCB->addItem(QIcon(ICON_GEOMETRY_LOCKED), QApplication::translate("DlgImageCorrection","Lock to this geometry"));
- ui->FramingStyleCB->addItem(QIcon(ICON_GEOMETRY_PROJECT), QApplication::translate("DlgImageCorrection","Lock to project geometry"));
- }
- int Index=1;
- if (!CurrentTextItem->BackgroundBrush->LockGeometry) Index=0;
- else if (CurrentTextItem->BackgroundBrush->AspectRatio==ProjectGeometry) Index=2;
- if (ui->FramingStyleCB->currentIndex()!=Index) ui->FramingStyleCB->setCurrentIndex(Index);
- if (!ui->FramingStyleCB->updatesEnabled()) ui->FramingStyleCB->setUpdatesEnabled(true);
- StopMajFramingStyle=false;
-
- } else {
-
- // No block
- if (ui->FramingStyleLabel->isEnabled()) ui->FramingStyleLabel->setEnabled(false);
- if (FramingStyleLabelPixmap!="EditImage.png") {
- FramingStyleLabelPixmap="EditImage.png";
- ui->FramingStyleLabel->setPixmap(QPixmap(QString("img")+QString(QDir::separator())+FramingStyleLabelPixmap));
- }
- if (ui->FramingStyleCB->isEnabled()) ui->FramingStyleCB->setEnabled(false);
- if ((ui->FramingStyleCB->count()!=1)||(ui->FramingStyleCB->currentIndex()!=0)||(ui->FramingStyleCB->itemText(0)!=QApplication::translate("DlgManageStyle","Custom"))) {
- ui->FramingStyleCB->clear();
- ui->FramingStyleCB->addItem(QIcon(ICON_FRAMING_CUSTOM),QApplication::translate("DlgManageStyle","Custom"));
- ui->FramingStyleCB->setCurrentIndex(0);
- }
- }
-
- } else {
-
- if (FramingStyleLabelPixmap!="EditImage.png") {
- FramingStyleLabelPixmap="EditImage.png";
- ui->FramingStyleLabel->setPixmap(QPixmap(QString("img")+QString(QDir::separator())+FramingStyleLabelPixmap));
- }
- CurrentTextItem->BackgroundBrush->InitDefaultFramingStyle(CurrentTextItem->BackgroundBrush->LockGeometry,CurrentTextItem->BackgroundBrush->AspectRatio);
- if (CurrentTextItem->BackgroundBrush->Image!=NULL) GlobalMainWindow->ApplicationConfig->StyleImageFramingCollection.SetImageGeometryFilter(GlobalMainWindow->Diaporama->ImageGeometry,CurrentTextItem->BackgroundBrush->Image->ObjectGeometry);
- else if (CurrentTextItem->BackgroundBrush->Video!=NULL) GlobalMainWindow->ApplicationConfig->StyleImageFramingCollection.SetImageGeometryFilter(GlobalMainWindow->Diaporama->ImageGeometry,CurrentTextItem->BackgroundBrush->Video->ObjectGeometry);
- QString StyleDef=CurrentTextItem->GetFramingStyle();
- QString StyleName=GlobalMainWindow->ApplicationConfig->StyleImageFramingCollection.GetStyleName(StyleDef);
- if (StyleName=="") {
- if (StyleDef==CurrentTextItem->BackgroundBrush->DefaultFramingW) StyleName=QApplication::translate("DlgManageStyle","Adjust to image width");
- else if (StyleDef==CurrentTextItem->BackgroundBrush->DefaultFramingH) StyleName=QApplication::translate("DlgManageStyle","Adjust to image height");
- else if (StyleDef==CurrentTextItem->BackgroundBrush->DefaultFramingF) StyleName=QApplication::translate("DlgManageStyle","Adjust to full image");
- else StyleName=QApplication::translate("DlgManageStyle","Custom");
- }
- StopMajFramingStyle=true;
- GlobalMainWindow->ApplicationConfig->StyleImageFramingCollection.FillCollectionCB(ui->FramingStyleCB,StyleName,true);
- StopMajFramingStyle=false;
-
- }
- if (CurrentTextItem) ui->CoordinateStyleED->setText(GlobalMainWindow->ApplicationConfig->StyleCoordinateCollection.GetStyleName(CurrentTextItem->GetCoordinateStyle())); else ui->CoordinateStyleED->setText("");
- InRefreshStyleControls=false;
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::RefreshControls() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::RefreshControls");
-
- if (InRefreshControls) return;
-
- // Ensure box is init and Current contain index of currented selected sequence
- if ((!IsFirstInitDone)||(!CompositionList)) return;
-
- int CurrentShot=ui->ShotTable->currentColumn();
- if ((CurrentShot<0)||(CurrentShot>=DiaporamaObject->List.count())) return;
-
- InRefreshControls=true;
- StopMAJSpinbox =true; // Avoid controls to send refreshcontrol
-
- QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
-
- //--------------------------------------------------------------------
- // Update controls
- //--------------------------------------------------------------------
- CompositionList=&DiaporamaObject->List[CurrentShot]->ShotComposition;
- ui->ShotTableMoveLeftBt->setEnabled(CurrentShot>0);
- ui->ShotTableMoveRightBt->setEnabled(CurrentShot<ui->ShotTable->columnCount()-1);
-
- int CurrentBlock=ui->BlockTable->currentRow();
- cCompositionObject *CurrentTextItem=NULL;
- if ((CompositionList)&&(CurrentBlock>=0)&&(CurrentBlock<CompositionList->List.count())) CurrentTextItem=CompositionList->List[CurrentBlock];
- ui->BlockUpBT->setEnabled(CurrentBlock>0);
- ui->BlockDownBT->setEnabled(CurrentBlock<ui->BlockTable->rowCount()-1);
- ui->RemoveShot->setEnabled(DiaporamaObject->List.count()>1);
-
- ui->CopyBlockBT->setEnabled(CurrentTextItem!=NULL);
- ui->CutBlockBT->setEnabled(CurrentTextItem!=NULL);
-
- // Slide name & duration and shot duration
- ui->SlideNameED->setText(DiaporamaObject->SlideName);
- ui->SlideDurationLabel->setText(QTime(0,0,0,0).addMSecs(DiaporamaObject->GetDuration()).toString("hh:mm:ss.zzz"));
- ui->ShotDurationED->setTime(QTime(0,0,0,0).addMSecs(DiaporamaObject->List[CurrentShot]->StaticDuration));
-
- // Minimum shot duration display
- int AddingDuration=0;
- if (CurrentShot==(DiaporamaObject->List.count()-1)) { // If it's the last shot
- int TotalDuration=DiaporamaObject->GetDuration();
- int Duration=0;
- for (int i=0;i<DiaporamaObject->List.count();i++) Duration=Duration+DiaporamaObject->List[i]->StaticDuration;
- if (Duration<TotalDuration) AddingDuration=TotalDuration-Duration;
- }
- if (AddingDuration==0) ui->MinShotDurationLabel->setText("");
- else ui->MinShotDurationLabel->setText(QString(QApplication::translate("DlgSlideProperties","Lengthened to %1 sec")).arg(double(DiaporamaObject->List[CurrentShot]->StaticDuration+AddingDuration)/1000));
-
- //====================================================================================================================
-
- cBrushDefinition *CurrentBrush =(CurrentTextItem!=NULL)?CurrentTextItem->BackgroundBrush:NULL;
- bool IsVisible =(CurrentTextItem)&&(CurrentTextItem->IsVisible);
- bool IsVideo =(CurrentTextItem)&&(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)&&(CurrentTextItem->BackgroundBrush->Video!=NULL);
- bool HaveSound =IsVideo && (CurrentTextItem->BackgroundBrush->SoundVolume!=0);
- bool Allow_File =(IsVisible)&&(CurrentBrush!=NULL)&&(CurrentBrush->BrushType==BRUSHTYPE_IMAGEDISK);
-
- ui->VisibleBT->setIcon(QIcon(QString(!IsVisible?ICON_VISIBLE_OK:ICON_VISIBLE_KO)));
- ui->SoundBT->setIcon(QIcon(QString(!HaveSound?ICON_SOUND_OK:ICON_SOUND_KO)));
- ui->TVMarginsBT->setIcon(QIcon(QString(MagneticRuler.MagneticRuler?ICON_RULER_ON:ICON_RULER_OFF)));
- ui->SoundBT->setEnabled(IsVideo && !HaveSound);
-
- ui->ImageEditCorrectBT->setEnabled(IsVisible && Allow_File);
- ui->VideoEditBT->setEnabled(IsVisible && Allow_File && (CurrentBrush->Video!=NULL));
- ui->TextEditBT->setEnabled(IsVisible);
- ui->VisibleBT->setEnabled(CurrentTextItem!=NULL);
-
- ui->RemoveBlock->setEnabled(CurrentTextItem!=NULL);
-
- //***********************
- // Size & Position
- //***********************
- ui->PosXEd->setEnabled(IsVisible);
- ui->PosYEd->setEnabled(IsVisible);
- ui->WidthEd->setEnabled(IsVisible);
- ui->HeightEd->setEnabled(IsVisible);
- ui->RotateXED->setEnabled(IsVisible);
- ui->RotateXSLD->setEnabled(IsVisible);
- ui->RotateYED->setEnabled(IsVisible);
- ui->RotateYSLD->setEnabled(IsVisible);
- ui->RotateZED->setEnabled(IsVisible);
- ui->RotateZSLD->setEnabled(IsVisible);
- ui->PosSize_X->setEnabled(IsVisible);
- ui->PosSize_Y->setEnabled(IsVisible);
- ui->PosSize_Width->setEnabled(IsVisible);
- ui->PosSize_Height->setEnabled(IsVisible);
- ui->Rotate_X->setEnabled(IsVisible);
- ui->Rotate_Y->setEnabled(IsVisible);
- ui->Rotate_Z->setEnabled(IsVisible);
-
- //***********************
- // Shape part
- //***********************
- ui->BackgroundFormCB->setEnabled(IsVisible);
- ui->PenSizeEd->setEnabled(IsVisible);
- ui->PenColorCB->setEnabled(IsVisible&&(CurrentTextItem)&&(CurrentTextItem->PenSize!=0));
- ui->PenStyleCB->setEnabled(IsVisible&&(CurrentTextItem)&&(CurrentTextItem->PenSize!=0));
- ui->OpacityCB->setEnabled(IsVisible);
- ui->ShadowEffectCB->setEnabled(IsVisible);
- ui->ShadowEffectED->setEnabled((IsVisible)&&(CurrentTextItem)&&(CurrentTextItem->FormShadow!=0));
- ui->ShadowColorCB->setEnabled((IsVisible)&&(CurrentTextItem)&&(CurrentTextItem->FormShadow!=0));
-
- // Refresh Scene Image
- RefreshSceneImage();
-
- // Refresh information zone
- UpdateDockInfo();
-
- QApplication::restoreOverrideCursor();
-
- StopMAJSpinbox =false; // Allow controls to send refreshcontrol
- InRefreshControls=false;
-}
-
-//====================================================================================================================
-// Refresh background image of the scene
-
-void DlgSlideProperties::s_RefreshSceneImage() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_RefreshSceneImage");
-
- RefreshSceneImage();
-}
-
-void DlgSlideProperties::RefreshSceneImage() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::RefreshSceneImage");
-
- if (InRefreshSceneImage) return;
- InRefreshSceneImage=true;
-
- QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
-
- // Get current shot object composition list
- int CurrentShot =ui->ShotTable->currentColumn();
- cCompositionList *CurrentList =NULL;
- if ((CurrentShot>=0)&&(CurrentShot<DiaporamaObject->List.count())) CurrentList=&DiaporamaObject->List[CurrentShot]->ShotComposition;
-
- // Get current block object in the current shot object composition list
- int CurrentBlock =ui->BlockTable->currentRow();
- cCompositionObject *CurrentTextItem=NULL;
- if ((CurrentList)&&(CurrentBlock>=0)&&(CurrentBlock<CurrentList->List.count())) CurrentTextItem=CurrentList->List[CurrentBlock];
-
- // Draw image of the scene under the background
- QPixmap NewImage=QPixmap::fromImage(*BackgroundImage);
- QPainter P;
- P.begin(&NewImage);
-
- double SizeRatio=double(BackgroundImage->width())/double(ui->GraphicsView->width());
- WithPen =int(SizeRatio); if (double(WithPen)<SizeRatio) WithPen++;
-
- for (int i=0;i<CurrentList->List.count();i++) {
- // Draw composition block
- if (CurrentList->List[i]->IsVisible) {
- if (CurrentList->List[i]->BackgroundBrush->Video) {
- // If it's a video block, calc video position
- int StartVideoPos=QTime(0,0,0,0).msecsTo(CurrentList->List[i]->BackgroundBrush->Video->StartPos);
- for (int k=0;k<CurrentShot;k++) {
- for (int l=0;l<DiaporamaObject->List[k]->ShotComposition.List.count();l++) {
- if (DiaporamaObject->List[k]->ShotComposition.List[l]->IndexKey==CurrentList->List[i]->IndexKey) {
- if (DiaporamaObject->List[k]->ShotComposition.List[l]->IsVisible) StartVideoPos+=DiaporamaObject->List[k]->StaticDuration;
- l=DiaporamaObject->List[k]->ShotComposition.List.count(); // stop loop
- }
- }
- }
- CurrentList->List[i]->DrawCompositionObject(&P,double(ymax)/double(1080),0,0,xmax,ymax,true,0,StartVideoPos,NULL,1,NULL,true);
- } else CurrentList->List[i]->DrawCompositionObject(&P,double(ymax)/double(1080),0,0,xmax,ymax,true,0,0,NULL,1,NULL,true);
- }
-
- // Draw frame border
- if (CurrentTextItem==CurrentList->List[i]) {
- // draw rect out of the rectangle
- if (CurrentList->List[i]->IsVisible) {
- P.setCompositionMode(QPainter::RasterOp_SourceXorDestination);
- QPen pen=QPen(Qt::red);
- pen.setWidth(WithPen);
- pen.setStyle(Qt::DotLine);
- P.setPen(pen);
- P.setBrush(Qt::NoBrush);
- P.drawRect(QRectF(CurrentTextItem->x*xmax,CurrentTextItem->y*ymax,CurrentTextItem->w*xmax,CurrentTextItem->h*ymax));
- P.setCompositionMode(QPainter::CompositionMode_SourceOver);
- }
-
- StopMAJSpinbox=true; // Avoid controls to send refreshcontrol
-
- // Update controls with position & size value
- if (DiaporamaObject->Parent->ApplicationConfig->DisplayUnit==DISPLAYUNIT_PERCENT) {
- ui->PosXEd->setRange(-200,200); ui->PosXEd->setValue(CurrentTextItem->x*100);
- ui->PosYEd->setRange(-200,200); ui->PosYEd->setValue(CurrentTextItem->y*100);
- ui->WidthEd->setRange(3,200); ui->WidthEd->setValue(CurrentTextItem->w*100);
- ui->HeightEd->setRange(3,200); ui->HeightEd->setValue(CurrentTextItem->h*100);
- } else { // DisplayUnit==DISPLAYUNIT_PIXELS
- double DisplayW=0,DisplayH=0;
- GetForDisplayUnit(DisplayW,DisplayH);
- ui->PosXEd->setRange(-2*DisplayW,2*DisplayW); ui->PosXEd->setValue( CurrentTextItem->x*DisplayW);
- ui->PosYEd->setRange(-2*DisplayH,2*DisplayH); ui->PosYEd->setValue( CurrentTextItem->y*DisplayH);
- ui->WidthEd->setRange(3,2*DisplayW); ui->WidthEd->setValue( CurrentTextItem->w*DisplayW);
- ui->HeightEd->setRange(3,2*DisplayH); ui->HeightEd->setValue(CurrentTextItem->h*DisplayH);
- }
- ui->RotateXED->setValue(CurrentTextItem->RotateXAxis); ui->RotateXSLD->setValue(CurrentTextItem->RotateXAxis);
- ui->RotateYED->setValue(CurrentTextItem->RotateYAxis); ui->RotateYSLD->setValue(CurrentTextItem->RotateYAxis);
- ui->RotateZED->setValue(CurrentTextItem->RotateZAxis); ui->RotateZSLD->setValue(CurrentTextItem->RotateZAxis);
-
- if ((CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)&&(!CurrentTextItem->BackgroundBrush->LockGeometry))
- CurrentTextItem->BackgroundBrush->AspectRatio=(CurrentTextItem->h*ymax)/(CurrentTextItem->w*xmax);
-
- //***********************
- // Shape TAB
- //***********************
- if (CurrentTextItem->BackgroundForm-1!=ui->BackgroundFormCB->currentIndex()) ui->BackgroundFormCB->setCurrentIndex(CurrentTextItem->BackgroundForm-1);
- if (CurrentTextItem->PenSize!=ui->PenSizeEd->value()) ui->PenSizeEd->setValue(int(CurrentTextItem->PenSize));
- if (CurrentTextItem->Opacity!=ui->OpacityCB->currentIndex()) ui->OpacityCB->setCurrentIndex(CurrentTextItem->Opacity);
- if (CurrentTextItem->FormShadow!=ui->ShadowEffectCB->currentIndex()) ui->ShadowEffectCB->setCurrentIndex(CurrentTextItem->FormShadow);
- if (CurrentTextItem->FormShadowDistance!=ui->ShadowEffectED->value()) ui->ShadowEffectED->setValue(int(CurrentTextItem->FormShadowDistance));
- ui->PenColorCB->SetCurrentColor(&CurrentTextItem->PenColor);
- ui->ShadowColorCB->SetCurrentColor(&CurrentTextItem->FormShadowColor);
-
- for (int i=0;i<ui->PenStyleCB->count();i++) if (ui->PenStyleCB->itemData(i).toInt()==CurrentTextItem->PenStyle) {
- if (i!=ui->PenStyleCB->currentIndex()) ui->PenStyleCB->setCurrentIndex(i);
- break;
- }
-
- StopMAJSpinbox=false; // Allow controls to send refreshcontrol
-
- } else {
- if (CurrentList->List[i]->IsVisible) {
- // draw rect out of the rectangle
- P.setCompositionMode(QPainter::RasterOp_SourceXorDestination);
- QPen pen=QPen(Qt::lightGray);
- pen.setWidth(WithPen);
- pen.setStyle(Qt::DotLine);
- P.setPen(pen);
- P.setBrush(Qt::NoBrush);
- P.drawRect(QRectF(CurrentList->List[i]->x*xmax,CurrentList->List[i]->y*ymax,CurrentList->List[i]->w*xmax,CurrentList->List[i]->h*ymax));
- P.setCompositionMode(QPainter::CompositionMode_SourceOver);
- }
- }
- }
-
- // Draw rullers if they was enabled
- if (MagneticRuler.MagneticRuler==true) {
- QColor col=QColor(0,255,0);
- QPen pen=QPen(col);
- pen.setWidth(WithPen);
- pen.setJoinStyle(Qt::RoundJoin);
- pen.setStyle(Qt::DotLine);
- P.setPen(pen);
- P.setCompositionMode(QPainter::RasterOp_SourceXorDestination);
- P.setBrush(Qt::NoBrush);
- P.drawLine(MagneticRuler.MagnetX1,0,MagneticRuler.MagnetX1,ymax);
- P.drawLine(0,MagneticRuler.MagnetY1,xmax,MagneticRuler.MagnetY1);
- P.drawLine(MagneticRuler.MagnetX2,0,MagneticRuler.MagnetX2,ymax);
- P.drawLine(0,MagneticRuler.MagnetY2,xmax,MagneticRuler.MagnetY2);
- P.drawLine(MagneticRuler.MagnetX3,0,MagneticRuler.MagnetX3,ymax);
- P.drawLine(0,MagneticRuler.MagnetY3,xmax,MagneticRuler.MagnetY3);
- P.setCompositionMode(QPainter::CompositionMode_SourceOver);
- }
-
- P.end();
-
- // Remove old image if exist
- int i=0;
- while ((i<scene->items().count())&&(scene->items().at(i)->data(0).toString()!="image")) i++;
- if ((i<scene->items().count())&&(scene->items().at(i)->data(0).toString()=="image")) {
- QGraphicsPixmapItem *im=(QGraphicsPixmapItem *)scene->items().at(i);
- scene->removeItem(im);
- delete im;
- }
-
- // Add image to the background of the scene
- QGraphicsPixmapItem *im=scene->addPixmap(NewImage); // Image will be delete by scene
- im->setData(0,QVariant(QString("image")));
- im->setZValue(200);
- im->setPos(0,0);
- //delete NewImage;
-
- // Refresh thumbnail
- ui->ShotTable->setUpdatesEnabled(false);
- ui->ShotTable->setUpdatesEnabled(true);
-
- RefreshStyleControls();
-
- QApplication::restoreOverrideCursor();
- InRefreshSceneImage=false;
-}
-
-//====================================================================================================================
-// Refresh the ShotTable
-
-void DlgSlideProperties::RefreshShotTable(int SetCurrentIndex) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::RefreshShotTable");
-
- int CellHeight=ui->ShotTable->rowHeight(0);
- int CellWidth =GlobalMainWindow->Diaporama->GetWidthForHeight(CellHeight);
-
- StopMAJSpinbox=true;
- ui->ShotTable->setUpdatesEnabled(false);
- while (ui->ShotTable->columnCount()>0) ui->ShotTable->removeColumn(0); // Clear all
- for (int i=0;i<DiaporamaObject->List.count();i++) {
- ui->ShotTable->insertColumn(i);
- wgt_QCustomThumbnails *Object=new wgt_QCustomThumbnails(ui->ShotTable,THUMBNAILTYPE_SHOT);
- Object->DiaporamaObject=DiaporamaObject;
- ui->ShotTable->setCellWidget(0,i,Object);
- ui->ShotTable->setColumnWidth(i,CellWidth);
- }
- ui->ShotTable->setUpdatesEnabled(true);
- StopMAJSpinbox=false;
-
- ui->ShotTable->setCurrentCell(0,SetCurrentIndex);
-}
-
-//====================================================================================================================
-// Refresh the BlockTable
-
-void DlgSlideProperties::RefreshBlockTable(int SetCurrentIndex) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::RefreshBlockTable");
-
- // Calculate scene size
- GetForDisplayUnit(xmax,ymax);
- StopMAJSpinbox =true;
-
- // Delete scene and all of it's content, if exist
- if (scene) while (scene->items().count()>0) {
- QGraphicsItem *Item=scene->items().at(0);
- QString data =Item->data(0).toString();
- scene->removeItem(Item);
- if (data=="CustomGraphicsRectItem") delete (cCustomGraphicsRectItem *)Item;
- else if (data=="image") delete (QGraphicsPixmapItem *)Item;
- else if (data!="ResizeGraphicsRectItem") ExitApplicationWithFatalError("Unkwnon item type in DlgSlideProperties::Clean");
- }
-
- // Ensure scene is created. If not : create it
- if (!scene) {
- // Create the scene and setup scene to control
- scene = new QGraphicsScene();
- ui->GraphicsView->setScene(scene);
- ui->GraphicsView->setInteractive(true);
- ui->GraphicsView->setDragMode(QGraphicsView::ScrollHandDrag);
- connect(scene,SIGNAL(selectionChanged()),this,SLOT(s_Scene_SelectionChanged()));
- }
- ui->GraphicsView->fitInView(QRectF(0,0,xmax,ymax),Qt::KeepAspectRatio);
-
- // Check if BackgroundImage have correct size
- if ((BackgroundImage)&&((xmax!=BackgroundImage->width())||(ymax!=BackgroundImage->height()))) {
- delete BackgroundImage;
- BackgroundImage=NULL;
- }
-
- // Prepare BackgroundImage if not exist
- if (!BackgroundImage) {
- QPainter Painter;
- BackgroundImage=new QImage(xmax,ymax,QImage::Format_ARGB32_Premultiplied);
- Painter.begin(BackgroundImage);
- DiaporamaObject->Parent->PrepareBackground(DiaporamaObject->Parent->GetObjectIndex(DiaporamaObject),xmax,ymax,&Painter,0,0);
- Painter.end();
-
- // Ensure scene size if correct
- scene->setSceneRect(QRectF(0,0,xmax,ymax));
- }
-
- // define 5% TV Margins
- MagneticRuler.MagnetX1=xmax*0.05;
- MagneticRuler.MagnetY1=ymax*0.05;
- MagneticRuler.MagnetX2=xmax-xmax*0.05;
- MagneticRuler.MagnetY2=ymax-ymax*0.05;
-
- // define centering ruller
- MagneticRuler.MagnetX3=xmax*0.5;
- MagneticRuler.MagnetY3=ymax*0.5;
-
- // Fill the scene with block item by creating cCustomGraphicsRectItem associate to existing cCompositionObject
- NextZValue=500;
- for (int i=0;i<CompositionList->List.count();i++) if (!CompositionList->List[i]->IsVisible) { // First loop for invisible items
- // Create and add to scene a cCustomGraphicsRectItem
- new cCustomGraphicsRectItem(scene,NextZValue,&CompositionList->List[i]->x,&CompositionList->List[i]->y,
- NULL,&CompositionList->List[i]->w,&CompositionList->List[i]->h,xmax,ymax,
- ((!CompositionList->List[i]->BackgroundBrush->LockGeometry)&&
- (CompositionList->List[i]->BackgroundBrush->BrushType!=BRUSHTYPE_IMAGEDISK))?false:true,
- CompositionList->List[i]->BackgroundBrush->AspectRatio,
- &MagneticRuler,this,TYPE_DlgSlideProperties,CompositionList->List[i]->IndexKey,false);
-
- NextZValue+=10; // 10 by 10 step for ZValue
- }
- for (int i=0;i<CompositionList->List.count();i++) if (CompositionList->List[i]->IsVisible) { // Second loop for visible items
- // Create and add to scene a cCustomGraphicsRectItem
- new cCustomGraphicsRectItem(scene,NextZValue,&CompositionList->List[i]->x,&CompositionList->List[i]->y,
- NULL,&CompositionList->List[i]->w,&CompositionList->List[i]->h,xmax,ymax,
- ((!CompositionList->List[i]->BackgroundBrush->LockGeometry)&&
- (CompositionList->List[i]->BackgroundBrush->BrushType!=BRUSHTYPE_IMAGEDISK))?false:true,
- CompositionList->List[i]->BackgroundBrush->AspectRatio,
- &MagneticRuler,this,TYPE_DlgSlideProperties,CompositionList->List[i]->IndexKey,true);
-
- NextZValue+=10; // 10 by 10 step for ZValue
- }
-
- ui->BlockTable->setUpdatesEnabled(false);
- while (ui->BlockTable->rowCount()>0) ui->BlockTable->removeRow(0); // Clear all
- for (int i=0;i<CompositionList->List.count();i++) {
- ui->BlockTable->insertRow(i);
- cCompositionObject *CompoObject=CompositionList->List[i];
- QTableWidgetItem *ItemC0,*ItemC1,*ItemC2;
- // Image block
- if ((CompoObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)&&(CompoObject->BackgroundBrush->Image)) {
- ItemC0=new QTableWidgetItem(QIcon(CompoObject->IsVisible?ICON_OBJECT_IMAGE:ICON_OBJECT_IMAGEHIDE),"");
- ItemC1=new QTableWidgetItem("");
- ItemC2=new QTableWidgetItem(QFileInfo(CompoObject->BackgroundBrush->Image?CompoObject->BackgroundBrush->Image->FileName:CompoObject->BackgroundBrush->Video?CompoObject->BackgroundBrush->Video->FileName:"").fileName());
- // Video block
- } else if ((CompoObject->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)&&(CompoObject->BackgroundBrush->Video)) {
- ItemC0=new QTableWidgetItem(QIcon(CompoObject->IsVisible?ICON_OBJECT_MOVIE:ICON_OBJECT_MOVIEHIDE),"");
- ItemC1=CompoObject->BackgroundBrush->SoundVolume!=0?new QTableWidgetItem(QIcon(ICON_SOUND_OK),""):new QTableWidgetItem("");
- ItemC2=new QTableWidgetItem(QFileInfo(CompoObject->BackgroundBrush->Image?CompoObject->BackgroundBrush->Image->FileName:CompoObject->BackgroundBrush->Video?CompoObject->BackgroundBrush->Video->FileName:"").fileName());
- // Text block
- } else {
- ItemC0=new QTableWidgetItem(QIcon(CompoObject->IsVisible?ICON_OBJECT_TEXT:ICON_OBJECT_TEXTHIDE),"");
- ItemC1=new QTableWidgetItem("");
- ItemC2=new QTableWidgetItem(CompoObject->Text);
- }
- if (!CompoObject->IsVisible) {
- QFont font=QFont("Sans serif",9,QFont::Normal,QFont::StyleItalic);
- ItemC2->setFont(font);
- }
- ui->BlockTable->setItem(i,0,ItemC0);
- ui->BlockTable->setItem(i,1,ItemC1);
- ui->BlockTable->setItem(i,2,ItemC2);
- }
- ui->BlockTable->setColumnWidth(0,24);
- ui->BlockTable->setColumnWidth(1,24);
- ui->BlockTable->resizeRowsToContents();
- ui->BlockTable->setUpdatesEnabled(true);
- ui->BlockTable->setCurrentCell(SetCurrentIndex,0); // Changing current index make a call to RefreshControls();
-
- StopMAJSpinbox =false;
-
- if (ui->BlockTable->rowCount()==0) RefreshControls(); // except if no block in the list
-}
-
-//====================================================================================================================
-// Display or hide TV Margins
-//====================================================================================================================
-
-void DlgSlideProperties::s_TVMarginsBt() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_TVMarginsBt");
-
- if (MagneticRuler.MagneticRuler==true) MagneticRuler.MagneticRuler=false; else MagneticRuler.MagneticRuler=true;
- DiaporamaObject->Parent->ApplicationConfig->SlideRuler=MagneticRuler.MagneticRuler;
- RefreshControls();
-}
-
-//====================================================================================================================
-// Update dock informations
-//====================================================================================================================
-
-void DlgSlideProperties::UpdateDockInfo() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::UpdateDockInfo");
-
- ui->TableInfo->setUpdatesEnabled(false); // To allow and force a general update
- while (ui->TableInfo->rowCount()>0) ui->TableInfo->removeRow(0);
- int CurrentBlock=ui->BlockTable->currentRow();
- cCompositionObject *CurrentTextItem=NULL;
- if ((CompositionList)&&(CurrentBlock>=0)&&(CurrentBlock<CompositionList->List.count())) CurrentTextItem=CompositionList->List[CurrentBlock];
- if (CurrentTextItem) {
- ui->TableInfo->insertRow(ui->TableInfo->rowCount());
- ui->TableInfo->setItem(ui->TableInfo->rowCount()-1,0,new QTableWidgetItem(QApplication::translate("DlgSlideProperties","Object type")));
- ui->TableInfo->setItem(ui->TableInfo->rowCount()-1,1,new QTableWidgetItem(CurrentTextItem->BackgroundBrush->BrushType!=BRUSHTYPE_IMAGEDISK?QApplication::translate("DlgSlideProperties","Title"):
- CurrentTextItem->BackgroundBrush->Image!=NULL?QApplication::translate("DlgSlideProperties","Image"):
- QApplication::translate("DlgSlideProperties","Video")));
-
- if (CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK) {
- ui->TableInfo->insertRow(ui->TableInfo->rowCount());
- ui->TableInfo->setItem(ui->TableInfo->rowCount()-1,0,new QTableWidgetItem(QApplication::translate("DlgSlideProperties","Filename")));
- ui->TableInfo->setItem(ui->TableInfo->rowCount()-1,1,new QTableWidgetItem(CurrentTextItem->BackgroundBrush->Image!=NULL?QFileInfo(CurrentTextItem->BackgroundBrush->Image->FileName).fileName():
- CurrentTextItem->BackgroundBrush->Video!=NULL?QFileInfo(CurrentTextItem->BackgroundBrush->Video->FileName).fileName():""));
- QStringList *Info=NULL;
- if (CurrentTextItem->BackgroundBrush->Image!=NULL) {
- // If exiv value not loaded then call exiv2 now !
- if (!CurrentTextItem->BackgroundBrush->Image->IsInformationValide) CurrentTextItem->BackgroundBrush->Image->GetFullInformationFromFile();
- Info=&CurrentTextItem->BackgroundBrush->Image->InformationList;
- } else if (CurrentTextItem->BackgroundBrush->Video!=NULL) {
- ui->TableInfo->insertRow(ui->TableInfo->rowCount());
- ui->TableInfo->setItem(ui->TableInfo->rowCount()-1,0,new QTableWidgetItem(QApplication::translate("DlgSlideProperties","Image size")));
- ui->TableInfo->setItem(ui->TableInfo->rowCount()-1,1,new QTableWidgetItem(QString("%1x%2").arg(CurrentTextItem->BackgroundBrush->Video->ImageWidth).arg(CurrentTextItem->BackgroundBrush->Video->ImageHeight)));
- ////////////////// On peut en rajouter ICI!
- Info=&CurrentTextItem->BackgroundBrush->Video->InformationList;
- }
- // Fill table with Information List
- if (Info) for (int i=0;i<Info->count();i++) {
- ui->TableInfo->insertRow(ui->TableInfo->rowCount());
- QStringList Value=((QString)Info->at(i)).split("##");
- if (((QString)Value[0]).indexOf(".")!=-1) {
- ui->TableInfo->setItem(ui->TableInfo->rowCount()-1,0,new QTableWidgetItem(((QString)Value[0]).mid(((QString)Value[0]).lastIndexOf(".")+1)));
- ui->TableInfo->item(ui->TableInfo->rowCount()-1,0)->setToolTip(Value[0]);
- } else ui->TableInfo->setItem(ui->TableInfo->rowCount()-1,0,new QTableWidgetItem(Value[0]));
- ui->TableInfo->setItem(ui->TableInfo->rowCount()-1,1,new QTableWidgetItem(Value[1]));
- ui->TableInfo->item(ui->TableInfo->rowCount()-1,1)->setToolTip(Value[0]);
- }
- }
- ui->TableInfo->horizontalHeader()->setResizeMode(QHeaderView::Fixed);
- ui->TableInfo->setVisible(false); // To ensure all items of all columns are used to compute size
- ui->TableInfo->resizeColumnsToContents(); // Resize column widht
- ui->TableInfo->resizeRowsToContents(); // Resize row height
- ui->TableInfo->setVisible(true); // To allow display
- ui->TableInfo->horizontalHeader()->setResizeMode(QHeaderView::Interactive);
- }
- ui->TableInfo->setUpdatesEnabled(true); // To allow and force a general update
-}
-
-//====================================================================================================================
-
-cCompositionObject *DlgSlideProperties::GetSelectedGlobalCompositionObject() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::GetSelectedGlobalCompositionObject");
-
- int CurrentBlock=ui->BlockTable->currentRow();
- if ((CurrentBlock<0)||(CurrentBlock>=CompositionList->List.count())) return NULL;
- int i=0;
- while ((i<DiaporamaObject->ObjectComposition.List.count())&&(DiaporamaObject->ObjectComposition.List[i]->IndexKey!=CompositionList->List[CurrentBlock]->IndexKey)) i++;
- if (i<DiaporamaObject->ObjectComposition.List.count()) return DiaporamaObject->ObjectComposition.List[i]; else return NULL;
-}
-
-//====================================================================================================================
-
-cCompositionObject *DlgSlideProperties::GetSelectedCompositionObject() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::GetSelectedCompositionObject");
-
- int CurrentBlock=ui->BlockTable->currentRow();
- if ((CurrentBlock<0)||(CurrentBlock>=CompositionList->List.count())) return NULL; else return CompositionList->List[CurrentBlock];
-}
-
-//====================================================================================================================
-// Handler for position, size & rotation controls
-//====================================================================================================================
-
-//========= Ensure current context is ok for modifing properties
-bool DlgSlideProperties::PrepContexte() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::PrepContexte");
-
- if (StopMAJSpinbox) return false;
-
- // Get current block object
- int CurrentBlock=ui->BlockTable->currentRow();
- if ((CurrentBlock<0)||(CurrentBlock>=CompositionList->List.count())) CompositionObject=NULL; else CompositionObject=CompositionList->List[CurrentBlock];
- if ((!CompositionObject)||(!CompositionObject->IsVisible)) return false;
-
- // Get current Item selected in the scene
- if (scene==NULL) return NULL;
- RectItem=NULL;
- for (int i=0;i<scene->selectedItems().count();i++) {
- QGraphicsItem *Item=scene->selectedItems()[i];
- QString data =Item->data(0).toString();
- if (data=="CustomGraphicsRectItem") RectItem=(cCustomGraphicsRectItem *)Item;
- else if (data=="ResizeGraphicsRectItem") RectItem=((cResizeGraphicsRectItem *)Item)->RectItem;
- }
- if (RectItem==NULL) return false;
- // Ensure we have correcte value for DisplayW and DisplayH
- GetForDisplayUnit(DisplayW,DisplayH);
- return true;
-}
-
-//========= Apply modification
-void DlgSlideProperties::ApplyToContexte(bool ReposRectItem,bool ApplyGlobal) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::ApplyToContexte");
-
- if (ApplyGlobal) ApplyGlobalPropertiesToAllShots(CompositionObject);
- if (ReposRectItem) {
- RectItem->setPos(CompositionObject->x*xmax,CompositionObject->y*ymax);
- QRectF Rect=RectItem->mapRectFromScene(QRectF(CompositionObject->x*xmax,CompositionObject->y*ymax,xmax*CompositionObject->w,ymax*CompositionObject->h));
- RectItem->setRect(Rect);
- RectItem->RecalcEmbededResizeRectItem();
- }
- RefreshSceneImage();
-}
-
-//========= X position
-void DlgSlideProperties::s_ChgPosXValue(double Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ChgPosXValue");
-
- if (!PrepContexte()) return;
- if (DiaporamaObject->Parent->ApplicationConfig->DisplayUnit==DISPLAYUNIT_PERCENT) CompositionObject->x=Value/100; // DisplayUnit==DISPLAYUNIT_PERCENT
- else CompositionObject->x=(Value/DisplayW); // DisplayUnit==DISPLAYUNIT_PIXELS
- ApplyToContexte(true,false);
-}
-
-//========= Y position
-void DlgSlideProperties::s_ChgPosYValue(double Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ChgPosYValue");
-
- if (!PrepContexte()) return;
- if (DiaporamaObject->Parent->ApplicationConfig->DisplayUnit==DISPLAYUNIT_PERCENT) CompositionObject->y=Value/100; // DisplayUnit==DISPLAYUNIT_PERCENT
- else CompositionObject->y=(Value/DisplayH); // DisplayUnit==DISPLAYUNIT_PIXELS
- ApplyToContexte(true,false);
-}
-
-//========= Width
-void DlgSlideProperties::s_ChgWidthValue(double Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ChgWidthValue");
-
- if (!PrepContexte()) return;
- if (DiaporamaObject->Parent->ApplicationConfig->DisplayUnit==DISPLAYUNIT_PERCENT) CompositionObject->w=Value/100; // DisplayUnit==DISPLAYUNIT_PERCENT
- else CompositionObject->w=(Value/DisplayW); // DisplayUnit==DISPLAYUNIT_PIXELS
- if (RectItem->KeepAspectRatio) CompositionObject->h=((CompositionObject->w*DisplayW)*RectItem->AspectRatio)/DisplayH;
- ApplyToContexte(true,false);
-}
-
-//========= Height
-void DlgSlideProperties::s_ChgHeightValue(double Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ChgHeightValue");
-
- if (!PrepContexte()) return;
- if (DiaporamaObject->Parent->ApplicationConfig->DisplayUnit==DISPLAYUNIT_PERCENT) CompositionObject->h=Value/100; // DisplayUnit==DISPLAYUNIT_PERCENT
- else CompositionObject->h=(Value/DisplayH); // DisplayUnit==DISPLAYUNIT_PIXELS
- if (RectItem->KeepAspectRatio) CompositionObject->w=((CompositionObject->h*DisplayH)/RectItem->AspectRatio)/DisplayW;
- ApplyToContexte(true,false);
-}
-
-//========= X Rotation value
-void DlgSlideProperties::s_ChgRotateXValue(int Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ChgRotateXValue");
-
- if (!PrepContexte()) return;
- CompositionObject->RotateXAxis=Value;
- ApplyToContexte(false,false);
-}
-
-//========= Y Rotation value
-void DlgSlideProperties::s_ChgRotateYValue(int Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ChgRotateYValue");
-
- if (!PrepContexte()) return;
- CompositionObject->RotateYAxis=Value;
- ApplyToContexte(false,false);
-}
-
-//========= Z Rotation value
-void DlgSlideProperties::s_ChgRotateZValue(int Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ChgRotateZValue");
-
- if (!PrepContexte()) return;
- CompositionObject->RotateZAxis=Value;
- ApplyToContexte(false,false);
-}
-
-//========= Background forme
-void DlgSlideProperties::s_ChangeBackgroundForm(int Style) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ChangeBackgroundForm");
-
- if (!PrepContexte()) return;
- CompositionObject->BackgroundForm=Style+1;
- ApplyToContexte(false,true);
-}
-
-//========= Opacity
-void DlgSlideProperties::s_ChangeOpacity(int Style) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ChangeOpacity");
-
- if (!PrepContexte()) return;
- CompositionObject->Opacity=Style;
- ApplyToContexte(false,true);
-}
-
-//========= Border pen size
-void DlgSlideProperties::s_ChgPenSize(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ChgPenSize");
-
- if (!PrepContexte()) return;
- CompositionObject->PenSize=ui->PenSizeEd->value();
- ui->PenColorCB->setEnabled(CompositionObject->PenSize!=0);
- ui->PenStyleCB->setEnabled(CompositionObject->PenSize!=0);
- ApplyToContexte(false,true);
-}
-
-//========= Border pen style
-void DlgSlideProperties::s_ChangePenStyle(int index) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ChangePenStyle");
-
- if (!PrepContexte()) return;
- CompositionObject->PenStyle=ui->PenStyleCB->itemData(index).toInt();
- ApplyToContexte(false,true);
-}
-
-//========= Border pen color
-void DlgSlideProperties::s_ChPenColorCB(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ChPenColorCB");
-
- if (!PrepContexte()) return;
- CompositionObject->PenColor=ui->PenColorCB->GetCurrentColor();
- ApplyToContexte(false,true);
-}
-
-//========= Shape shadow style
-void DlgSlideProperties::s_ChgShadowFormValue(int value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ChgShadowFormValue");
-
- if (!PrepContexte()) return;
- CompositionObject->FormShadow=value;
- ui->ShadowEffectED->setEnabled(CompositionObject->FormShadow!=0);
- ui->ShadowColorCB->setEnabled(CompositionObject->FormShadow!=0);
- ApplyToContexte(false,true);
-}
-
-//========= Shape shadow distance
-void DlgSlideProperties::s_ChgShadowDistanceValue(int value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ChgShadowDistanceValue");
-
- if (!PrepContexte()) return;
- CompositionObject->FormShadowDistance =value;
- ApplyToContexte(false,true);
-}
-
-//========= shadow color
-void DlgSlideProperties::s_ChgShadowColorCB(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ChgShadowColorCB");
-
- if (!PrepContexte()) return;
- CompositionObject->FormShadowColor=ui->ShadowColorCB->GetCurrentColor();
- ApplyToContexte(false,true);
-}
-
-//====================================================================================================================
-// Handler for style sheet management
-//====================================================================================================================
-
-void DlgSlideProperties::s_CoordinateStyleBT() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_CoordinateStyleBT");
-
- if (!PrepContexte()) return;
- // Define StyleCoordinateCollection filter
- if (CompositionObject->BackgroundBrush->Image!=NULL) GlobalMainWindow->ApplicationConfig->StyleCoordinateCollection.SetImageGeometryFilter(GlobalMainWindow->Diaporama->ImageGeometry,CompositionObject->BackgroundBrush->Image->ObjectGeometry);
- else if (CompositionObject->BackgroundBrush->Video!=NULL) GlobalMainWindow->ApplicationConfig->StyleCoordinateCollection.SetImageGeometryFilter(GlobalMainWindow->Diaporama->ImageGeometry,CompositionObject->BackgroundBrush->Video->ObjectGeometry);
- else GlobalMainWindow->ApplicationConfig->StyleCoordinateCollection.SetProjectGeometryFilter(GlobalMainWindow->Diaporama->ImageGeometry);
-
- // Get Actual style definition
- QString ActualStyle=CompositionObject->GetCoordinateStyle();
-
- // Open popup menu
- QString Item=GlobalMainWindow->ApplicationConfig->StyleCoordinateCollection.PopupCollectionMenu(this,ActualStyle);
- ui->CoordinateStyleBT->setDown(false);
- if (Item!="") {
- CompositionObject->ApplyCoordinateStyle(GlobalMainWindow->ApplicationConfig->StyleCoordinateCollection.GetStyleDef(Item));
-
- // Report new shot framing to RectItem
- RectItem->AspectRatio=CompositionObject->BackgroundBrush->AspectRatio;
- if (CompositionObject->h>(CompositionObject->w*xmax*RectItem->AspectRatio)/ymax) CompositionObject->h=(CompositionObject->w*xmax*RectItem->AspectRatio)/ymax;
- else CompositionObject->w=(CompositionObject->h*ymax/RectItem->AspectRatio)/xmax;
-
- // Refresh block table
- int CurrentRow=ui->BlockTable->currentRow();
- RefreshBlockTable(CurrentRow>0?CurrentRow:0);
- }
- RefreshStyleControls();
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::s_BlockShapeStyleBT() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockShapeStyleBT");
-
- if (!PrepContexte()) return;
- QString ActualStyle =CompositionObject->GetBlockShapeStyle();
- QString Item =GlobalMainWindow->ApplicationConfig->StyleBlockShapeCollection.PopupCollectionMenu(this,ActualStyle);
- ui->BlockShapeStyleBT->setDown(false);
- if (Item!="") {
- CompositionObject->ApplyBlockShapeStyle(GlobalMainWindow->ApplicationConfig->StyleBlockShapeCollection.GetStyleDef(Item));
- int CurrentRow=ui->BlockTable->currentRow();
- RefreshBlockTable(CurrentRow>0?CurrentRow:0);
- }
- RefreshStyleControls();
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::s_ChangeFramingStyle(int Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ChangeFramingStyle");
-
- if (StopMajFramingStyle) return;
- if (!PrepContexte()) return;
-
- cBrushDefinition *CurrentBrush=CompositionObject->BackgroundBrush;
-
- if ((CurrentBrush->Image==NULL)&&(CurrentBrush->Video==NULL)) {
- // It's a text block
- switch (Value) {
- case 0: // Unlock
- CurrentBrush->LockGeometry=false;
- break;
- case 1: // Lock to this geometry
- CurrentBrush->LockGeometry=true;
- CurrentBrush->AspectRatio =RectItem->AspectRatio;
- break;
- case 2: // Lock to project geometry
- CurrentBrush->LockGeometry=true;
- CurrentBrush->AspectRatio=ProjectGeometry;
- break;
- default:
- return;
- }
- RectItem->KeepAspectRatio=CurrentBrush->LockGeometry;
- RectItem->AspectRatio =CurrentBrush->AspectRatio;
- if (CompositionObject->h>(CompositionObject->w*xmax*RectItem->AspectRatio)/ymax) CompositionObject->h=(CompositionObject->w*xmax*RectItem->AspectRatio)/ymax;
- else CompositionObject->w=(CompositionObject->h*ymax/RectItem->AspectRatio)/xmax;
- } else {
- // It's an image or video block
- int i;
- QStringList List;
-
- switch (Value) {
- case 0: // Adjust to width
- GlobalMainWindow->ApplicationConfig->StyleImageFramingCollection.StringDefToStringList(CurrentBrush->DefaultFramingW,List);
- break;
- case 1: // Adjust to heigth
- GlobalMainWindow->ApplicationConfig->StyleImageFramingCollection.StringDefToStringList(CurrentBrush->DefaultFramingH,List);
- break;
- case 2: // Adjust to full
- GlobalMainWindow->ApplicationConfig->StyleImageFramingCollection.StringDefToStringList(CurrentBrush->DefaultFramingF,List);
- break;
- case 3: // None
- break;
- default:
- GlobalMainWindow->ApplicationConfig->StyleImageFramingCollection.StringToStringList(ui->FramingStyleCB->itemText(Value),List);
- break;
- }
- if (List.count()>0) {
- for (i=0;i<List.count();i++) {
- if (List[i].startsWith("X:")) CurrentBrush->X =List[i].mid(QString("X:").length()).toDouble();
- else if (List[i].startsWith("Y:")) CurrentBrush->Y =List[i].mid(QString("Y:").length()).toDouble();
- else if (List[i].startsWith("ZoomFactor:")) CurrentBrush->ZoomFactor =List[i].mid(QString("ZoomFactor:").length()).toDouble();
- else if (List[i].startsWith("LockGeometry:")) CurrentBrush->LockGeometry =List[i].mid(QString("LockGeometry:").length()).toInt()==1;
- else if (List[i].startsWith("AspectRatio:")) CurrentBrush->AspectRatio =List[i].mid(QString("AspectRatio:").length()).toDouble();
- }
- RectItem->AspectRatio=CurrentBrush->AspectRatio;
- if (CompositionObject->h>(CompositionObject->w*xmax*RectItem->AspectRatio)/ymax) CompositionObject->h=(CompositionObject->w*xmax*RectItem->AspectRatio)/ymax;
- else CompositionObject->w=(CompositionObject->h*ymax/RectItem->AspectRatio)/xmax;
- }
-
- }
- int CurrentRow=ui->BlockTable->currentRow();
- RefreshBlockTable(CurrentRow>0?CurrentRow:0);
-}
-
-//====================================================================================================================
-// Buttons associated to a Dialog box
-//====================================================================================================================
-
-//========= Open text editor
-void DlgSlideProperties::TextEditor() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::TextEditor");
-
- if (!PrepContexte()) return;
- DlgTextEdit Dlg(CompositionObject,HELPFILE_DlgTextEdit,GlobalMainWindow->ApplicationConfig,GlobalMainWindow->ApplicationConfig->DlgTextEditWSP,
- &GlobalMainWindow->ApplicationConfig->StyleTextCollection,&GlobalMainWindow->ApplicationConfig->StyleTextBackgroundCollection,this);
- Dlg.InitDialog();
- connect(&Dlg,SIGNAL(RefreshDisplay()),this,SLOT(s_RefreshSceneImage()));
- if (Dlg.exec()==0) {
- ui->BlockTable->item(ui->BlockTable->currentRow(),2)->setText(CompositionObject->Text);
- ApplyToContexte(false,true);
- } else RefreshSceneImage();
-}
-
-//========= Open video editor
-void DlgSlideProperties::VideoEdit() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::VideoEdit");
-
- if ((!PrepContexte())||(!CompositionObject->BackgroundBrush->Video)) return;
- DlgVideoEdit(CompositionObject->BackgroundBrush,this).exec();
- ApplyToContexte(false,true);
-}
-
-//========= Open image correction editor
-void DlgSlideProperties::ImageEditCorrect() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::ImageEditCorrect");
-
- if (!PrepContexte()) return;
-
- cBrushDefinition *CurrentBrush=CompositionObject->BackgroundBrush;
-
- int Position=0;
- // Compute position of video
- if (CurrentBrush->Video) for (int i=0;i<ui->ShotTable->currentColumn();i++) for (int j=0;j<DiaporamaObject->List[i]->ShotComposition.List.count();j++)
- if (DiaporamaObject->List[i]->ShotComposition.List[j]->IndexKey==CompositionObject->IndexKey) {
- if (DiaporamaObject->List[i]->ShotComposition.List[j]->IsVisible) Position+=DiaporamaObject->List[i]->StaticDuration;
- }
-
- QString FileName =QFileInfo(CurrentBrush->Image?CurrentBrush->Image->FileName:CurrentBrush->Video->FileName).fileName();
- bool UpdateSlideName=(DiaporamaObject->SlideName==FileName);
- if (DlgImageCorrection(CompositionObject,CompositionObject->BackgroundForm,CompositionObject->BackgroundBrush,Position,this).exec()==0) {
-
- RectItem->AspectRatio=CurrentBrush->AspectRatio;
- CompositionObject->h =(CompositionObject->w*xmax*RectItem->AspectRatio)/ymax;
-
- // Adjust height and width to image stay in screen
- if (((CompositionObject->y+CompositionObject->h)*ymax)>ymax) {
- CompositionObject->h=1-CompositionObject->y;
- CompositionObject->w=((CompositionObject->h*ymax)/RectItem->AspectRatio)/xmax;
- }
-
- // if Slide name is name of this file
- if (UpdateSlideName) {
- DiaporamaObject->SlideName=QFileInfo(CurrentBrush->Image?CurrentBrush->Image->FileName:CurrentBrush->Video->FileName).fileName();
- ui->SlideNameED->setText(DiaporamaObject->SlideName);
- }
-
- // Lulo object for image and video must be remove
- if (CompositionObject->BackgroundBrush->Video) DiaporamaObject->Parent->ApplicationConfig->ImagesCache.RemoveVideoObject(CompositionObject->BackgroundBrush->Video->FileName);
- else if (CompositionObject->BackgroundBrush->Image) DiaporamaObject->Parent->ApplicationConfig->ImagesCache.RemoveImageObject(CompositionObject->BackgroundBrush->Image->FileName);
-
- ApplyToContexte(true,true);
- RefreshBlockTable(ui->BlockTable->currentRow());
- //UpdateDockInfo();
- }
-}
-
-//====================================================================================================================
-// Shot table part
-//====================================================================================================================
-
-void DlgSlideProperties::s_ShotTableDragMoveItem() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ShotTableDragMoveItem");
-
- if (GlobalMainWindow->DragItemSource<GlobalMainWindow->DragItemDest) GlobalMainWindow->DragItemDest--;
- DiaporamaObject->List.move(GlobalMainWindow->DragItemSource,GlobalMainWindow->DragItemDest);
- ui->ShotTable->setUpdatesEnabled(false);
- ui->ShotTable->SetCurrentCell(GlobalMainWindow->DragItemDest);
- ui->ShotTable->setUpdatesEnabled(true); // Reset timeline painting
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::s_ShotTableMoveLeft() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ShotTableMoveLeft");
-
- int CurrentShot=ui->ShotTable->currentColumn();
- DiaporamaObject->List.swap(CurrentShot,CurrentShot-1);
- RefreshShotTable(CurrentShot-1);
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::s_ShotTableMoveRight() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ShotTableMoveRight");
-
- int CurrentShot=ui->ShotTable->currentColumn();
- DiaporamaObject->List.swap(CurrentShot+1,CurrentShot);
- RefreshShotTable(CurrentShot+1);
-}
-
-//====================================================================================================================
-// User select a shot in the ShotTable widget
-
-void DlgSlideProperties::s_ShotTable_SelectionChanged() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ShotTable_SelectionChanged");
-
- if (InShotTable_SelectionChanged) return;
- int Current=ui->ShotTable->currentColumn();
- if ((Current<0)||(Current>=DiaporamaObject->List.count())) return;
-
- InShotTable_SelectionChanged=true;
- CompositionList=&DiaporamaObject->List[Current]->ShotComposition;
-
- int i =ui->BlockTable->currentRow();
- int IndexKey=-1;
- if ((i>=0)&&(i<CompositionList->List.count())) IndexKey=CompositionList->List[i]->IndexKey;
-
- int CurrentBlockTableIndex=0;
- if (IndexKey!=-1) {
- while ((CurrentBlockTableIndex<CompositionList->List.count())&&(CompositionList->List[CurrentBlockTableIndex]->IndexKey!=IndexKey)) CurrentBlockTableIndex++;
- if (CurrentBlockTableIndex>=CompositionList->List.count()) CurrentBlockTableIndex=0;
- }
- RefreshBlockTable(CurrentBlockTableIndex);
-
- InShotTable_SelectionChanged=false;
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::s_ShotTable_AddShot() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ShotTable_AddShot");
-
- int Current=ui->ShotTable->currentColumn();
- if ((Current<0)||(Current>=DiaporamaObject->List.count())) return;
-
- DiaporamaObject->List.insert(Current+1,new cDiaporamaShot(DiaporamaObject));
- cDiaporamaShot *imagesequence=DiaporamaObject->List[Current+1];
- for (int i=0;i<CompositionList->List.count();i++) {
- imagesequence->ShotComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_SHOT,CompositionList->List[i]->IndexKey,GlobalMainWindow->ApplicationConfig));
- imagesequence->ShotComposition.List[i]->CopyFromCompositionObject(CompositionList->List[i]);
- }
- RefreshShotTable(Current+1);
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::s_ShotTable_RemoveShot() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_ShotTable_RemoveShot");
-
- int Current=ui->ShotTable->currentColumn();
- if ((Current<0)||(Current>=DiaporamaObject->List.count())) return;
- if (DiaporamaObject->List.count()<2) return;
- if ((GlobalMainWindow->ApplicationConfig->AskUserToRemove)&&(CustomMessageBox(this,QMessageBox::Question,QApplication::translate("DlgSlideProperties","Remove shot"),QApplication::translate("DlgSlideProperties","Are you sure to want to delete this shot?"),
- QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::No)) return;
- delete DiaporamaObject->List.takeAt(Current);
- ui->ShotTable->setUpdatesEnabled(false);
- ui->ShotTable->removeColumn(Current);
- ui->ShotTable->setUpdatesEnabled(true);
- RefreshShotTable(ui->ShotTable->currentColumn()>0?ui->ShotTable->currentColumn():0);
-}
-
-//====================================================================================================================
-// Block table/scene part
-//====================================================================================================================
-
-//====================================================================================================================
-// User select a block in the BlockTable widget
-
-void DlgSlideProperties::s_BlockTable_SelectionChanged() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_SelectionChanged");
-
- if (InBlockTable_SelectionChanged) return;
- InBlockTable_SelectionChanged=true;
-
- int CurrentBlock=ui->BlockTable->currentRow();
-
- // If nothing selected then ensure no visible item is selected in the scene
- if ((CurrentBlock<0)||(CurrentBlock>=CompositionList->List.count())) {
-
- for (int i=0;i<scene->items().count();i++) {
- QString data =((QGraphicsItem *)scene->items()[i])->data(0).toString();
- // Unselect item if it's a cCustomGraphicsRectItem or a cResizeGraphicsRectItem
- if ((data=="CustomGraphicsRectItem")&&(((cCustomGraphicsRectItem *)scene->items()[i])->IsVisible)) ((cCustomGraphicsRectItem *)scene->items()[i])->setSelected(false);
- if ((data=="ResizeGraphicsRectItem")&&(((cResizeGraphicsRectItem *)scene->items()[i])->RectItem->IsVisible)) ((cResizeGraphicsRectItem *)scene->items()[i])->setSelected(false);
- }
-
- } else {
-
- // Parse item to select corresponding item
- for (int i=0;i<scene->items().count();i++) {
- QString data =((QGraphicsItem *)scene->items()[i])->data(0).toString();
- if (data=="CustomGraphicsRectItem") {
- if (((cCustomGraphicsRectItem *)scene->items()[i])->IndexKey==CompositionList->List[CurrentBlock]->IndexKey) {
- // If item is not selected then select it
- if (!((cCustomGraphicsRectItem *)scene->items()[i])->isSelected()) ((cCustomGraphicsRectItem *)scene->items()[i])->setSelected(true);
- } else {
- // If item is selected then deselect it
- if (((cCustomGraphicsRectItem *)scene->items()[i])->isSelected()) ((cCustomGraphicsRectItem *)scene->items()[i])->setSelected(false);
- }
- } else if (data=="ResizeGraphicsRectItem") {
- // If item is selected then deselect it
- if (((cResizeGraphicsRectItem *)scene->items()[i])->isSelected()) ((cResizeGraphicsRectItem *)scene->items()[i])->setSelected(false);
- }
- }
- }
-
- RefreshControls();
- InBlockTable_SelectionChanged=false;
-}
-
-//====================================================================================================================
-// User select a block in the scene widget
-
-void DlgSlideProperties::s_Scene_SelectionChanged() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_Scene_SelectionChanged");
-
- if ((scene==NULL)||(InScene_SelectionChanged)) return;
-
- // Nothing is selected
- if (scene->selectedItems().count()==0) {
- if (ui->BlockTable->currentRow()!=-1) ui->BlockTable->setCurrentCell(-1,0); // Remove selection from block table
- return;
- }
- cCustomGraphicsRectItem *CurrentSceneItem=(cCustomGraphicsRectItem *)scene->selectedItems()[0]; // Only the first item
- QString data =CurrentSceneItem->data(0).toString();
-
- // Check if item is of correct type
- if (data!="CustomGraphicsRectItem") {
- // if it's a resize box then give it's parent
- if (data=="ResizeGraphicsRectItem") CurrentSceneItem=((cResizeGraphicsRectItem *)CurrentSceneItem)->RectItem; else {
- // Else, there is an error !
- CurrentSceneItem->setSelected(false); // Unselect it
- if (ui->BlockTable->currentRow()!=-1) ui->BlockTable->setCurrentCell(-1,0); // Remove selection from block table
- return;
- }
- }
-
- // Search corresponding item index in the block table
- int BlockTableItemIndex=0;
- while ((BlockTableItemIndex<CompositionList->List.count())&&(CompositionList->List[BlockTableItemIndex]->IndexKey!=CurrentSceneItem->IndexKey)) BlockTableItemIndex++;
- if ((BlockTableItemIndex<CompositionList->List.count())&&(CompositionList->List[BlockTableItemIndex]->IndexKey==CurrentSceneItem->IndexKey)) {
- // if corresponding item is found in the block table
- if (ui->BlockTable->currentRow()!=BlockTableItemIndex) ui->BlockTable->setCurrentCell(BlockTableItemIndex,0);
- } else {
- // Else, there is an error : then remove all selection
- CurrentSceneItem->setSelected(false); // Unselect it
- if (ui->BlockTable->currentRow()!=-1) ui->BlockTable->setCurrentCell(-1,0); // Remove selection from block table
- }
-
- //RefreshControls();
-}
-
-//====================================================================================================================
-// User double click on a block in the BlockTable widget
-
-void DlgSlideProperties::s_BlockTable_ItemDoubleClicked(QTableWidgetItem *) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_ItemDoubleClicked");
-
- s_Scene_DoubleClick();
-}
-
-//====================================================================================================================
-// User double click on a block in the scene widget
-
-void DlgSlideProperties::s_Scene_DoubleClick() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_Scene_DoubleClick");
-
- cCompositionObject *CurrentTextItem=GetSelectedCompositionObject();
- if (CurrentTextItem==NULL) return;
- if (CurrentTextItem->BackgroundBrush->BrushType!=BRUSHTYPE_IMAGEDISK) TextEditor();
- else if (CurrentTextItem->BackgroundBrush->Image!=NULL) ImageEditCorrect();
- else if (CurrentTextItem->BackgroundBrush->Video!=NULL) VideoEdit();
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::s_BlockTable_AddNewTextBlock() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_AddNewTextBlock");
-
- int CurrentShot=ui->ShotTable->currentColumn();
-
- // Create and append a composition block to the object list
- DiaporamaObject->ObjectComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_OBJECT,DiaporamaObject->NextIndexKey,GlobalMainWindow->ApplicationConfig));
- cCompositionObject *CompositionObject=DiaporamaObject->ObjectComposition.List[DiaporamaObject->ObjectComposition.List.count()-1];
- CompositionObject->BackgroundBrush->LockGeometry=false;
- CompositionObject->BackgroundBrush->AspectRatio=1;
-
- // Apply Styles
- CompositionObject->ApplyTextStyle(DiaporamaObject->Parent->ApplicationConfig->StyleTextCollection.GetStyleDef(DiaporamaObject->Parent->ApplicationConfig->StyleTextCollection.DecodeString(DiaporamaObject->Parent->ApplicationConfig->DefaultBlock_Text_TextST)));
- CompositionObject->ApplyBackgroundStyle(DiaporamaObject->Parent->ApplicationConfig->StyleTextBackgroundCollection.GetStyleDef(DiaporamaObject->Parent->ApplicationConfig->StyleTextBackgroundCollection.DecodeString(DiaporamaObject->Parent->ApplicationConfig->DefaultBlock_Text_BackGST)));
- CompositionObject->ApplyBlockShapeStyle(DiaporamaObject->Parent->ApplicationConfig->StyleBlockShapeCollection.GetStyleDef(DiaporamaObject->Parent->ApplicationConfig->StyleBlockShapeCollection.DecodeString(DiaporamaObject->Parent->ApplicationConfig->DefaultBlock_Text_ShapeST)));
- // Force filtering for CoordinateStyle
- DiaporamaObject->Parent->ApplicationConfig->StyleCoordinateCollection.SetProjectGeometryFilter(DiaporamaObject->Parent->ImageGeometry);
- CompositionObject->ApplyCoordinateStyle(DiaporamaObject->Parent->ApplicationConfig->StyleCoordinateCollection.GetStyleDef(DiaporamaObject->Parent->ApplicationConfig->StyleCoordinateCollection.DecodeString(DiaporamaObject->Parent->ApplicationConfig->DefaultBlock_Text_CoordST[DiaporamaObject->Parent->ImageGeometry])));
-
- CompositionObject->Text=QApplication::translate("DlgSlideProperties","Text","Default text value");
-
- // Now create and append a shot composition block to all shot
- for (int i=0;i<DiaporamaObject->List.count();i++) {
- DiaporamaObject->List[i]->ShotComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_SHOT,CompositionObject->IndexKey,GlobalMainWindow->ApplicationConfig));
- DiaporamaObject->List[i]->ShotComposition.List[DiaporamaObject->List[i]->ShotComposition.List.count()-1]->CopyFromCompositionObject(CompositionObject);
- // Ensure new object is not visible in previous shot
- if (i<CurrentShot) DiaporamaObject->List[i]->ShotComposition.List[DiaporamaObject->List[i]->ShotComposition.List.count()-1]->IsVisible=false;
- }
-
- // Inc NextIndexKey
- DiaporamaObject->NextIndexKey++;
-
- // 10 by 10 step for ZValue
- NextZValue+=10;
-
- RefreshBlockTable(CompositionList->List.count()-1);
- TextEditor(); // Open text editor
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::s_BlockTable_AddNewFileBlock() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_AddNewFileBlock");
-
- QStringList FileList=QFileDialog::getOpenFileNames(this,QApplication::translate("DlgSlideProperties","Add files"),
- DiaporamaObject->Parent->ApplicationConfig->RememberLastDirectories?DiaporamaObject->Parent->ApplicationConfig->LastMediaPath:"",
- DiaporamaObject->Parent->ApplicationConfig->GetFilterForMediaFile(cBaseApplicationConfig::ALLFILE));
-
- // Sort files in the fileList
- if (DiaporamaObject->Parent->ApplicationConfig->SortFile) {
- // Sort by last number
- for (int i=0;i<FileList.count();i++) for (int j=0;j<FileList.count()-1;j++) {
- QString NameA=QFileInfo(FileList[j]).completeBaseName();
- int NumA=NameA.length()-1;
- while ((NumA>0)&&(NameA[NumA]>='0')&&(NameA[NumA]<='9')) NumA--;
- if (NumA>=0) NumA=NameA.mid(NumA+1).toInt();
-
- QString NameB=QFileInfo(FileList[j+1]).completeBaseName();
- int NumB=NameB.length()-1;
- while ((NumB>0)&&(NameB[NumB]>='0')&&(NameB[NumB]<='9')) NumB--;
- if (NumB>=0) NumB=NameB.mid(NumB+1).toInt();
-
- if (NumA>NumB) FileList.swap(j,j+1);
- }
- } else {
- // Sort by alphabetical order
- for (int i=0;i<FileList.count();i++) for (int j=0;j<FileList.count()-1;j++) {
- if (QFileInfo(FileList[j]).completeBaseName()>QFileInfo(FileList[j+1]).completeBaseName()) FileList.swap(j,j+1);
- }
- }
-
- QApplication::processEvents();
-
- // Add files
- QStringList AliasList;
- for (int i=0;i<FileList.count();i++) {
- QString NewFile=FileList[i];
- QString ErrorMessage=QApplication::translate("MainWindow","Format not supported","Error message");
-
- if (GlobalMainWindow->ApplicationConfig->RememberLastDirectories) GlobalMainWindow->ApplicationConfig->LastMediaPath=QFileInfo(NewFile).absolutePath(); // Keep folder for next use
-
- // Create and append a composition block to the object list
- DiaporamaObject->ObjectComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_OBJECT,DiaporamaObject->NextIndexKey,GlobalMainWindow->ApplicationConfig));
- cCompositionObject *CompositionObject =DiaporamaObject->ObjectComposition.List[DiaporamaObject->ObjectComposition.List.count()-1];
- cBrushDefinition *CurrentBrush =CompositionObject->BackgroundBrush;
-
- CompositionObject->Text ="";
- CompositionObject->PenSize =0;
- CurrentBrush->BrushType =BRUSHTYPE_IMAGEDISK;
-
- QString BrushFileName =QFileInfo(NewFile).absoluteFilePath();
-
- bool IsValide =false;
- QString Extension=QFileInfo(BrushFileName).suffix().toLower();
-
- // Search if file is an image
- for (int i=0;i<GlobalMainWindow->ApplicationConfig->AllowImageExtension.count();i++) if (GlobalMainWindow->ApplicationConfig->AllowImageExtension[i]==Extension) {
- // Create an image wrapper
- CurrentBrush->Image=new cImageFile(GlobalMainWindow->ApplicationConfig);
- bool ModifyFlag=false;
- IsValide=CurrentBrush->Image->GetInformationFromFile(BrushFileName,&AliasList,&ModifyFlag);
- if (!IsValide) {
- delete CurrentBrush->Image;
- CurrentBrush->Image=NULL;
- } else if (ModifyFlag) GlobalMainWindow->SetModifyFlag(true);
- break;
- }
- // If it's not an image : search if file is a video
- if (CurrentBrush->Image==NULL) for (int i=0;i<GlobalMainWindow->ApplicationConfig->AllowVideoExtension.count();i++) if (GlobalMainWindow->ApplicationConfig->AllowVideoExtension[i]==Extension) {
- // Create a video wrapper
- CurrentBrush->Video=new cVideoFile(OBJECTTYPE_VIDEOFILE,GlobalMainWindow->ApplicationConfig);
- bool ModifyFlag=false;
- IsValide=(CurrentBrush->Video->GetInformationFromFile(BrushFileName,&AliasList,&ModifyFlag))&&(CurrentBrush->Video->OpenCodecAndFile());
- if (IsValide) {
- // Check if file have at least one sound track compatible
- if ((CurrentBrush->Video->AudioStreamNumber!=-1)&&(!(
- (CurrentBrush->Video->ffmpegAudioFile->streams[CurrentBrush->Video->AudioStreamNumber]->codec->sample_fmt!=AV_SAMPLE_FMT_S16)||
- (CurrentBrush->Video->ffmpegAudioFile->streams[CurrentBrush->Video->AudioStreamNumber]->codec->sample_fmt!=AV_SAMPLE_FMT_U8)
- ))) {
- ErrorMessage=ErrorMessage+"\n"+QApplication::translate("MainWindow","This application support only audio track with unsigned 8 bits or signed 16 bits sample format","Error message");
- IsValide=false;
- }
- if ((CurrentBrush->Video->AudioStreamNumber!=-1)&&(CurrentBrush->Video->ffmpegAudioFile->streams[CurrentBrush->Video->AudioStreamNumber]->codec->channels>2)) {
- ErrorMessage=ErrorMessage+"\n"+QApplication::translate("MainWindow","This application support only mono or stereo audio track","Error message");
- IsValide=false;
- }
- }
- if (!IsValide) {
- delete CurrentBrush->Video;
- CurrentBrush->Video=NULL;
- } else {
- if (ModifyFlag) GlobalMainWindow->SetModifyFlag(true);
- CurrentBrush->Video->EndPos=CurrentBrush->Video->Duration;
- //DiaporamaObject->List[0].StaticDuration=CurrentBrush->Video->StartPos.msecsTo(CurrentBrush->Video->EndPos);
- }
- break;
- }
- if (IsValide) {
-
- QImage *Image=(CurrentBrush->Image?CurrentBrush->Image->ImageAt(true,&CurrentBrush->Image->BrushFileTransform):
- CurrentBrush->Video?CurrentBrush->Video->ImageAt(true,0,QTime(0,0,0,0).msecsTo(CurrentBrush->Video->StartPos),NULL,1,false,&CurrentBrush->Video->BrushFileTransform,false):
- NULL);
- if (!Image) {
- IsValide=false;
- if (CurrentBrush->Image) {
- delete CurrentBrush->Image;
- CurrentBrush->Image=NULL;
- } else if (CurrentBrush->Video) {
- delete CurrentBrush->Video;
- CurrentBrush->Video=NULL;
- }
- } else {
-
- // Apply Styles
- CompositionObject->ApplyTextStyle(DiaporamaObject->Parent->ApplicationConfig->StyleTextCollection.GetStyleDef(DiaporamaObject->Parent->ApplicationConfig->StyleTextCollection.DecodeString(DiaporamaObject->Parent->ApplicationConfig->DefaultBlockBA_IMG_TextST)));
- CompositionObject->ApplyBlockShapeStyle(DiaporamaObject->Parent->ApplicationConfig->StyleBlockShapeCollection.GetStyleDef(DiaporamaObject->Parent->ApplicationConfig->StyleBlockShapeCollection.DecodeString(DiaporamaObject->Parent->ApplicationConfig->DefaultBlockBA_IMG_ShapeST)));
- // Force filtering for CoordinateStyle
- DiaporamaObject->Parent->ApplicationConfig->StyleCoordinateCollection.SetImageGeometryFilter(DiaporamaObject->Parent->ImageGeometry,CurrentBrush->Image?CurrentBrush->Image->ObjectGeometry:CurrentBrush->Video->ObjectGeometry);
- CompositionObject->ApplyCoordinateStyle(DiaporamaObject->Parent->ApplicationConfig->StyleCoordinateCollection.GetStyleDef(DiaporamaObject->Parent->ApplicationConfig->StyleCoordinateCollection.DecodeString(
- DiaporamaObject->Parent->ApplicationConfig->DefaultBlockBA_IMG_CoordST[CurrentBrush->Image?CurrentBrush->Image->ObjectGeometry:CurrentBrush->Video->ObjectGeometry][DiaporamaObject->Parent->ImageGeometry])));
-
- // Special case for nonstandard image => force to image geometry constraint and adapt frame coordinates
- if ((CurrentBrush->Image?CurrentBrush->Image->ObjectGeometry:CurrentBrush->Video->ObjectGeometry)==IMAGE_GEOMETRY_UNKNOWN) {
- double ImageGeometry=1;
- double ProjectGeometry=1;
- double NewW,NewH;
-
- switch (GlobalMainWindow->Diaporama->ImageGeometry) {
- case GEOMETRY_4_3 : ProjectGeometry=double(1440)/double(1920); break;
- case GEOMETRY_16_9 : ProjectGeometry=double(1080)/double(1920); break;
- case GEOMETRY_40_17 : ProjectGeometry=double(816)/double(1920); break;
-
- }
- ProjectGeometry=QString("%1").arg(ProjectGeometry,0,'e').toDouble(); // Rounded to same number as style managment
- switch (DiaporamaObject->Parent->ApplicationConfig->DefaultBlockBA_CLIPARTLOCK[DiaporamaObject->Parent->ImageGeometry]) {
- case 0 : // Adjust to Full in lock to image geometry mode
- if (CurrentBrush->Image) ImageGeometry=double(CurrentBrush->Image->ImageHeight)/double(CurrentBrush->Image->ImageWidth);
- else if (CurrentBrush->Video) ImageGeometry=double(CurrentBrush->Video->ImageHeight)/double(CurrentBrush->Video->ImageWidth);
- CurrentBrush->InitDefaultFramingStyle(true,ImageGeometry);
- CurrentBrush->ApplyStyle(true,CurrentBrush->DefaultFramingF);
- NewW=CompositionObject->w*GlobalMainWindow->Diaporama->InternalWidth;
- NewH=NewW*CurrentBrush->AspectRatio;
- NewW=NewW/GlobalMainWindow->Diaporama->InternalWidth;
- NewH=NewH/GlobalMainWindow->Diaporama->InternalHeight;
- if (NewH>1) {
- NewH=CompositionObject->h*GlobalMainWindow->Diaporama->InternalHeight;
- NewW=NewH/CurrentBrush->AspectRatio;
- NewW=NewW/GlobalMainWindow->Diaporama->InternalWidth;
- NewH=NewH/GlobalMainWindow->Diaporama->InternalHeight;
- }
- CompositionObject->w=NewW;
- CompositionObject->h=NewH;
- break;
- case 1 : // Lock to project geometry - To full
- ImageGeometry=ProjectGeometry;
- CurrentBrush->InitDefaultFramingStyle(true,ImageGeometry);
- CurrentBrush->ApplyStyle(true,CurrentBrush->DefaultFramingF);
- break;
- case 2 : // Lock to project geometry - To width
- ImageGeometry=ProjectGeometry;
- CurrentBrush->InitDefaultFramingStyle(true,ImageGeometry);
- CurrentBrush->ApplyStyle(true,CurrentBrush->DefaultFramingW);
- break;
- case 3 : // Lock to project geometry - To height
- ImageGeometry=ProjectGeometry;
- CurrentBrush->InitDefaultFramingStyle(true,ImageGeometry);
- CurrentBrush->ApplyStyle(true,CurrentBrush->DefaultFramingH);
- break;
- }
- }
- delete Image;
- }
- }
- if (IsValide) {
- int CurrentShot=ui->ShotTable->currentColumn();
-
- // Now create and append a shot composition block to all shot
- for (int i=0;i<DiaporamaObject->List.count();i++) {
- DiaporamaObject->List[i]->ShotComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_SHOT,CompositionObject->IndexKey,GlobalMainWindow->ApplicationConfig));
- DiaporamaObject->List[i]->ShotComposition.List[DiaporamaObject->List[i]->ShotComposition.List.count()-1]->CopyFromCompositionObject(CompositionObject);
- // Ensure new object is not visible in previous shot
- if (i<CurrentShot) DiaporamaObject->List[i]->ShotComposition.List[DiaporamaObject->List[i]->ShotComposition.List.count()-1]->IsVisible=false;
- }
-
- // If this object is a video will gain sound from this shots !
- if (CurrentBrush->Video!=NULL) for (int k=0;k<DiaporamaObject->List.count();k++) for (int l=0;l<DiaporamaObject->List[k]->ShotComposition.List.count();l++)
- if ((DiaporamaObject->List[k]->ShotComposition.List[l]->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)&&
- (DiaporamaObject->List[k]->ShotComposition.List[l]->BackgroundBrush->Video)) {
- if (k<CurrentShot) {
- // Set this new block to SoundVolume=0
- if (CurrentBrush->Video==DiaporamaObject->List[k]->ShotComposition.List[l]->BackgroundBrush->Video)
- DiaporamaObject->List[k]->ShotComposition.List[l]->BackgroundBrush->SoundVolume=0;
- } else {
- // Set all other block to SoundVolume=0 and this block to SoundVolume=1
- if (CurrentBrush->Video!=DiaporamaObject->List[k]->ShotComposition.List[l]->BackgroundBrush->Video)
- DiaporamaObject->List[k]->ShotComposition.List[l]->BackgroundBrush->SoundVolume=0;
- else DiaporamaObject->List[k]->ShotComposition.List[l]->BackgroundBrush->SoundVolume=1;
- }
- }
-
- // Inc NextIndexKey
- DiaporamaObject->NextIndexKey++;
-
- // 10 by 10 step for ZValue
- NextZValue+=10;
-
- } else {
- CustomMessageBox(this,QMessageBox::Critical,QApplication::translate("MainWindow","Error","Error message"),NewFile+"\n\n"+ErrorMessage,QMessageBox::Close);
- }
- }
- RefreshBlockTable(CompositionList->List.count()-1);
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::s_BlockTable_RemoveBlock() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_BlockTable_RemoveBlock");
-
- int CurrentRow=ui->BlockTable->currentRow();
- cCompositionObject *CurrentTextItem=GetSelectedCompositionObject();
- if (CurrentTextItem==NULL) return;
- if ((GlobalMainWindow->ApplicationConfig->AskUserToRemove)&&(CustomMessageBox(this,QMessageBox::Question,QApplication::translate("DlgSlideProperties","Remove bloc"),QApplication::translate("DlgSlideProperties","Are you sure to want to delete this bloc?"),
- QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)==QMessageBox::No)) return;
- int i=0;
- while ((i<CompositionList->List.count())&&(CompositionList->List[i]->IndexKey!=CurrentTextItem->IndexKey)) i++;
-
- if ((i<CompositionList->List.count())) {
- int KeyToDelete=CompositionList->List[i]->IndexKey;
- StopMAJSpinbox=true;
- for (int j=0;j<DiaporamaObject->List.count();j++) {
- int k=0;
- while (k<DiaporamaObject->List[j]->ShotComposition.List.count()) {
- if (DiaporamaObject->List[j]->ShotComposition.List[k]->IndexKey==KeyToDelete) delete DiaporamaObject->List[j]->ShotComposition.List.takeAt(k);
- else k++;
- }
- }
- int k=0;
- while (k<DiaporamaObject->ObjectComposition.List.count()) {
- if (DiaporamaObject->ObjectComposition.List[k]->IndexKey==KeyToDelete) delete DiaporamaObject->ObjectComposition.List.takeAt(k);
- else k++;
- }
-
- StopMAJSpinbox=false;
- }
- RefreshBlockTable(CurrentRow>0?CurrentRow-1:0);
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::CopyBlockProperties(cCompositionObject *SourceBlock,cCompositionObject *DestBlock) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::CopyBlockProperties");
-
- if (SourceBlock==DestBlock) return;
-
- // Attribut of the text part
- DestBlock->Text =SourceBlock->Text; // Text of the object
- DestBlock->FontName =SourceBlock->FontName; // font name
- DestBlock->FontSize =SourceBlock->FontSize; // font size
- DestBlock->FontColor =SourceBlock->FontColor; // font color
- DestBlock->FontShadowColor =SourceBlock->FontShadowColor; // font shadow color
- DestBlock->IsBold =SourceBlock->IsBold; // true if bold mode
- DestBlock->IsItalic =SourceBlock->IsItalic; // true if Italic mode
- DestBlock->IsUnderline =SourceBlock->IsUnderline; // true if Underline mode
- DestBlock->HAlign =SourceBlock->HAlign; // Horizontal alignement : 0=left, 1=center, 2=right, 3=justif
- DestBlock->VAlign =SourceBlock->VAlign; // Vertical alignement : 0=up, 1=center, 2=bottom
- DestBlock->StyleText =SourceBlock->StyleText; // Style : 0=normal, 1=outerline, 2=shadow up-left, 3=shadow up-right, 4=shadow bt-left, 5=shadow bt-right
-
- // Attribut of the shap part
- DestBlock->BackgroundForm =SourceBlock->BackgroundForm; // Type of the form : 0=None, 1=Rectangle, 2=RoundRect, 3=Buble, 4=Ellipse, 5=Triangle UP (Polygon)
- DestBlock->PenSize =SourceBlock->PenSize; // Width of the border of the form
- DestBlock->PenStyle =SourceBlock->PenStyle; // Style of the pen border of the form
- DestBlock->PenColor =SourceBlock->PenColor; // Color of the border of the form
- DestBlock->FormShadow =SourceBlock->FormShadow; // 0=none, 1=shadow up-left, 2=shadow up-right, 3=shadow bt-left, 4=shadow bt-right
- DestBlock->FormShadowDistance =SourceBlock->FormShadowDistance; // Distance from form to shadow
- DestBlock->FormShadowColor =SourceBlock->FormShadowColor; // 0=none, 1=shadow up-left, 2=shadow up-right, 3=shadow bt-left, 4=shadow bt-right
- DestBlock->Opacity =SourceBlock->Opacity; // Opacity of the form
-
- // Attribut of the BackgroundBrush of the shap part
- DestBlock->BackgroundBrush->BrushType =SourceBlock->BackgroundBrush->BrushType;
- DestBlock->BackgroundBrush->PatternType =SourceBlock->BackgroundBrush->PatternType;
- DestBlock->BackgroundBrush->GradientOrientation =SourceBlock->BackgroundBrush->GradientOrientation;
- DestBlock->BackgroundBrush->ColorD =SourceBlock->BackgroundBrush->ColorD;
- DestBlock->BackgroundBrush->ColorF =SourceBlock->BackgroundBrush->ColorF;
- DestBlock->BackgroundBrush->ColorIntermed =SourceBlock->BackgroundBrush->ColorIntermed;
- DestBlock->BackgroundBrush->Intermediate =SourceBlock->BackgroundBrush->Intermediate;
- DestBlock->BackgroundBrush->BrushImage =SourceBlock->BackgroundBrush->BrushImage;
-}
-
-void DlgSlideProperties::ApplyGlobalPropertiesToAllShots(cCompositionObject *GlobalBlock) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::ApplyGlobalPropertiesToAllShots");
-
- // Apply to GlobalComposition objects
- for (int j=0;j<DiaporamaObject->ObjectComposition.List.count();j++) if (GlobalBlock->IndexKey==DiaporamaObject->ObjectComposition.List[j]->IndexKey)
- CopyBlockProperties(GlobalBlock,DiaporamaObject->ObjectComposition.List[j]);
-
- // Apply to Shots Composition objects
- for (int i=0;i<DiaporamaObject->List.count();i++) for (int j=0;j<DiaporamaObject->List[i]->ShotComposition.List.count();j++) if (GlobalBlock->IndexKey==DiaporamaObject->List[i]->ShotComposition.List[j]->IndexKey)
- CopyBlockProperties(GlobalBlock,DiaporamaObject->List[i]->ShotComposition.List[j]);
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::ChangeVisibleState() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::ChangeVisibleState");
-
- cCompositionObject *CurrentTextItem=GetSelectedCompositionObject();
- if (!CurrentTextItem) return;
- CurrentTextItem->IsVisible=!CurrentTextItem->IsVisible;
- if (CurrentTextItem->BackgroundBrush->Video!=NULL) {
- if (!CurrentTextItem->IsVisible) {
- CurrentTextItem->BackgroundBrush->SoundVolume=0;
- } else {
- int CurrentShot=ui->ShotTable->currentColumn();
- bool SomeOneHaveSound=false;
- // Parse table to know if a block have sound for this shot
- for (int i=0;i<DiaporamaObject->List[CurrentShot]->ShotComposition.List.count();i++)
- if ((DiaporamaObject->List[CurrentShot]->ShotComposition.List[i]->BackgroundBrush->Video!=NULL)&&
- (DiaporamaObject->List[CurrentShot]->ShotComposition.List[i]->BackgroundBrush->SoundVolume!=0)) SomeOneHaveSound=true;
- // If no block have sound => get sound to this video
- if (!SomeOneHaveSound) CurrentTextItem->BackgroundBrush->SoundVolume=1;
- }
- }
- RefreshBlockTable(ui->BlockTable->currentRow());
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::BlockUp() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::BlockUp");
-
- int CurrentBlock=ui->BlockTable->currentRow();
- CompositionList->List.swap(CurrentBlock,CurrentBlock-1);
- RefreshBlockTable(CurrentBlock-1);
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::BlockDown() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::BlockDown");
-
- int CurrentBlock=ui->BlockTable->currentRow();
- CompositionList->List.swap(CurrentBlock+1,CurrentBlock);
- RefreshBlockTable(CurrentBlock+1);
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::s_CopyBlockBT() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_CopyBlockBT");
-
- cCompositionObject *GlobalBlock=GetSelectedGlobalCompositionObject();
- cCompositionObject *ShotBlock =GetSelectedCompositionObject();
- if ((!GlobalBlock)||(!ShotBlock)) return;
-
- QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
-
- // Create xml document and root
- QDomDocument Object=QDomDocument(APPLICATION_NAME);
- QDomElement root =Object.createElement("CLIPBOARD");
- GlobalBlock->SaveToXML(root,"CLIPBOARD-BLOCK-GLOBAL",DiaporamaObject->Parent->ProjectFileName,true); // Save global object
- ShotBlock->SaveToXML(root,"CLIPBOARD-BLOCK-SHOT",DiaporamaObject->Parent->ProjectFileName,true); // Save shot object
- Object.appendChild(root);
-
- // Transfert xml document to clipboard
- QMimeData *SlideData=new QMimeData();
- SlideData->setData("ffDiaporama/block",Object.toByteArray());
- QApplication::clipboard()->setMimeData(SlideData);
-
- RefreshControls();
- QApplication::restoreOverrideCursor();
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::s_CutBlockBT() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_CutBlockBT");
-
- cCompositionObject *GlobalBlock=GetSelectedGlobalCompositionObject();
- cCompositionObject *ShotBlock =GetSelectedCompositionObject();
- if ((!GlobalBlock)||(!ShotBlock)) return;
-
- QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
-
- // Create xml document and root
- QDomDocument Object=QDomDocument(APPLICATION_NAME);
- QDomElement root =Object.createElement("CLIPBOARD");
- GlobalBlock->SaveToXML(root,"CLIPBOARD-BLOCK-GLOBAL",DiaporamaObject->Parent->ProjectFileName,true); // Save global object
- ShotBlock->SaveToXML(root,"CLIPBOARD-BLOCK-SHOT",DiaporamaObject->Parent->ProjectFileName,true); // Save shot object
- Object.appendChild(root);
-
- // Transfert xml document to clipboard
- QMimeData *SlideData=new QMimeData();
- SlideData->setData("ffDiaporama/block",Object.toByteArray());
- QApplication::clipboard()->setMimeData(SlideData);
-
- s_BlockTable_RemoveBlock(); // RefreshControls() is done by s_BlockTable_RemoveBlock()
- QApplication::restoreOverrideCursor();
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::s_PasteBlockBT() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_PasteBlockBT");
-
- const QMimeData *SlideData=QApplication::clipboard()->mimeData();
- if (SlideData->hasFormat("ffDiaporama/block")) {
- QDomDocument Object=QDomDocument(APPLICATION_NAME);
- Object.setContent(SlideData->data("ffDiaporama/block"));
- if ((Object.elementsByTagName("CLIPBOARD").length()>0)&&(Object.elementsByTagName("CLIPBOARD").item(0).isElement()==true)) {
- QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
- QDomElement root=Object.elementsByTagName("CLIPBOARD").item(0).toElement();
-
- int CurrentShot=ui->ShotTable->currentColumn();
-
- // Create and append a composition block to the object list
- DiaporamaObject->ObjectComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_OBJECT,DiaporamaObject->NextIndexKey,GlobalMainWindow->ApplicationConfig));
- cCompositionObject *GlobalBlock=DiaporamaObject->ObjectComposition.List[DiaporamaObject->ObjectComposition.List.count()-1];
- GlobalBlock->LoadFromXML(root,"CLIPBOARD-BLOCK-GLOBAL","",NULL,NULL);
- GlobalBlock->IndexKey=DiaporamaObject->NextIndexKey;
-
- cCompositionObject ShotBlock(COMPOSITIONTYPE_SHOT,DiaporamaObject->NextIndexKey,GlobalMainWindow->ApplicationConfig);
- ShotBlock.LoadFromXML(root,"CLIPBOARD-BLOCK-SHOT","",NULL,NULL);
- ShotBlock.IndexKey=DiaporamaObject->NextIndexKey;
- ShotBlock.BackgroundBrush->Image=GlobalBlock->BackgroundBrush->Image;
- ShotBlock.BackgroundBrush->Video=GlobalBlock->BackgroundBrush->Video;
- ShotBlock.Text=GlobalBlock->Text;
- if (ShotBlock.Text!="") {
- ShotBlock.FontName =GlobalBlock->FontName;
- ShotBlock.FontSize =GlobalBlock->FontSize;
- ShotBlock.FontColor =GlobalBlock->FontColor;
- ShotBlock.FontShadowColor =GlobalBlock->FontShadowColor;
- ShotBlock.IsBold =GlobalBlock->IsBold;
- ShotBlock.IsItalic =GlobalBlock->IsItalic;
- ShotBlock.IsUnderline =GlobalBlock->IsUnderline;
- ShotBlock.HAlign =GlobalBlock->HAlign;
- ShotBlock.VAlign =GlobalBlock->VAlign;
- ShotBlock.StyleText =GlobalBlock->StyleText;
- }
-
- // Now create and append a shot composition block to all shot
- for (int i=0;i<DiaporamaObject->List.count();i++) {
- DiaporamaObject->List[i]->ShotComposition.List.append(new cCompositionObject(COMPOSITIONTYPE_SHOT,DiaporamaObject->NextIndexKey,GlobalMainWindow->ApplicationConfig));
- DiaporamaObject->List[i]->ShotComposition.List[DiaporamaObject->List[i]->ShotComposition.List.count()-1]->CopyFromCompositionObject(&ShotBlock);
- // Ensure new object is not visible in previous shot
- if (i<CurrentShot) {
- DiaporamaObject->List[i]->ShotComposition.List[DiaporamaObject->List[i]->ShotComposition.List.count()-1]->IsVisible=false;
- // Ensure unvisible video have no sound !
- if (DiaporamaObject->List[i]->ShotComposition.List[DiaporamaObject->List[i]->ShotComposition.List.count()-1]->BackgroundBrush->Video!=NULL)
- DiaporamaObject->List[i]->ShotComposition.List[DiaporamaObject->List[i]->ShotComposition.List.count()-1]->BackgroundBrush->SoundVolume=0;
- }
- }
-
- // Inc NextIndexKey
- DiaporamaObject->NextIndexKey++;
-
- // 10 by 10 step for ZValue
- NextZValue+=10;
-
- RefreshBlockTable(CompositionList->List.count()-1);
- QApplication::restoreOverrideCursor();
- }
- }
-}
-
-//====================================================================================================================
-
-void DlgSlideProperties::s_Event_ClipboardChanged() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgSlideProperties::s_Event_ClipboardChanged");
-
- ui->PasteBlockBT->setEnabled((QApplication::clipboard())&&(QApplication::clipboard()->mimeData())&&(QApplication::clipboard()->mimeData()->hasFormat("ffDiaporama/block")));
-}
diff --git a/src/ffDiaporama/DlgSlideProperties.h b/src/ffDiaporama/DlgSlideProperties.h
deleted file mode 100755
index cf9cafa..0000000
--- a/src/ffDiaporama/DlgSlideProperties.h
+++ /dev/null
@@ -1,176 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef DLGSLIDEPROPERTIES_H
-#define DLGSLIDEPROPERTIES_H
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-#include "../sharedfiles/_QCustomDialog.h"
-
-// Specific inclusions
-#include "_Diaporama.h"
-#include "cCustomGraphicsRectItem.h"
-
-namespace Ui {
- class DlgSlideProperties;
-}
-
-class DlgSlideProperties : public QDialog {
-Q_OBJECT
-public:
- cDiaporamaObject *DiaporamaObject;
- QDomDocument *Undo; // Save object before modification for cancel button
-
- bool IsFirstInitDone; // true when first show window was done
-
- cCompositionList *CompositionList; // Link to Composition List
- double xmax,ymax; // Size of the scene
- int NextZValue; // Current zvalue
- QGraphicsScene *scene; // Link to the scene
- QImage *BackgroundImage; // Background Image
-
- sMagneticRuler MagneticRuler; // TV Margins ruler
- int WithPen; // With for ruler pen
- double ProjectGeometry;
- QString FramingStyleLabelPixmap;
-
- // Re-entrence flags
- bool InBlockTable_SelectionChanged;
- bool InScene_SelectionChanged;
- bool InShotTable_SelectionChanged;
- bool InRefreshStyleControls;
- bool InRefreshControls;
- bool InRefreshSceneImage;
- bool StopMAJSpinbox; // Use to avoid controls to send refreshcontrol
- bool StopMajFramingStyle;
-
- explicit DlgSlideProperties(cDiaporamaObject *DiaporamaObject,QWidget *parent = 0);
- ~DlgSlideProperties();
-
- void RefreshStyleControls();
- void RefreshControls();
- void RefreshSceneImage();
- void UpdateDockInfo();
- void AdjustApectRatio(cBrushDefinition *CurrentBrush,cCompositionObject *CurrentTextItem);
- void GetForDisplayUnit(double &DisplayW,double &DisplayH);
- void s_Scene_DoubleClick(); // User double click on a block in the scene widget
-
- // Utility functions
- cCompositionObject *GetSelectedCompositionObject(); // Return selected CompositionObject
- cCompositionObject *GetSelectedGlobalCompositionObject(); // Return selected CompositionObject in the global composition list
- void ApplyGlobalPropertiesToAllShots(cCompositionObject *GlobalBlock);
- void CopyBlockProperties(cCompositionObject *SourceBlock,cCompositionObject *DestBlock);
-
- // Context for modifing values to current composition object
- cCompositionObject *CompositionObject;
- cCustomGraphicsRectItem *RectItem;
- double DisplayW,DisplayH;
-
- bool PrepContexte();
- void ApplyToContexte(bool ReposRectItem,bool ApplyGlobal);
-
- // *************************
-
-
-protected:
- virtual void resizeEvent(QResizeEvent *);
- virtual void showEvent(QShowEvent *);
- virtual void reject();
- virtual void accept();
-
-private slots:
- void s_Event_ClipboardChanged();
- void s_RefreshSceneImage();
-
- void OKPrevious();
- void OKNext();
- void Help();
- void SetSavedWindowGeometry();
- void s_SlideNameChange(QString NewText);
- void s_NewChapter(int state);
- void s_ShotDurationChange(QTime NewValue);
- void ChangeVisibleState();
- void s_TVMarginsBt();
-
- void s_CopyBlockBT();
- void s_CutBlockBT();
- void s_PasteBlockBT();
-
- void BlockUp();
- void BlockDown();
-
- // Buttons associated to a Dialog box
- void TextEditor();
- void ImageEditCorrect();
- void VideoEdit();
- void GetSound();
-
- // Shot table part
- void s_ShotTable_SelectionChanged(); // User select a shot in the ShotTable widget
- void s_ShotTable_AddShot();
- void s_ShotTable_RemoveShot();
- void s_ShotTableDragMoveItem();
- void s_ShotTableMoveLeft();
- void s_ShotTableMoveRight();
-
- // Block table/scene part
- void s_BlockTable_SelectionChanged(); // User select a block in the BlocTable widget
- void s_BlockTable_ItemDoubleClicked(QTableWidgetItem * item);
- void s_Scene_SelectionChanged(); // User select a block in the scene widget
- void s_BlockTable_AddNewTextBlock();
- void s_BlockTable_AddNewFileBlock();
- void s_BlockTable_RemoveBlock();
-
- void s_ChgPosXValue(double);
- void s_ChgPosYValue(double);
- void s_ChgWidthValue(double);
- void s_ChgHeightValue(double);
- void s_ChangeBackgroundForm(int);
- void s_ChangeOpacity(int);
-
- void s_ChgShadowFormValue(int);
- void s_ChgShadowDistanceValue(int);
- void s_ChgPenSize(int);
- void s_ChPenColorCB(int);
- void s_ChangePenStyle(int);
- void s_ChgShadowColorCB(int);
-
- void s_ChgRotateZValue(int);
- void s_ChgRotateXValue(int);
- void s_ChgRotateYValue(int);
-
- // Style
- void s_ChangeFramingStyle(int);
- void s_CoordinateStyleBT();
- void s_BlockShapeStyleBT();
-
-private:
- void Clean();
- void MakeFormIcon(QComboBox *UICB);
- void MakeBorderStyleIcon(QComboBox *UICB);
-
- void RefreshShotTable(int SetCurrentIndex);
- void RefreshBlockTable(int SetCurrentIndex);
-
- Ui::DlgSlideProperties *ui;
-};
-
-#endif // DLGSLIDEPROPERTIES_H
diff --git a/src/ffDiaporama/DlgSlideProperties.ui b/src/ffDiaporama/DlgSlideProperties.ui
deleted file mode 100755
index b441089..0000000
--- a/src/ffDiaporama/DlgSlideProperties.ui
+++ /dev/null
@@ -1,2879 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>DlgSlideProperties</class>
- <widget class="QDialog" name="DlgSlideProperties">
- <property name="windowModality">
- <enum>Qt::WindowModal</enum>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>700</width>
- <height>500</height>
- </rect>
- </property>
- <property name="minimumSize">
- <size>
- <width>700</width>
- <height>500</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- </font>
- </property>
- <property name="windowTitle">
- <string>Slide properties</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_4">
- <property name="spacing">
- <number>4</number>
- </property>
- <property name="margin">
- <number>8</number>
- </property>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <layout class="QVBoxLayout" name="LeftLayout">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QFrame" name="frame">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>26</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>26</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">QToolButton {
- background-color: transparent;
- border: none;
-}
-QToolButton:hover{
- border: 2px solid #8f8f91;
- border-radius: 1px;
- background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
- stop: 0 #f6f7fa, stop: 1 #dadbde);
-}
-QToolButton:pressed {
- border: 2px solid #8f8f91;
- border-radius: 6px;
- background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
- stop: 0 #f6f7fa, stop: 1 #dadbde);
- }
-</string>
- </property>
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Sunken</enum>
- </property>
- <layout class="QHBoxLayout" name="ShotToolBox">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>1</number>
- </property>
- <item>
- <widget class="QToolButton" name="AddShot">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>7</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Append a shot to end of the timeline</string>
- </property>
- <property name="text">
- <string>Add shot</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/add_project.png</normaloff>:/img/add_project.png</iconset>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="RemoveShot">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>7</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Remove current selected shot</string>
- </property>
- <property name="text">
- <string>Remove</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/trash.png</normaloff>:/img/trash.png</iconset>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="ShotTableMoveLeftBt">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>7</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Change the order of the shot by moving the current selected shot, of a notch towards the left</string>
- </property>
- <property name="text">
- <string>Move left</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/arrow_left.png</normaloff>:/img/arrow_left.png</iconset>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="ShotTableMoveRightBt">
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>7</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Change the order of the shot by moving the current selected shot, of a notch towards the right</string>
- </property>
- <property name="text">
- <string>Move right</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/arrow_right.png</normaloff>:/img/arrow_right.png</iconset>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="cCustomTableWidget2" name="ShotTable">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>80</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>80</height>
- </size>
- </property>
- <property name="verticalScrollBarPolicy">
- <enum>Qt::ScrollBarAlwaysOff</enum>
- </property>
- <property name="horizontalScrollBarPolicy">
- <enum>Qt::ScrollBarAlwaysOn</enum>
- </property>
- <property name="editTriggers">
- <set>QAbstractItemView::NoEditTriggers</set>
- </property>
- <property name="tabKeyNavigation">
- <bool>true</bool>
- </property>
- <property name="showDropIndicator" stdset="0">
- <bool>false</bool>
- </property>
- <property name="dragDropOverwriteMode">
- <bool>false</bool>
- </property>
- <property name="dragDropMode">
- <enum>QAbstractItemView::InternalMove</enum>
- </property>
- <property name="defaultDropAction">
- <enum>Qt::LinkAction</enum>
- </property>
- <property name="selectionMode">
- <enum>QAbstractItemView::SingleSelection</enum>
- </property>
- <property name="selectionBehavior">
- <enum>QAbstractItemView::SelectColumns</enum>
- </property>
- <property name="wordWrap">
- <bool>false</bool>
- </property>
- <property name="cornerButtonEnabled">
- <bool>false</bool>
- </property>
- <property name="columnCount">
- <number>0</number>
- </property>
- <attribute name="horizontalHeaderVisible">
- <bool>false</bool>
- </attribute>
- <attribute name="horizontalHeaderStretchLastSection">
- <bool>false</bool>
- </attribute>
- <attribute name="verticalHeaderVisible">
- <bool>false</bool>
- </attribute>
- <attribute name="verticalHeaderStretchLastSection">
- <bool>true</bool>
- </attribute>
- <row>
- <property name="text">
- <string notr="true">Sequence</string>
- </property>
- </row>
- </widget>
- </item>
- <item>
- <layout class="QGridLayout" name="gridLayout_5">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>2</number>
- </property>
- <item row="3" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_9">
- <item>
- <widget class="QTimeEdit" name="ShotDurationED">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>9</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Indicate the duration for the current selected shot.</string>
- </property>
- <property name="maximumDateTime">
- <datetime>
- <hour>11</hour>
- <minute>59</minute>
- <second>59</second>
- <year>2000</year>
- <month>1</month>
- <day>1</day>
- </datetime>
- </property>
- <property name="maximumTime">
- <time>
- <hour>11</hour>
- <minute>59</minute>
- <second>59</second>
- </time>
- </property>
- <property name="currentSection">
- <enum>QDateTimeEdit::HourSection</enum>
- </property>
- <property name="displayFormat">
- <string>HH:mm:ss.zzz</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="MinShotDurationLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <italic>true</italic>
- </font>
- </property>
- <property name="text">
- <string notr="true">00:00:00.000</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_15">
- <property name="text">
- <string>Shot duration :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="9" column="0">
- <widget class="QLabel" name="label_29">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string>Total slide duration :</string>
- </property>
- </widget>
- </item>
- <item row="9" column="1">
- <widget class="QLabel" name="SlideDurationLabel">
- <property name="text">
- <string notr="true">00:00:00.000</string>
- </property>
- </widget>
- </item>
- <item row="0" column="0">
- <widget class="QLabel" name="label_28">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- </font>
- </property>
- <property name="text">
- <string>Slide name :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QLineEdit" name="SlideNameED">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Indicate a name for the slide. It is this name which will appear on the thumbnail in the main window timeline.</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QCheckBox" name="NewChapterCB">
- <property name="text">
- <string>Start a new chapter from here</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="ChapterLabel">
- <property name="text">
- <string>Chapter :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="2" column="0" colspan="2">
- <widget class="Line" name="line">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QGraphicsView" name="GraphicsView"/>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QWidget" name="widget" native="true">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <item>
- <widget class="QSplitter" name="SplitterTop">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>300</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <widget class="QWidget" name="widget_2" native="true">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_2">
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QTableWidget" name="BlockTable">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="lineWidth">
- <number>1</number>
- </property>
- <property name="midLineWidth">
- <number>1</number>
- </property>
- <property name="verticalScrollBarPolicy">
- <enum>Qt::ScrollBarAlwaysOn</enum>
- </property>
- <property name="horizontalScrollBarPolicy">
- <enum>Qt::ScrollBarAlwaysOff</enum>
- </property>
- <property name="editTriggers">
- <set>QAbstractItemView::NoEditTriggers</set>
- </property>
- <property name="showDropIndicator" stdset="0">
- <bool>false</bool>
- </property>
- <property name="dragDropOverwriteMode">
- <bool>false</bool>
- </property>
- <property name="selectionMode">
- <enum>QAbstractItemView::SingleSelection</enum>
- </property>
- <property name="selectionBehavior">
- <enum>QAbstractItemView::SelectRows</enum>
- </property>
- <property name="wordWrap">
- <bool>false</bool>
- </property>
- <property name="cornerButtonEnabled">
- <bool>false</bool>
- </property>
- <attribute name="horizontalHeaderVisible">
- <bool>false</bool>
- </attribute>
- <attribute name="horizontalHeaderStretchLastSection">
- <bool>true</bool>
- </attribute>
- <attribute name="verticalHeaderVisible">
- <bool>false</bool>
- </attribute>
- <column>
- <property name="text">
- <string notr="true">Icon</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string notr="true">Sound</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string notr="true">Type</string>
- </property>
- </column>
- </widget>
- </item>
- <item>
- <widget class="QFrame" name="horizontalFrameBlock">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>26</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>26</height>
- </size>
- </property>
- <property name="styleSheet">
- <string notr="true">QToolButton {
- background-color: transparent;
- border: none;
-}
-QToolButton:hover{
- border: 2px solid #8f8f91;
- border-radius: 1px;
- background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
- stop: 0 #f6f7fa, stop: 1 #dadbde);
-}
-QToolButton:pressed {
- border: 2px solid #8f8f91;
- border-radius: 6px;
- background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
- stop: 0 #f6f7fa, stop: 1 #dadbde);
- }
-</string>
- </property>
- <layout class="QHBoxLayout" name="horizontalLayout_12">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>1</number>
- </property>
- <item>
- <widget class="QToolButton" name="AddTextBlock">
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>7</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Add a new title block</string>
- </property>
- <property name="text">
- <string notr="true">Add title</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/add_text.png</normaloff>:/img/add_text.png</iconset>
- </property>
- <property name="shortcut">
- <string>Ctrl+Ins</string>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="AddFileBlock">
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>7</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Add a new block of type image or video.</string>
- </property>
- <property name="text">
- <string notr="true">Add file</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/add_image.png</normaloff>:/img/add_image.png</iconset>
- </property>
- <property name="shortcut">
- <string>Ins</string>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_10">
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="CopyBlockBT">
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>7</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Copy the current block to the ffDiaporama clipboard.</string>
- </property>
- <property name="text">
- <string notr="true">Copy</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/editcopy.png</normaloff>:/img/editcopy.png</iconset>
- </property>
- <property name="shortcut">
- <string>Ctrl+C</string>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="CutBlockBT">
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>7</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Copy the current block to the ffDiaporama clipboard and remove it from the slide</string>
- </property>
- <property name="text">
- <string notr="true">Cut</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/editcut.png</normaloff>:/img/editcut.png</iconset>
- </property>
- <property name="shortcut">
- <string>Ctrl+X</string>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="PasteBlockBT">
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>7</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Paste block from the ffDiaporama clipboard and insert it.</string>
- </property>
- <property name="text">
- <string notr="true">Paste</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/editpaste.png</normaloff>:/img/editpaste.png</iconset>
- </property>
- <property name="shortcut">
- <string>Ctrl+V</string>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="RemoveBlock">
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>7</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Remove the current block</string>
- </property>
- <property name="text">
- <string notr="true">Remove</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/trash.png</normaloff>:/img/trash.png</iconset>
- </property>
- <property name="shortcut">
- <string>Del</string>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_7">
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="BlockUpBT">
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Change the order of blocks by moving the active block upward (towards the background)</string>
- </property>
- <property name="text">
- <string notr="true">Block up</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/arrow_up.png</normaloff>:/img/arrow_up.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>16</width>
- <height>16</height>
- </size>
- </property>
- <property name="shortcut">
- <string>PgUp</string>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="BlockDownBT">
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Change the order of blocks by moving the active block downward (towards the foreground)</string>
- </property>
- <property name="text">
- <string notr="true">Block down</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/arrow_down.png</normaloff>:/img/arrow_down.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>16</width>
- <height>16</height>
- </size>
- </property>
- <property name="shortcut">
- <string>PgDown</string>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="VisibleBT">
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>7</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Make visible or hidden the active block</string>
- </property>
- <property name="text">
- <string notr="true">Visible</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/Visible_OK.png</normaloff>:/img/Visible_OK.png</iconset>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="SoundBT">
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>7</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Give the sound, during this shot, to the current video block</string>
- </property>
- <property name="text">
- <string notr="true">Play sound</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/object_sound.png</normaloff>:/img/object_sound.png</iconset>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_6">
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="TextEditBT">
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>7</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Define the properties of the text block</string>
- </property>
- <property name="text">
- <string notr="true">Edit text</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/EditText.png</normaloff>:/img/EditText.png</iconset>
- </property>
- <property name="shortcut">
- <string>F5</string>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="ImageEditCorrectBT">
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>7</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Define framing and do correction of image or movie</string>
- </property>
- <property name="text">
- <string notr="true">Framing-Correction</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/EditImage.png</normaloff>:/img/EditImage.png</iconset>
- </property>
- <property name="shortcut">
- <string>F6</string>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="VideoEditBT">
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>7</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Cut the video</string>
- </property>
- <property name="text">
- <string notr="true">Cut video</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/EditMovie.png</normaloff>:/img/EditMovie.png</iconset>
- </property>
- <property name="shortcut">
- <string>F7</string>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QSplitter" name="SplitterBottom">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>300</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <widget class="QScrollArea" name="scrollArea">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Sunken</enum>
- </property>
- <property name="lineWidth">
- <number>1</number>
- </property>
- <property name="midLineWidth">
- <number>1</number>
- </property>
- <property name="verticalScrollBarPolicy">
- <enum>Qt::ScrollBarAlwaysOn</enum>
- </property>
- <property name="horizontalScrollBarPolicy">
- <enum>Qt::ScrollBarAlwaysOff</enum>
- </property>
- <property name="widgetResizable">
- <bool>true</bool>
- </property>
- <widget class="QWidget" name="scrollAreaWidgetContents">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>279</width>
- <height>407</height>
- </rect>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>0</number>
- </property>
- <property name="rightMargin">
- <number>2</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>2</number>
- </property>
- <item row="2" column="0" colspan="2">
- <widget class="QLabel" name="label_8">
- <property name="font">
- <font>
- <italic>true</italic>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Coordinates :</string>
- </property>
- </widget>
- </item>
- <item row="5" column="0">
- <layout class="QHBoxLayout" name="horizontalLayout_4">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>0</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QToolButton" name="CoordinateStyleBT">
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/db_menu.png</normaloff>:/img/db_menu.png</iconset>
- </property>
- <property name="arrowType">
- <enum>Qt::NoArrow</enum>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="5" column="1">
- <widget class="QLabel" name="CoordinateStyleED">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>175</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>175</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string notr="true">StyleName</string>
- </property>
- </widget>
- </item>
- <item row="6" column="0">
- <widget class="QLabel" name="FramingStyleLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/EditImage.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="6" column="1">
- <widget class="QComboBox" name="FramingStyleCB">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- </widget>
- </item>
- <item row="7" column="0">
- <widget class="QLabel" name="PosSize_X">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/PosSize_X.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="7" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_16">
- <property name="spacing">
- <number>0</number>
- </property>
- <item>
- <widget class="QDoubleSpinBox" name="PosXEd">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>75</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>75</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Define X position of current block</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="suffix">
- <string notr="true">%</string>
- </property>
- <property name="maximum">
- <double>100.000000000000000</double>
- </property>
- <property name="value">
- <double>100.000000000000000</double>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="PosSize_Y">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/PosSize_Y.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QDoubleSpinBox" name="PosYEd">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>75</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>75</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Define Y position of current block</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="suffix">
- <string notr="true">%</string>
- </property>
- <property name="maximum">
- <double>100.000000000000000</double>
- </property>
- <property name="value">
- <double>100.000000000000000</double>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="8" column="0">
- <widget class="QLabel" name="PosSize_Width">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/PosSize_Width.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="8" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QDoubleSpinBox" name="WidthEd">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>75</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>75</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Define width of current block</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="suffix">
- <string notr="true">%</string>
- </property>
- <property name="maximum">
- <double>100.000000000000000</double>
- </property>
- <property name="value">
- <double>100.000000000000000</double>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="PosSize_Height">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/PosSize_Height.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QDoubleSpinBox" name="HeightEd">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>75</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>75</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Define height of current block</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="suffix">
- <string notr="true">%</string>
- </property>
- <property name="maximum">
- <double>100.000000000000000</double>
- </property>
- <property name="value">
- <double>100.000000000000000</double>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="9" column="0">
- <widget class="QLabel" name="Rotate_X">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/RotateZ.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="9" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_20">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QSlider" name="RotateZSLD">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Define rotation according to the Z axis (defined in degree).</string>
- </property>
- <property name="minimum">
- <number>-180</number>
- </property>
- <property name="maximum">
- <number>180</number>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="RotateZED">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>50</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>50</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Define rotation according to the Z axis (defined in degree).</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="minimum">
- <number>-180</number>
- </property>
- <property name="maximum">
- <number>180</number>
- </property>
- <property name="value">
- <number>0</number>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="10" column="0">
- <widget class="QLabel" name="Rotate_Y">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/RotateY.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="10" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_21">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QSlider" name="RotateXSLD">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Define rotation according to the Y axis (defined in degree).</string>
- </property>
- <property name="minimum">
- <number>-180</number>
- </property>
- <property name="maximum">
- <number>180</number>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="RotateXED">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>50</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>50</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Define rotation according to the Y axis (defined in degree).</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="minimum">
- <number>-180</number>
- </property>
- <property name="maximum">
- <number>180</number>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="11" column="0">
- <widget class="QLabel" name="Rotate_Z">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/RotateX.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="11" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_22">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QSlider" name="RotateYSLD">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Define rotation according to the X axis (defined in degree).</string>
- </property>
- <property name="minimum">
- <number>-180</number>
- </property>
- <property name="maximum">
- <number>180</number>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="RotateYED">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>50</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>50</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Define rotation according to the X axis (defined in degree).</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="minimum">
- <number>-180</number>
- </property>
- <property name="maximum">
- <number>180</number>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="12" column="0" colspan="2">
- <widget class="QLabel" name="label_9">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>32</height>
- </size>
- </property>
- <property name="font">
- <font>
- <weight>50</weight>
- <italic>true</italic>
- <bold>false</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Block shape :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- </widget>
- </item>
- <item row="13" column="0">
- <layout class="QHBoxLayout" name="horizontalLayout_3">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <spacer name="horizontalSpacer_3">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>0</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QToolButton" name="BlockShapeStyleBT">
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/db_menu.png</normaloff>:/img/db_menu.png</iconset>
- </property>
- <property name="arrowType">
- <enum>Qt::NoArrow</enum>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="13" column="1">
- <widget class="QLabel" name="BlockShapeStyleED">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>175</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>175</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string notr="true">StyleName</string>
- </property>
- </widget>
- </item>
- <item row="16" column="0">
- <widget class="QLabel" name="label_20">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Shape :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="16" column="1">
- <widget class="QComboBox" name="BackgroundFormCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select a shape for current block</string>
- </property>
- <property name="styleSheet">
- <string notr="true">QComboBox QAbstractItemView {
-background: #ffffff;
-color: #000000;
-}</string>
- </property>
- <property name="editable">
- <bool>false</bool>
- </property>
- <property name="iconSize">
- <size>
- <width>12</width>
- <height>12</height>
- </size>
- </property>
- </widget>
- </item>
- <item row="17" column="0">
- <widget class="QLabel" name="label_21">
- <property name="text">
- <string>Opacity :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="17" column="1">
- <widget class="QComboBox" name="OpacityCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>64</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>64</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Defined the opaqueness of the block.</string>
- </property>
- </widget>
- </item>
- <item row="18" column="0">
- <widget class="QLabel" name="label_14">
- <property name="text">
- <string>Border :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="18" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_6">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QSpinBox" name="PenSizeEd">
- <property name="minimumSize">
- <size>
- <width>60</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>60</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Defined the thickness of the border</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="cCustomColorComboBox" name="PenColorCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Defined the color of the line to be used to draw the border</string>
- </property>
- <property name="iconSize">
- <size>
- <width>64</width>
- <height>16</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="PenStyleCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Defined the type of line (solid, dotted line, etc.)</string>
- </property>
- <property name="styleSheet">
- <string notr="true">QComboBox QAbstractItemView {
-background: #ffffff;
-color: #000000;
-}</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_19">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="19" column="0">
- <widget class="QLabel" name="label_13">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <weight>50</weight>
- <bold>false</bold>
- <underline>false</underline>
- </font>
- </property>
- <property name="text">
- <string>Shadow :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="19" column="1">
- <widget class="QComboBox" name="ShadowEffectCB">
- <property name="minimumSize">
- <size>
- <width>175</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>175</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Defined in which corner the shadow will be positioned (or no shadow)</string>
- </property>
- </widget>
- </item>
- <item row="20" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_10">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QSpinBox" name="ShadowEffectED">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>60</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>60</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Defined the distance between the block and its shadow</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="cCustomColorComboBox" name="ShadowColorCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Defined the color of the shadow</string>
- </property>
- <property name="iconSize">
- <size>
- <width>64</width>
- <height>16</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_5">
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="24" column="1">
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- </widget>
- <widget class="QTableWidget" name="TableInfo">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="frameShape">
- <enum>QFrame::Box</enum>
- </property>
- <property name="lineWidth">
- <number>1</number>
- </property>
- <property name="midLineWidth">
- <number>1</number>
- </property>
- <property name="verticalScrollBarPolicy">
- <enum>Qt::ScrollBarAlwaysOn</enum>
- </property>
- <property name="horizontalScrollBarPolicy">
- <enum>Qt::ScrollBarAlwaysOn</enum>
- </property>
- <property name="editTriggers">
- <set>QAbstractItemView::NoEditTriggers</set>
- </property>
- <property name="showDropIndicator" stdset="0">
- <bool>false</bool>
- </property>
- <property name="dragDropOverwriteMode">
- <bool>false</bool>
- </property>
- <property name="selectionMode">
- <enum>QAbstractItemView::NoSelection</enum>
- </property>
- <property name="selectionBehavior">
- <enum>QAbstractItemView::SelectRows</enum>
- </property>
- <property name="textElideMode">
- <enum>Qt::ElideNone</enum>
- </property>
- <property name="horizontalScrollMode">
- <enum>QAbstractItemView::ScrollPerPixel</enum>
- </property>
- <property name="wordWrap">
- <bool>false</bool>
- </property>
- <property name="cornerButtonEnabled">
- <bool>false</bool>
- </property>
- <attribute name="horizontalHeaderVisible">
- <bool>true</bool>
- </attribute>
- <attribute name="horizontalHeaderStretchLastSection">
- <bool>false</bool>
- </attribute>
- <attribute name="verticalHeaderVisible">
- <bool>false</bool>
- </attribute>
- <column>
- <property name="text">
- <string>Propertie</string>
- </property>
- <property name="font">
- <font>
- <pointsize>9</pointsize>
- </font>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Value</string>
- </property>
- <property name="font">
- <font>
- <pointsize>9</pointsize>
- </font>
- </property>
- </column>
- </widget>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="Line" name="line_3">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_5">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QToolButton" name="TVMarginsBT">
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>7</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Enable or disable rulers corresponding to the margins of television sets.</string>
- </property>
- <property name="text">
- <string>TV margins</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/ruler_ok.png</normaloff>:/img/ruler_ok.png</iconset>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonTextBesideIcon</enum>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="OKPreviousBT">
- <property name="toolTip">
- <string>Accept modification and go to previous slide</string>
- </property>
- <property name="text">
- <string>Previous</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/arrow_left.png</normaloff>:/img/arrow_left.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="OKBT">
- <property name="toolTip">
- <string>Accept modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Ok</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="OKNextBT">
- <property name="toolTip">
- <string>Accept modification and go to next slide</string>
- </property>
- <property name="text">
- <string>Next</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/arrow_right.png</normaloff>:/img/arrow_right.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_2">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>20</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="CloseBT">
- <property name="toolTip">
- <string>Cancel modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Cancel</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="HelpBT">
- <property name="toolTip">
- <string>Open help page describing this dialog box</string>
- </property>
- <property name="text">
- <string>&Help</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
- </property>
- <property name="shortcut">
- <string>F1</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>cCustomColorComboBox</class>
- <extends>QComboBox</extends>
- <header>cCustomComboBox.h</header>
- </customwidget>
- <customwidget>
- <class>cCustomTableWidget2</class>
- <extends>QTableWidget</extends>
- <header>cCustomTableWidget.h</header>
- </customwidget>
- </customwidgets>
- <tabstops>
- <tabstop>RemoveShot</tabstop>
- <tabstop>ShotTableMoveLeftBt</tabstop>
- <tabstop>ShotTableMoveRightBt</tabstop>
- <tabstop>ShotTable</tabstop>
- <tabstop>SlideNameED</tabstop>
- <tabstop>ShotDurationED</tabstop>
- <tabstop>GraphicsView</tabstop>
- <tabstop>TVMarginsBT</tabstop>
- <tabstop>AddTextBlock</tabstop>
- <tabstop>AddFileBlock</tabstop>
- <tabstop>CopyBlockBT</tabstop>
- <tabstop>CutBlockBT</tabstop>
- <tabstop>PasteBlockBT</tabstop>
- <tabstop>VisibleBT</tabstop>
- <tabstop>SoundBT</tabstop>
- <tabstop>TextEditBT</tabstop>
- <tabstop>ImageEditCorrectBT</tabstop>
- <tabstop>VideoEditBT</tabstop>
- <tabstop>PosXEd</tabstop>
- <tabstop>PosYEd</tabstop>
- <tabstop>WidthEd</tabstop>
- <tabstop>HeightEd</tabstop>
- <tabstop>RotateZSLD</tabstop>
- <tabstop>RotateZED</tabstop>
- <tabstop>RotateXSLD</tabstop>
- <tabstop>RotateXED</tabstop>
- <tabstop>RotateYSLD</tabstop>
- <tabstop>RotateYED</tabstop>
- <tabstop>BackgroundFormCB</tabstop>
- <tabstop>OpacityCB</tabstop>
- <tabstop>PenSizeEd</tabstop>
- <tabstop>PenColorCB</tabstop>
- <tabstop>PenStyleCB</tabstop>
- <tabstop>ShadowEffectCB</tabstop>
- <tabstop>OKBT</tabstop>
- <tabstop>CloseBT</tabstop>
- <tabstop>HelpBT</tabstop>
- <tabstop>AddShot</tabstop>
- </tabstops>
- <resources/>
- <connections/>
-</ui>
diff --git a/src/ffDiaporama/DlgText/DlgTextEdit.cpp b/src/ffDiaporama/DlgText/DlgTextEdit.cpp
new file mode 100755
index 0000000..f0aa643
--- /dev/null
+++ b/src/ffDiaporama/DlgText/DlgTextEdit.cpp
@@ -0,0 +1,927 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "DlgTextEdit.h"
+#include "ui_DlgTextEdit.h"
+#include "cCustomTextEdit.h"
+
+#include <QTextCharFormat>
+#include <QTextList>
+#include <QAbstractTextDocumentLayout>
+
+#define SIZERATIO 0.5
+
+// Undo actions
+#define UNDOACTION_MODIFTEXT 1
+#define UNDOACTION_BRUSHTYPE 2
+#define UNDOACTION_BRUSHPATTERNBRUSH 3
+#define UNDOACTION_BRUSHORIENTATION 4
+#define UNDOACTION_BRUSHFIRSTCOLOR 5
+#define UNDOACTION_BRUSHFINALCOLOR 6
+#define UNDOACTION_BRUSHINTERMCOLOR 7
+#define UNDOACTION_BRUSHINTERMPOS 8
+#define UNDOACTION_BRUSHLIBBRUSH 9
+#define UNDOACTION_FONTCOLOR 10
+#define UNDOACTION_FONTSHADOWCOLOR 11
+#define UNDOACTION_FONTSTYLE 12
+#define UNDOACTION_FONTSIZE 13
+#define UNDOACTION_FONTEFFECT 14
+#define UNDOACTION_CHARSTYLE 15
+#define UNDOACTION_ALIGNH 16
+#define UNDOACTION_ALIGNV 17
+#define UNDOACTION_INDENT 18
+#define UNDOACTION_LIST 19
+#define UNDOSTYLE_TEXT 20
+#define UNDOSTYLE_BACKGROUND 21
+
+
+//====================================================================================================================
+
+DlgTextEdit::DlgTextEdit(cCompositionObject *TheCurrentTextItem,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,
+ cStyleCollection *TheStyleTextCollection,cStyleCollection *TheStyleTextBackgroundCollection,QWidget *parent):
+ QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent),ui(new Ui::DlgTextEdit) {
+
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::DlgTextEdit");
+
+ ui->setupUi(this);
+ OkBt =ui->OKBT;
+ CancelBt =ui->CancelBt;
+ HelpBt =ui->HelpBT;
+ UndoBt =ui->UndoBT;
+ CurrentTextItem =TheCurrentTextItem;
+ StyleTextCollection =TheStyleTextCollection;
+ StyleTextBackgroundCollection =TheStyleTextBackgroundCollection;
+ StopMAJSpinbox =false;
+}
+
+//====================================================================================================================
+
+DlgTextEdit::~DlgTextEdit() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::~DlgTextEdit");
+
+ delete ui;
+}
+
+//====================================================================================================================
+// Initialise dialog
+
+void DlgTextEdit::DoInitDialog() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::DoInitDialog");
+
+ ui->tabWidget->setCurrentIndex(0);
+ ui->TextEdit->setUndoRedoEnabled(false); // we want to manage the undo
+
+ // Init check box
+ ui->textLeft->setCheckable(true);
+ ui->textCenter->setCheckable(true);
+ ui->textJustif->setCheckable(true);
+ ui->textRight->setCheckable(true);
+ ui->textUp->setCheckable(true);
+ ui->textVCenter->setCheckable(true);
+ ui->textBottom->setCheckable(true);
+
+ // Init font size
+ QList<int> sizes=QFontDatabase::standardSizes();
+ QStringList Ssizes;
+ for (int i=0;i<sizes.count();i++) Ssizes.append(QString("%1").arg(sizes[i]));
+ ui->fontSize->insertItems(0,Ssizes);
+ ui->fontSize->setCurrentIndex(6);
+
+ // Init editor
+ ui->TextEdit->setWordWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere);
+ ui->TextEdit->setLineWrapMode(QTextEdit::WidgetWidth);
+ ui->TextEdit->setAutoFillBackground(true);
+ ui->TextEdit->setHtml(CurrentTextItem->Text);
+ QTextCursor Cursor=ui->TextEdit->textCursor();
+ Cursor.movePosition(QTextCursor::Start);
+ ui->TextEdit->setTextCursor(Cursor);
+ CurrentPlainText=ui->TextEdit->toPlainText();
+
+ // Init combo box FontEffect
+ ui->fontEffectCB->addItem(QApplication::translate("DlgTextEdit","No effect"));
+ ui->fontEffectCB->addItem(QApplication::translate("DlgTextEdit","Outerline"));
+ ui->fontEffectCB->addItem(QApplication::translate("DlgTextEdit","Shadow upper left"));
+ ui->fontEffectCB->addItem(QApplication::translate("DlgTextEdit","Shadow upper right"));
+ ui->fontEffectCB->addItem(QApplication::translate("DlgTextEdit","Shadow bottom left"));
+ ui->fontEffectCB->addItem(QApplication::translate("DlgTextEdit","Shadow bottom right"));
+ ui->fontEffectCB->view()->setFixedWidth(160+18);
+ ui->fontEffectCB->view()->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
+ MakeTextStyleIcon(ui->fontEffectCB);
+
+ // Init combo box Background type
+ ui->BrushTypeCombo->addItem(QApplication::translate("DlgTextEdit","No brush")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_NOBRUSH)));
+ ui->BrushTypeCombo->addItem(QApplication::translate("DlgTextEdit","Solid brush")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_SOLID)));
+ ui->BrushTypeCombo->addItem(QApplication::translate("DlgTextEdit","Pattern brush")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_PATTERN)));
+ ui->BrushTypeCombo->addItem(QApplication::translate("DlgTextEdit","Gradient 2 colors")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_GRADIENT2)));
+ ui->BrushTypeCombo->addItem(QApplication::translate("DlgTextEdit","Gradient 3 colors")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_GRADIENT3)));
+ ui->BrushTypeCombo->addItem(QApplication::translate("DlgTextEdit","Image from library")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_IMAGELIBRARY)));
+
+ // Define handler
+ connect(ui->TextEdit,SIGNAL(textChanged()),this,SLOT(s_TextEditChange()));
+ connect(ui->TextEdit,SIGNAL(cursorPositionChanged()),this,SLOT(s_cursorPositionChanged()));
+ connect(ui->TextEdit,SIGNAL(UndoSignal()),this,SLOT(DoPartialUndo()));
+
+ connect(ui->FontColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexFontColorCombo(int)));
+ connect(ui->StyleShadowColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexFontShadowColorCombo(int)));
+ connect(ui->fontStyleCB,SIGNAL(currentFontChanged(QFont)),this,SLOT(s_ChangeFont(QFont)));
+ connect(ui->fontSize,SIGNAL(currentIndexChanged(QString)),this,SLOT(s_ChangeSizeFont(QString)));
+
+ connect(ui->bold,SIGNAL(released()),this,SLOT(s_SetBold()));
+ connect(ui->Italic,SIGNAL(released()),this,SLOT(s_SetItalic()));
+ connect(ui->Souligne,SIGNAL(released()),this,SLOT(s_SetUnderline()));
+ connect(ui->TextSuperBt,SIGNAL(released()),this,SLOT(s_SetTextSuper()));
+ connect(ui->TextSubBt,SIGNAL(released()),this,SLOT(s_SetTextSub()));
+
+ connect(ui->textLeft,SIGNAL(pressed()),this,SLOT(s_SetTextLeft()));
+ connect(ui->textCenter,SIGNAL(pressed()),this,SLOT(s_SetTextCenter()));
+ connect(ui->textRight,SIGNAL(pressed()),this,SLOT(s_SetTextRight()));
+ connect(ui->textJustif,SIGNAL(pressed()),this,SLOT(s_SetTextJustif()));
+
+ connect(ui->IndentInBt,SIGNAL(pressed()),this,SLOT(s_IndentInBt()));
+ connect(ui->IndentOutBt,SIGNAL(pressed()),this,SLOT(s_IndentOutBt()));
+
+ connect(ui->ListBt,SIGNAL(pressed()),this,SLOT(s_ListBt()));
+ connect(ui->ListNbrBt,SIGNAL(pressed()),this,SLOT(s_ListNbrBt()));
+
+ // Block part
+ connect(ui->textUp,SIGNAL(pressed()),this,SLOT(s_SetTextUp()));
+ connect(ui->textVCenter,SIGNAL(pressed()),this,SLOT(s_SetTextVCenter()));
+ connect(ui->textBottom,SIGNAL(pressed()),this,SLOT(s_SetTextBottom()));
+ connect(ui->fontEffectCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChangeStyleFont(int)));
+
+ // Brush part
+ connect(ui->BrushTypeCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChangeBrushTypeCombo(int)));
+ connect(ui->PatternBrushCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexPatternBrushCombo(int)));
+ connect(ui->OrientationCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientOrientationCombo(int)));
+ connect(ui->FirstColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientFirstColorCombo(int)));
+ connect(ui->FinalColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientFinalColorCombo(int)));
+ connect(ui->IntermColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientIntermColorCombo(int)));
+ connect(ui->BackgroundCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexBackgroundCombo(int)));
+ connect(ui->IntermPosSlider,SIGNAL(valueChanged(int)),this,SLOT(s_IntermPosED(int)));
+ connect(ui->IntermPosED,SIGNAL(valueChanged(int)),this,SLOT(s_IntermPosED(int)));
+
+ // Style
+ connect(ui->TextStyleBT,SIGNAL(pressed()),this,SLOT(s_TextStyleBT()));
+ connect(ui->BackgroundStyleBT,SIGNAL(pressed()),this,SLOT(s_BackgroundStyleBT()));
+
+ RefreshControls();
+}
+
+//====================================================================================================================
+// Initiale Undo
+
+void DlgTextEdit::PrepareGlobalUndo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::PrepareGlobalUndo");
+
+ // Save object before modification for cancel button
+ Undo=new QDomDocument(APPLICATION_NAME);
+ QDomElement root=Undo->createElement("UNDO-DLG"); // Create xml document and root
+ CurrentTextItem->SaveToXML(root,"UNDO-DLG-OBJECT","",NULL,false); // Save object
+ Undo->appendChild(root); // Add object to xml document
+}
+
+//====================================================================================================================
+// Apply Undo : call when user click on Cancel button
+
+void DlgTextEdit::DoGlobalUndo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::DoGlobalUndo");
+
+ // Restore element
+ QDomElement root=Undo->documentElement();
+ if (root.tagName()=="UNDO-DLG") CurrentTextItem->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL,NULL,false);
+}
+
+//====================================================================================================================
+
+void DlgTextEdit::PreparePartialUndo(int /*ActionType*/,QDomElement root) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::PreparePartialUndo");
+
+ CurrentTextItem->SaveToXML(root,"UNDO-DLG-OBJECT","",NULL,false); // Save object
+ root.setAttribute("Position",ui->TextEdit->textCursor().position());
+}
+
+//====================================================================================================================
+
+void DlgTextEdit::ApplyPartialUndo(int /*ActionType*/,QDomElement root) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::ApplyPartialUndo");
+
+ CurrentTextItem->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL,NULL,false);
+ StopMAJSpinbox=true;
+ ui->TextEdit->setHtml(CurrentTextItem->Text);
+ QTextCursor Cursor=ui->TextEdit->textCursor();
+ Cursor.setPosition(root.attribute("Position").toInt(),QTextCursor::MoveAnchor);
+ ui->TextEdit->setTextCursor(Cursor);
+ StopMAJSpinbox=false;
+ RefreshControls();
+}
+
+//====================================================================================================================
+
+void DlgTextEdit::s_cursorPositionChanged() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_cursorPositionChanged");
+
+ StopMAJSpinbox=true;
+
+ QTextCursor Cursor(ui->TextEdit->textCursor());
+ QTextCharFormat TCF;
+ Qt::Alignment Alignment;
+ QTextBlockFormat TBF=Cursor.blockFormat();
+ QTextList *List=Cursor.currentList();
+
+ if (Cursor.hasSelection()) TCF=Cursor.charFormat(); // Display option for current selection
+ else TCF=ui->TextEdit->currentCharFormat(); // Display current default option
+
+ Alignment=ui->TextEdit->alignment();
+ CurrentTextItem->FontColor=TCF.foreground().color().name();
+
+ ui->bold-> setChecked(TCF.fontWeight()==QFont::Bold); ui->bold-> setDown(TCF.fontWeight()==QFont::Bold);
+ ui->Italic-> setChecked(TCF.fontItalic()); ui->Italic-> setDown(TCF.fontItalic());
+ ui->Souligne->setChecked(TCF.fontUnderline()); ui->Souligne->setDown(TCF.fontUnderline());
+
+ ui->fontStyleCB-> setCurrentIndex(ui->fontStyleCB->findText(QString(TCF.fontFamily())));
+ ui->fontSize-> setCurrentIndex(ui->fontSize->findText(QString("%1").arg(TCF.fontPointSize())));
+ ui->FontColorCombo->SetCurrentColor(&CurrentTextItem->FontColor);
+
+ ui->textLeft-> setChecked((Alignment & Qt::AlignLeft)!=0); ui->textLeft-> setDown((Alignment & Qt::AlignLeft)!=0);
+ ui->textCenter->setChecked((Alignment & Qt::AlignHCenter)!=0); ui->textCenter->setDown((Alignment & Qt::AlignHCenter)!=0);
+ ui->textJustif->setChecked((Alignment & Qt::AlignJustify)!=0); ui->textJustif->setDown((Alignment & Qt::AlignJustify)!=0);
+ ui->textRight-> setChecked((Alignment & Qt::AlignRight)!=0); ui->textRight-> setDown((Alignment & Qt::AlignRight)!=0);
+
+ ui->TextSuperBt->setChecked(TCF.verticalAlignment()==QTextCharFormat::AlignSuperScript);
+ ui->TextSuperBt->setDown(TCF.verticalAlignment()==QTextCharFormat::AlignSuperScript);
+ ui->TextSubBt-> setChecked(TCF.verticalAlignment()==QTextCharFormat::AlignSubScript);
+ ui->TextSubBt-> setDown(TCF.verticalAlignment()==QTextCharFormat::AlignSubScript);
+
+ int indent=0;
+ if (List) indent=List->format().indent(); else indent=TBF.indent();
+ ui->IndentInBt->setEnabled(indent<9);
+ ui->IndentOutBt->setEnabled(indent>(List!=NULL?1:0));
+
+ StopMAJSpinbox=false;
+}
+
+//====================================================================================================================
+
+void DlgTextEdit::RefreshControls() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::RefreshControls");
+
+ // Update text controls
+ s_cursorPositionChanged();
+
+ StopMAJSpinbox=true;
+
+ ui->textUp->setChecked(CurrentTextItem->VAlign==0); ui->textUp->setDown(CurrentTextItem->VAlign==0);
+ ui->textVCenter->setChecked(CurrentTextItem->VAlign==1); ui->textVCenter->setDown(CurrentTextItem->VAlign==1);
+ ui->textBottom->setChecked(CurrentTextItem->VAlign==2); ui->textBottom->setDown(CurrentTextItem->VAlign==2);
+ if (CurrentTextItem->StyleText!=ui->fontEffectCB->currentIndex()) ui->fontEffectCB->setCurrentIndex(CurrentTextItem->StyleText);
+ ui->StyleShadowColorCombo->SetCurrentColor(&CurrentTextItem->FontShadowColor);
+ ui->StyleShadowColorCombo->setEnabled(CurrentTextItem->StyleText!=0);
+ ui->fontEffectCB->view()->setFixedWidth(250);
+ //ui->TextStyleED->setText(StyleTextCollection->GetStyleName(CurrentTextItem->GetTextStyle()));
+
+ // Brush TAB part
+ bool Allow_Brush =(CurrentTextItem->BackgroundBrush->BrushType!=BRUSHTYPE_IMAGEDISK);
+ bool Allow_Color1 =(Allow_Brush)&&((CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_SOLID)||(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_PATTERN)||(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3));
+ bool Allow_Color2 =(Allow_Brush)&&((CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3));
+ bool Allow_Color3 =(Allow_Brush)&&(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3);
+ bool Allow_Pattern=(Allow_Brush)&&(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_PATTERN);
+ bool Allow_Library=(Allow_Brush)&&(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_IMAGELIBRARY);
+
+ //ui->BackgroundLabel->setVisible(Allow_Brush);
+ ui->BackgroundStyleBT->setVisible(Allow_Brush);
+ ui->tabWidget->setTabEnabled(1,Allow_Brush);
+ //ui->BackgroundStyleED->setVisible(Allow_Brush);
+ //if (Allow_Brush) ui->BackgroundStyleED->setText(StyleTextBackgroundCollection->GetStyleName(CurrentTextItem->GetBackgroundStyle()));
+ //ui->BrushTypeLabel->setVisible(Allow_Brush);
+ ui->BrushTypeCombo->setVisible(Allow_Brush);
+ ui->ColorLabel_1->setVisible(Allow_Color2);
+ ui->ColorLabel_2->setVisible(Allow_Color3);
+ ui->ColorLabel1->setVisible(Allow_Color1);
+ ui->ColorLabel2->setVisible(Allow_Color1);
+ ui->FirstColorCombo->setVisible(Allow_Color1);
+ ui->FinalColorCombo->setVisible(Allow_Color2);
+ ui->IntermColorCombo->setVisible(Allow_Color3);
+ ui->OrientationSpacer->setVisible(Allow_Color2 & !Allow_Color3);
+ ui->OrientationCombo->setVisible(Allow_Color2);
+ ui->IntermPosLabel->setVisible(Allow_Color2);
+ ui->IntermPosSlider->setVisible(Allow_Color3);
+ ui->IntermPosED->setVisible(Allow_Color3);
+ ui->PatternLabel->setVisible(Allow_Pattern);
+ ui->PatternBrushCombo->setVisible(Allow_Pattern);
+ ui->ImageLibraryLabel->setVisible(Allow_Library);
+ ui->ImageLibraryLabel2->setVisible(Allow_Library);
+ ui->BackgroundCombo->setVisible(Allow_Library);
+
+ // Set brush type combo index
+ for (int i=0;i<ui->BrushTypeCombo->count();i++) if (ui->BrushTypeCombo->itemData(i).toInt()==CurrentTextItem->BackgroundBrush->BrushType) ui->BrushTypeCombo->setCurrentIndex(i);
+ ui->PatternBrushCombo->SetCurrentBrush(CurrentTextItem->BackgroundBrush);
+ ui->FirstColorCombo->SetCurrentColor(&CurrentTextItem->BackgroundBrush->ColorD);
+ ui->IntermColorCombo->SetCurrentColor(&CurrentTextItem->BackgroundBrush->ColorIntermed);
+ ui->FinalColorCombo->SetCurrentColor(&CurrentTextItem->BackgroundBrush->ColorF);
+ ui->OrientationCombo->SetCurrentBrush(CurrentTextItem->BackgroundBrush);
+ ui->FirstColorCombo->SetCurrentColor(&CurrentTextItem->BackgroundBrush->ColorD);
+
+ // Set controls depending on brush type
+ switch (CurrentTextItem->BackgroundBrush->BrushType) {
+ case BRUSHTYPE_NOBRUSH :
+ break;
+ case BRUSHTYPE_PATTERN :
+ case BRUSHTYPE_SOLID : break;
+ break;
+ case BRUSHTYPE_GRADIENT3 :
+ case BRUSHTYPE_GRADIENT2 :
+ ui->IntermPosSlider->setValue(CurrentTextItem->BackgroundBrush->Intermediate*100);
+ ui->IntermPosED->setValue(CurrentTextItem->BackgroundBrush->Intermediate*100);
+ break;
+ case BRUSHTYPE_IMAGELIBRARY :
+ // Ensure BrushImage is valide
+ if ((BackgroundList.SearchImage(CurrentTextItem->BackgroundBrush->BrushImage)==-1)&&(BackgroundList.List.count()>0)) CurrentTextItem->BackgroundBrush->BrushImage=BackgroundList.List[0].Name;
+ ui->BackgroundCombo->SetCurrentBackground(CurrentTextItem->BackgroundBrush->BrushImage);
+ break;
+ }
+
+ // Apply background to ui->TextEdit
+ QBrush *Brush=NULL;
+ if (CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_NOBRUSH) {
+ Brush=new QBrush(Transparent);
+ } else Brush=CurrentTextItem->BackgroundBrush->GetBrush(QRectF(0,0,ui->TextEdit->width(),ui->TextEdit->height()),true,0,0,NULL,1,NULL,false);
+ QPalette Palette;
+ Palette.setBrush(QPalette::Base,*Brush);
+ ui->TextEdit->setPalette(Palette);
+ delete Brush;
+
+ StopMAJSpinbox=false;
+ emit RefreshDisplay();
+}
+
+void DlgTextEdit::MakeTextStyleIcon(QComboBox *UICB) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::MakeTextStyleIcon");
+
+ for (int i=0;i<UICB->count();i++) {
+ cCompositionObject Object(COMPOSITIONTYPE_BACKGROUND,0,BaseApplicationConfig);
+ Object.Text="T";
+ Object.x=0.15;
+ Object.y=0.15;
+ Object.w=0.7;
+ Object.h=0.7;
+ Object.HAlign =1; // Center
+ Object.VAlign =1; // Center
+ Object.FontColor ="#00ff00";
+ Object.FontShadowColor ="#ff0000";
+ Object.StyleText =i;
+ Object.FontSize =200;
+ Object.IsBold =true;
+ Object.PenSize =0;
+ Object.BackgroundForm =1;
+ Object.Opacity=0;
+ QPixmap Image(32,32);
+ QPainter Painter;
+ Painter.begin(&Image);
+ Painter.fillRect(QRect(0,0,32,32),"#ffffff");
+ Object.DrawCompositionObject(&Painter,1,0,0,32,32,true,0,0,NULL,1,NULL,false,0,false);
+ Painter.end();
+ UICB->setItemIcon(i,QIcon(Image));
+ }
+}
+
+//====================================================================================================================
+// Handler for text controls
+//====================================================================================================================
+
+//========= Text style bold
+void DlgTextEdit::s_SetBold() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetBold");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_CHARSTYLE,ui->TextEdit,true);
+
+ QTextCursor Cursor(ui->TextEdit->textCursor());
+ QTextCharFormat TCF;
+
+ TCF.setFontWeight(TCF.fontWeight()==QFont::Normal?QFont::Bold:QFont::Normal);
+ if (Cursor.hasSelection()) Cursor.mergeCharFormat(TCF);
+ else ui->TextEdit->mergeCurrentCharFormat(TCF);
+
+ CurrentTextItem->IsBold=(TCF.fontWeight()==QFont::Bold);
+ CurrentTextItem->Text=ui->TextEdit->toHtml();
+ RefreshControls();
+ ui->TextEdit->setFocus();
+}
+
+//========= Text style italic
+void DlgTextEdit::s_SetItalic() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetItalic");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_CHARSTYLE,ui->TextEdit,true);
+
+ QTextCursor Cursor(ui->TextEdit->textCursor());
+ QTextCharFormat TCF;
+
+ TCF.setFontItalic(!TCF.fontItalic());
+ if (Cursor.hasSelection()) Cursor.mergeCharFormat(TCF);
+ else ui->TextEdit->mergeCurrentCharFormat(TCF);
+
+ CurrentTextItem->IsItalic=TCF.fontItalic();
+ CurrentTextItem->Text=ui->TextEdit->toHtml();
+ RefreshControls();
+ ui->TextEdit->setFocus();
+}
+
+//========= Text style underline
+void DlgTextEdit::s_SetUnderline() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetUnderline");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_CHARSTYLE,ui->TextEdit,true);
+
+ QTextCursor Cursor(ui->TextEdit->textCursor());
+ QTextCharFormat TCF;
+
+ TCF.setFontUnderline(!TCF.fontUnderline());
+ if (Cursor.hasSelection()) Cursor.mergeCharFormat(TCF);
+ else ui->TextEdit->mergeCurrentCharFormat(TCF);
+
+ CurrentTextItem->IsUnderline=TCF.fontUnderline();
+ CurrentTextItem->Text=ui->TextEdit->toHtml();
+ RefreshControls();
+ ui->TextEdit->setFocus();
+}
+
+//========= Text style to superscript
+void DlgTextEdit::s_SetTextSuper() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextSuper");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_CHARSTYLE,ui->TextEdit,true);
+
+ QTextCursor Cursor(ui->TextEdit->textCursor());
+ QTextCharFormat TCF;
+
+ if (Cursor.hasSelection()) TCF=Cursor.charFormat(); // Modify current selection
+ else TCF=ui->TextEdit->currentCharFormat(); // Modify default option
+
+ if (TCF.verticalAlignment()==QTextCharFormat::AlignSuperScript) { TCF=QTextCharFormat(); TCF.setVerticalAlignment(QTextCharFormat::AlignNormal); }
+ else { TCF=QTextCharFormat(); TCF.setVerticalAlignment(QTextCharFormat::AlignSuperScript); }
+
+ if (Cursor.hasSelection()) Cursor.mergeCharFormat(TCF);
+ else ui->TextEdit->mergeCurrentCharFormat(TCF);
+
+ CurrentTextItem->Text=ui->TextEdit->toHtml();
+ RefreshControls();
+ ui->TextEdit->setFocus();
+}
+
+//========= Text style to subscript
+void DlgTextEdit::s_SetTextSub() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextSub");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_CHARSTYLE,ui->TextEdit,true);
+
+ QTextCursor Cursor(ui->TextEdit->textCursor());
+ QTextCharFormat TCF;
+ if (Cursor.hasSelection()) TCF=Cursor.charFormat(); // Modify current selection
+ else TCF=ui->TextEdit->currentCharFormat(); // Modify default option
+
+ if (TCF.verticalAlignment()==QTextCharFormat::AlignSubScript) { TCF=QTextCharFormat(); TCF.setVerticalAlignment(QTextCharFormat::AlignNormal); }
+ else { TCF=QTextCharFormat(); TCF.setVerticalAlignment(QTextCharFormat::AlignSubScript); }
+
+ if (Cursor.hasSelection()) Cursor.mergeCharFormat(TCF);
+ else ui->TextEdit->mergeCurrentCharFormat(TCF);
+
+ CurrentTextItem->IsUnderline=TCF.fontUnderline();
+ CurrentTextItem->Text=ui->TextEdit->toHtml();
+ RefreshControls();
+ ui->TextEdit->setFocus();
+}
+
+//========= Horizontal alignment left
+void DlgTextEdit::s_SetTextLeft() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextLeft");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_ALIGNH,ui->TextEdit,true);
+
+ ui->TextEdit->setAlignment((ui->TextEdit->alignment() & 0xf0)|Qt::AlignLeft);
+ CurrentTextItem->HAlign=0;
+ CurrentTextItem->Text=ui->TextEdit->toHtml();
+ RefreshControls();
+ ui->TextEdit->setFocus();
+}
+
+//========= Horizontal alignment center
+void DlgTextEdit::s_SetTextCenter() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextCenter");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_ALIGNH,ui->TextEdit,true);
+
+ ui->TextEdit->setAlignment((ui->TextEdit->alignment() & 0xf0)|Qt::AlignHCenter);
+ CurrentTextItem->HAlign=1;
+ CurrentTextItem->Text=ui->TextEdit->toHtml();
+ RefreshControls();
+ ui->TextEdit->setFocus();
+}
+
+//========= Horizontal alignment right
+void DlgTextEdit::s_SetTextRight() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextRight");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_ALIGNH,ui->TextEdit,true);
+
+ ui->TextEdit->setAlignment((ui->TextEdit->alignment() & 0xf0)|Qt::AlignRight);
+ CurrentTextItem->HAlign=2;
+ CurrentTextItem->Text=ui->TextEdit->toHtml();
+ RefreshControls();
+ ui->TextEdit->setFocus();
+}
+
+//========= Horizontal alignment justify
+void DlgTextEdit::s_SetTextJustif() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextJustif");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_ALIGNH,ui->TextEdit,true);
+
+ ui->TextEdit->setAlignment((ui->TextEdit->alignment() & 0xf0)|Qt::AlignJustify);
+ CurrentTextItem->HAlign=3;
+ CurrentTextItem->Text=ui->TextEdit->toHtml();
+ RefreshControls();
+ ui->TextEdit->setFocus();
+}
+
+//========= Increase indent
+void DlgTextEdit::s_IndentInBt() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_IndentInBt");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_INDENT,ui->TextEdit,true);
+
+ QTextCursor Cursor(ui->TextEdit->textCursor());
+ QTextBlockFormat TBF =Cursor.blockFormat();
+ QTextList *List=Cursor.currentList();
+ if (!List) {
+ if (TBF.indent()<9) {
+ QTextBlockFormat modifier;
+ modifier.setIndent(TBF.indent()+1);
+ Cursor.mergeBlockFormat(modifier);
+ }
+ } else {
+ QTextListFormat format=List->format();
+ if (format.indent()<9) {
+ format.setIndent(format.indent()+1);
+ if (List->itemNumber(Cursor.block())==1) List->setFormat(format);
+ else Cursor.createList(format);
+ }
+ }
+
+ CurrentTextItem->Text=ui->TextEdit->toHtml();
+ RefreshControls();
+ ui->TextEdit->setFocus();
+}
+
+//========= Decrease indent
+void DlgTextEdit::s_IndentOutBt() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_IndentOutBt");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_INDENT,ui->TextEdit,true);
+
+ QTextCursor Cursor(ui->TextEdit->textCursor());
+ QTextBlockFormat TBF =Cursor.blockFormat();
+
+ QTextList *List=Cursor.currentList();
+ if (!List) {
+ if (TBF.indent()>0) {
+ QTextBlockFormat modifier;
+ modifier.setIndent(TBF.indent()-1);
+ Cursor.mergeBlockFormat(modifier);
+ }
+ } else {
+ QTextListFormat ListFmt=List->format();
+ if (ListFmt.indent()>0) {
+ ListFmt.setIndent(ListFmt.indent()-1);
+ List->setFormat(ListFmt);
+ }
+ }
+
+ CurrentTextItem->Text=ui->TextEdit->toHtml();
+ RefreshControls();
+ ui->TextEdit->setFocus();
+}
+
+//========= Activate/deactivate bullet list
+void DlgTextEdit::s_ListBt() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ListBt");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_LIST,ui->TextEdit,true);
+
+ QTextCursor Cursor(ui->TextEdit->textCursor());
+ if (Cursor.currentList()!=NULL) {
+ Cursor.currentList()->remove(Cursor.block());
+ QTextBlockFormat TBF=Cursor.blockFormat();
+ TBF.setIndent(0);
+ Cursor.setBlockFormat(TBF);
+ } else {
+ Cursor.beginEditBlock();
+ QTextBlockFormat BlockFmt=Cursor.blockFormat();
+ QTextListFormat ListFmt;
+ ListFmt.setStyle(QTextListFormat::ListSquare);
+ ListFmt.setIndent(BlockFmt.indent()+1);
+ BlockFmt.setIndent(0);
+ Cursor.mergeBlockFormat(BlockFmt);
+ Cursor.createList(ListFmt);
+ Cursor.endEditBlock();
+ }
+
+ CurrentTextItem->Text=ui->TextEdit->toHtml();
+ RefreshControls();
+ ui->TextEdit->setFocus();
+}
+
+//========= Activate/deactivate numbered list
+void DlgTextEdit::s_ListNbrBt() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ListNbrBt");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_LIST,ui->TextEdit,true);
+
+ QTextCursor Cursor(ui->TextEdit->textCursor());
+ if (Cursor.currentList()!=NULL) {
+ Cursor.currentList()->remove(Cursor.block());
+ QTextBlockFormat TBF=Cursor.blockFormat();
+ TBF.setIndent(0);
+ Cursor.setBlockFormat(TBF);
+ } else {
+ Cursor.beginEditBlock();
+ QTextBlockFormat BlockFmt=Cursor.blockFormat();
+ QTextListFormat ListFmt;
+ ListFmt.setStyle(QTextListFormat::ListDecimal);
+ ListFmt.setIndent(BlockFmt.indent()+1);
+ BlockFmt.setIndent(0);
+ Cursor.setBlockFormat(BlockFmt);
+ Cursor.createList(ListFmt);
+ Cursor.endEditBlock();
+ }
+
+ CurrentTextItem->Text=ui->TextEdit->toHtml();
+ RefreshControls();
+ ui->TextEdit->setFocus();
+}
+
+//========= Vertical alignment up
+void DlgTextEdit::s_SetTextUp() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextUp");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_ALIGNV,ui->TextEdit,true);
+
+ CurrentTextItem->VAlign=0;
+ ui->TextEdit->setAlignment((ui->TextEdit->alignment() & 0x0f)|Qt::AlignTop);
+ CurrentTextItem->Text=ui->TextEdit->toHtml();
+ RefreshControls();
+ ui->TextEdit->setFocus();
+}
+
+//========= Vertical alignment center
+void DlgTextEdit::s_SetTextVCenter() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextVCenter");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_ALIGNV,ui->TextEdit,true);
+
+ CurrentTextItem->VAlign=1;
+ ui->TextEdit->setAlignment((ui->TextEdit->alignment() & 0x0f)|Qt::AlignVCenter);
+ CurrentTextItem->Text=ui->TextEdit->toHtml();
+ RefreshControls();
+ ui->TextEdit->setFocus();
+}
+
+//========= Vertical alignment bottom
+void DlgTextEdit::s_SetTextBottom() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextBottom");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_ALIGNV,ui->TextEdit,true);
+
+ CurrentTextItem->VAlign=2;
+ ui->TextEdit->setAlignment((ui->TextEdit->alignment() & 0x0f)|Qt::AlignBottom);
+ CurrentTextItem->Text=ui->TextEdit->toHtml();
+ RefreshControls();
+ ui->TextEdit->setFocus();
+}
+
+//========= Font family
+void DlgTextEdit::s_ChangeFont(QFont font) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChangeFont");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_FONTSTYLE,ui->TextEdit,false);
+
+ QTextCursor Cursor(ui->TextEdit->textCursor());
+ QTextCharFormat TCF;
+ TCF.setFontFamily(font.family());
+ if (Cursor.hasSelection()) Cursor.mergeCharFormat(TCF);
+ else ui->TextEdit->mergeCurrentCharFormat(TCF);
+
+ CurrentTextItem->FontName=font.family();
+ CurrentTextItem->Text=ui->TextEdit->toHtml();
+ RefreshControls();
+ ui->TextEdit->setFocus();
+}
+
+//========= Size font
+void DlgTextEdit::s_ChangeSizeFont(QString size) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChangeSizeFont");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_FONTSIZE,ui->TextEdit,false);
+
+ QTextCursor Cursor(ui->TextEdit->textCursor());
+ QTextCharFormat TCF;
+ TCF.setFontPointSize(size.toInt());
+ if (Cursor.hasSelection()) Cursor.mergeCharFormat(TCF);
+ else ui->TextEdit->mergeCurrentCharFormat(TCF);
+
+ CurrentTextItem->FontSize=size.toInt();
+ CurrentTextItem->Text=ui->TextEdit->toHtml();
+ RefreshControls();
+ ui->TextEdit->setFocus();
+}
+
+//========= Style font
+void DlgTextEdit::s_ChangeStyleFont(int Style) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChangeStyleFont");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_FONTEFFECT,ui->TextEdit,false);
+
+ CurrentTextItem->StyleText=Style;
+ RefreshControls();
+}
+
+//========= Plain text edit
+void DlgTextEdit::s_TextEditChange() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_TextEditChange");
+ if (StopMAJSpinbox) return;
+
+ QString TextEditText =ui->TextEdit->toHtml();
+ QString PlainTextEdit=ui->TextEdit->toPlainText();
+ if ((CurrentTextItem->Text!=TextEditText)&&(CurrentPlainText!=PlainTextEdit)) {
+ AppendPartialUndo(UNDOACTION_MODIFTEXT,ui->TextEdit,false);
+ CurrentTextItem->Text=ui->TextEdit->toHtml();
+ RefreshControls();
+ }
+ CurrentPlainText=PlainTextEdit;
+}
+
+//========= Font color
+void DlgTextEdit::s_ChIndexFontColorCombo(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexFontColorCombo");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_FONTCOLOR,ui->TextEdit,false);
+
+ CurrentTextItem->FontColor=ui->FontColorCombo->GetCurrentColor();
+
+ QTextCursor Cursor(ui->TextEdit->textCursor());
+ QTextCharFormat TCF;
+
+ TCF.setForeground(QBrush(QColor(CurrentTextItem->FontColor)));
+ if (Cursor.hasSelection()) Cursor.mergeCharFormat(TCF);
+ else ui->TextEdit->mergeCurrentCharFormat(TCF);
+
+ CurrentTextItem->Text=ui->TextEdit->toHtml();
+ RefreshControls();
+ ui->TextEdit->setFocus();
+}
+
+//========= Text shadow color
+void DlgTextEdit::s_ChIndexFontShadowColorCombo(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexFontShadowColorCombo");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_FONTSHADOWCOLOR,ui->TextEdit,false);
+
+ CurrentTextItem->FontShadowColor=ui->StyleShadowColorCombo->GetCurrentColor();
+ RefreshControls();
+}
+
+//====================================================================================================================
+
+void DlgTextEdit::s_ChangeBrushTypeCombo(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChangeBrushTypeCombo");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_BRUSHTYPE,ui->TextEdit,true);
+
+ CurrentTextItem->BackgroundBrush->BrushType=ui->BrushTypeCombo->itemData(Value).toInt();
+ RefreshControls();
+}
+
+//====================================================================================================================
+
+void DlgTextEdit::s_IntermPosED(int Value) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_IntermPosED");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_BRUSHINTERMPOS,ui->TextEdit,false);
+
+ CurrentTextItem->BackgroundBrush->Intermediate=double(Value)/100;
+ RefreshControls();
+}
+
+//====================================================================================================================
+// Handler for custom color/brush/pattern/gradient combo box index change
+//====================================================================================================================
+
+//========= Pattern shape combo
+void DlgTextEdit::s_ChIndexPatternBrushCombo(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexPatternBrushCombo");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_BRUSHPATTERNBRUSH,ui->TextEdit,false);
+
+ CurrentTextItem->BackgroundBrush->PatternType=ui->PatternBrushCombo->GetCurrentBrush()->PatternType;
+ RefreshControls();
+}
+
+//========= Gradient shape orientation
+void DlgTextEdit::s_ChIndexGradientOrientationCombo(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexGradientOrientationCombo");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_BRUSHORIENTATION,ui->TextEdit,false);
+
+ CurrentTextItem->BackgroundBrush->GradientOrientation=ui->OrientationCombo->GetCurrentBrush()->GradientOrientation;
+ RefreshControls();
+}
+
+//========= Shape/Gradient shape first color
+void DlgTextEdit::s_ChIndexGradientFirstColorCombo(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexGradientFirstColorCombo");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_BRUSHFIRSTCOLOR,ui->TextEdit,false);
+
+ CurrentTextItem->BackgroundBrush->ColorD=ui->FirstColorCombo->GetCurrentColor();
+ RefreshControls();
+}
+
+//========= Gradient shape last color
+void DlgTextEdit::s_ChIndexGradientFinalColorCombo(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexGradientFinalColorCombo");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_BRUSHFINALCOLOR,ui->TextEdit,false);
+
+ CurrentTextItem->BackgroundBrush->ColorF=ui->FinalColorCombo->GetCurrentColor();
+ RefreshControls();
+}
+
+//========= Gradient shape intermediate color
+void DlgTextEdit::s_ChIndexGradientIntermColorCombo(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexGradientIntermColorCombo");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_BRUSHINTERMCOLOR,ui->TextEdit,false);
+
+ CurrentTextItem->BackgroundBrush->ColorIntermed=ui->IntermColorCombo->GetCurrentColor();
+ RefreshControls();
+}
+
+//========= Background image
+void DlgTextEdit::s_ChIndexBackgroundCombo(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexBackgroundCombo");
+ if (StopMAJSpinbox) return;
+ AppendPartialUndo(UNDOACTION_BRUSHLIBBRUSH,ui->TextEdit,false);
+
+ CurrentTextItem->BackgroundBrush->BrushImage=ui->BackgroundCombo->GetCurrentBackground();
+ RefreshControls();
+}
+
+//====================================================================================================================
+// Handler for style sheet management
+//====================================================================================================================
+
+void DlgTextEdit::s_TextStyleBT() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_TextStyleBT");
+
+ QString ActualStyle=CurrentTextItem->GetTextStyle();
+ QString Item=StyleTextCollection->PopupCollectionMenu(this,BaseApplicationConfig,ActualStyle);
+ ui->TextStyleBT->setDown(false);
+ if (Item!="") {
+ AppendPartialUndo(UNDOSTYLE_TEXT,ui->TextEdit,true);
+ CurrentTextItem->ApplyTextStyle(StyleTextCollection->GetStyleDef(Item));
+ ui->TextEdit->setHtml(CurrentTextItem->Text);
+ QTextCursor Cursor=ui->TextEdit->textCursor();
+ Cursor.movePosition(QTextCursor::Start);
+ ui->TextEdit->setTextCursor(Cursor);
+ }
+ RefreshControls();
+}
+
+void DlgTextEdit::s_BackgroundStyleBT() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_BackgroundStyleBT");
+
+ QString ActualStyle=CurrentTextItem->GetBackgroundStyle();
+ QString Item=StyleTextBackgroundCollection->PopupCollectionMenu(this,BaseApplicationConfig,ActualStyle);
+ ui->BackgroundStyleBT->setDown(false);
+ if (Item!="") {
+ AppendPartialUndo(UNDOSTYLE_BACKGROUND,ui->TextEdit,true);
+ CurrentTextItem->ApplyBackgroundStyle(StyleTextBackgroundCollection->GetStyleDef(Item));
+ }
+ RefreshControls();
+}
diff --git a/src/ffDiaporama/DlgText/DlgTextEdit.h b/src/ffDiaporama/DlgText/DlgTextEdit.h
new file mode 100755
index 0000000..dbe389e
--- /dev/null
+++ b/src/ffDiaporama/DlgText/DlgTextEdit.h
@@ -0,0 +1,124 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef DLGTEXTEDIT_H
+#define DLGTEXTEDIT_H
+
+// Basic inclusions (common to all files)
+#include "../../engine/_GlobalDefines.h"
+#include "../../engine/_QCustomDialog.h"
+#include "../../engine/cBaseApplicationConfig.h"
+
+// Include some additional standard class
+#include <QDialog>
+#include <QComboBox>
+#include <QFont>
+#include <QString>
+
+// Specific inclusions
+#include "../_Diaporama.h"
+
+namespace Ui {
+ class DlgTextEdit;
+}
+
+class DlgTextEdit : public QCustomDialog {
+Q_OBJECT
+public:
+ cCompositionObject *CurrentTextItem; // Text to modify
+ cBrushDefinition *CurrentBrush; // Brush to modify
+ bool StopMAJSpinbox;
+ cStyleCollection *StyleTextCollection; // Link to text style collection
+ cStyleCollection *StyleTextBackgroundCollection; // Link to background text style collection
+ QString CurrentPlainText;
+
+ explicit DlgTextEdit(cCompositionObject *CurrentTextItem,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,
+ cStyleCollection *StyleTextCollection,cStyleCollection *StyleTextBackgroundCollection,QWidget *parent=0);
+ ~DlgTextEdit();
+
+ // function to be overloaded
+ virtual void DoInitDialog(); // Initialise dialog
+ virtual void DoAccept() {/*Nothing to do*/} // Call when user click on Ok button
+ virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button
+ virtual void PrepareGlobalUndo(); // Initiale Undo
+ virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button
+ virtual void PreparePartialUndo(int ActionType,QDomElement root);
+ virtual void ApplyPartialUndo(int ActionType,QDomElement root);
+
+ // Other
+ void RefreshControls();
+ void MakeTextStyleIcon(QComboBox *UICB);
+
+private slots:
+ void s_cursorPositionChanged();
+
+ void s_ChangeFont(QFont);
+ void s_ChangeSizeFont(QString);
+ void s_SetBold();
+ void s_SetItalic();
+ void s_SetUnderline();
+ void s_SetTextSuper();
+ void s_SetTextSub();
+
+ void s_SetTextLeft();
+ void s_SetTextCenter();
+ void s_SetTextRight();
+ void s_SetTextJustif();
+
+ void s_IndentInBt();
+ void s_IndentOutBt();
+
+ void s_ListBt();
+ void s_ListNbrBt();
+
+ void s_SetTextUp();
+ void s_SetTextVCenter();
+ void s_SetTextBottom();
+
+ void s_ChangeStyleFont(int);
+ void s_TextEditChange();
+ void s_ChIndexFontColorCombo(int);
+ void s_ChIndexFontShadowColorCombo(int);
+
+ // Brush part
+ void s_ChangeBrushTypeCombo(int);
+
+ // Intermediate position for gradient 3 colors
+ void s_IntermPosED(int);
+
+ // Handler for custom color/brush/pattern/gradient combo box index change
+ void s_ChIndexPatternBrushCombo(int);
+ void s_ChIndexGradientOrientationCombo(int);
+ void s_ChIndexGradientFirstColorCombo(int);
+ void s_ChIndexGradientFinalColorCombo(int);
+ void s_ChIndexGradientIntermColorCombo(int);
+ void s_ChIndexBackgroundCombo(int);
+
+ void s_TextStyleBT();
+ void s_BackgroundStyleBT();
+
+signals:
+ void RefreshDisplay();
+
+private:
+ Ui::DlgTextEdit *ui;
+};
+
+#endif // DLGTEXTEDIT_H
diff --git a/src/ffDiaporama/DlgText/DlgTextEdit.ui b/src/ffDiaporama/DlgText/DlgTextEdit.ui
new file mode 100755
index 0000000..726bfe4
--- /dev/null
+++ b/src/ffDiaporama/DlgText/DlgTextEdit.ui
@@ -0,0 +1,1586 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DlgTextEdit</class>
+ <widget class="QDialog" name="DlgTextEdit">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>500</width>
+ <height>300</height>
+ </rect>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>500</width>
+ <height>300</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="windowTitle">
+ <string>Edit text</string>
+ </property>
+ <property name="sizeGripEnabled">
+ <bool>true</bool>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <property name="margin">
+ <number>8</number>
+ </property>
+ <item>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="TextTab">
+ <attribute name="title">
+ <string>Text</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QToolButton" name="TextStyleBT">
+ <property name="minimumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/db_menu.png</normaloff>:/img/db_menu.png</iconset>
+ </property>
+ <property name="arrowType">
+ <enum>Qt::NoArrow</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QFontComboBox" name="fontStyleCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>200</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>200</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Select font family</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="fontSize">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Select font size</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="cCustomColorComboBox" name="FontColorCombo">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Select font color</string>
+ </property>
+ <property name="editable">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_9">
+ <property name="minimumSize">
+ <size>
+ <width>10</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>10</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="ListBt">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Bullet list</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Text/text_list.png</normaloff>:/img/Text/text_list.png</iconset>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="ListNbrBt">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Numbered list</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Text/text_list_nbr.png</normaloff>:/img/Text/text_list_nbr.png</iconset>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_11">
+ <property name="minimumSize">
+ <size>
+ <width>10</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>10</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="textLeft">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Align left</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Text/text_align_left.png</normaloff>:/img/Text/text_align_left.png</iconset>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="textJustif">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Align justify</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Text/text_align_justif.png</normaloff>:/img/Text/text_align_justif.png</iconset>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="textCenter">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Align center</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Text/text_align_center.png</normaloff>:/img/Text/text_align_center.png</iconset>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="textRight">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Align right</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Text/text_align_right.png</normaloff>:/img/Text/text_align_right.png</iconset>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_5">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_6">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QComboBox" name="fontEffectCB">
+ <property name="minimumSize">
+ <size>
+ <width>152</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>152</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Select font effect (outerline, shadow)</string>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">QComboBox QAbstractItemView {
+background: #ffffff;
+color: #000000;
+}</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="cCustomColorComboBox" name="StyleShadowColorCombo">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Select outerline/shadow color</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_7">
+ <property name="minimumSize">
+ <size>
+ <width>10</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>10</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="bold">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Set text to Bold</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Text/text_bold.png</normaloff>:/img/Text/text_bold.png</iconset>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="Italic">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Set text to Italic</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Text/text_italic.png</normaloff>:/img/Text/text_italic.png</iconset>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="Souligne">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Set text to Underline</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Text/text_underline.png</normaloff>:/img/Text/text_underline.png</iconset>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="TextSuperBt">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Set text to superscript</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Text/text_super.png</normaloff>:/img/Text/text_super.png</iconset>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="TextSubBt">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Set text to subscript</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Text/text_sub.png</normaloff>:/img/Text/text_sub.png</iconset>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_8">
+ <property name="minimumSize">
+ <size>
+ <width>10</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>10</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="IndentInBt">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Increase indent</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Text/text_indent_in.png</normaloff>:/img/Text/text_indent_in.png</iconset>
+ </property>
+ <property name="autoExclusive">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="IndentOutBt">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>decrease indent</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Text/text_indent_out.png</normaloff>:/img/Text/text_indent_out.png</iconset>
+ </property>
+ <property name="autoExclusive">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_10">
+ <property name="minimumSize">
+ <size>
+ <width>21</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>21</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="textUp">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Align top</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Text/text_align_vup.png</normaloff>:/img/Text/text_align_vup.png</iconset>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="textVCenter">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Align in the middle</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Text/text_align_vcenter.png</normaloff>:/img/Text/text_align_vcenter.png</iconset>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="textBottom">
+ <property name="minimumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>22</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Align bottom</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Text/text_align_vbottom.png</normaloff>:/img/Text/text_align_vbottom.png</iconset>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <property name="autoExclusive">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="cCustomTextEdit" name="TextEdit">
+ <property name="html">
+ <string notr="true"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html></string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="BackgroundTab">
+ <attribute name="title">
+ <string>Background</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QScrollArea" name="scrollArea">
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>478</width>
+ <height>213</height>
+ </rect>
+ </property>
+ <layout class="QFormLayout" name="formLayout">
+ <property name="fieldGrowthPolicy">
+ <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
+ </property>
+ <property name="horizontalSpacing">
+ <number>2</number>
+ </property>
+ <property name="verticalSpacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>4</number>
+ </property>
+ <item row="0" column="0" colspan="2">
+ <widget class="QLabel" name="label_2">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Background properties :</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QToolButton" name="BackgroundStyleBT">
+ <property name="minimumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/db_menu.png</normaloff>:/img/db_menu.png</iconset>
+ </property>
+ <property name="arrowType">
+ <enum>Qt::NoArrow</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QComboBox" name="BrushTypeCombo">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>175</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>175</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Define the background brush type for the shape</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="ColorLabel1">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/color.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="cCustomColorComboBox" name="FirstColorCombo">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Define the color (or first color for a gradient brush)</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="ColorLabel_1">
+ <property name="minimumSize">
+ <size>
+ <width>15</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="cCustomColorComboBox" name="FinalColorCombo">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Define the second gradient brush color </string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="ColorLabel_2">
+ <property name="minimumSize">
+ <size>
+ <width>15</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>15</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="cCustomColorComboBox" name="IntermColorCombo">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Define the third gradient brush color </string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="ColorLabel2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="PatternLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/pattern_fill.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="cCustomBrushComboBox" name="PatternBrushCombo">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Select the pattern</string>
+ </property>
+ <property name="editable">
+ <bool>false</bool>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>64</width>
+ <height>16</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="IntermPosLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/Distance.png</pixmap>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_14">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="cGradientOrientationComboBox" name="OrientationCombo">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>48</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Define orientation of the gradient brush</string>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>64</width>
+ <height>16</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSlider" name="IntermPosSlider">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>75</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Define position of the second color in the gradient brush</string>
+ </property>
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>10</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSpinBox" name="IntermPosED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>52</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>52</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Define position of the second color in the gradient brush</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="suffix">
+ <string notr="true">%</string>
+ </property>
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="value">
+ <number>10</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="OrientationSpacer">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="5" column="0">
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="ImageLibraryLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="pixmap">
+ <pixmap>:/img/object_image.png</pixmap>
+ </property>
+ <property name="scaledContents">
+ <bool>true</bool>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="ImageLibraryLabel2">
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="5" column="1">
+ <widget class="cBackgroundComboBox" name="BackgroundCombo">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>140</width>
+ <height>76</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>140</width>
+ <height>76</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Select an image among that present in the library</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_5">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="OKBT">
+ <property name="toolTip">
+ <string>Accept modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Ok</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_3">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>20</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="UndoBT">
+ <property name="toolTip">
+ <string>Undo last action (CTRL+Z)</string>
+ </property>
+ <property name="text">
+ <string>Undo</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo24.png</normaloff>:/img/undo24.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+Z</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="CancelBt">
+ <property name="toolTip">
+ <string>Cancel modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Cancel</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="HelpBT">
+ <property name="toolTip">
+ <string>Open help page describing this dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Help</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>F1</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <customwidgets>
+ <customwidget>
+ <class>cCustomColorComboBox</class>
+ <extends>QComboBox</extends>
+ <header>cCustomComboBox.h</header>
+ </customwidget>
+ <customwidget>
+ <class>cCustomBrushComboBox</class>
+ <extends>QComboBox</extends>
+ <header>cCustomComboBox.h</header>
+ </customwidget>
+ <customwidget>
+ <class>cGradientOrientationComboBox</class>
+ <extends>QComboBox</extends>
+ <header>cCustomComboBox.h</header>
+ </customwidget>
+ <customwidget>
+ <class>cBackgroundComboBox</class>
+ <extends>QComboBox</extends>
+ <header>cCustomComboBox.h</header>
+ </customwidget>
+ <customwidget>
+ <class>cCustomTextEdit</class>
+ <extends>QTextEdit</extends>
+ <header>DlgText/cCustomTextEdit.h</header>
+ </customwidget>
+ </customwidgets>
+ <tabstops>
+ <tabstop>FirstColorCombo</tabstop>
+ <tabstop>FinalColorCombo</tabstop>
+ <tabstop>IntermColorCombo</tabstop>
+ <tabstop>OrientationCombo</tabstop>
+ <tabstop>IntermPosSlider</tabstop>
+ <tabstop>IntermPosED</tabstop>
+ <tabstop>OKBT</tabstop>
+ <tabstop>CancelBt</tabstop>
+ <tabstop>HelpBT</tabstop>
+ </tabstops>
+ <resources>
+ <include location="../../../RSCffDiaporama.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/ffDiaporama/DlgText/cCustomTextEdit.cpp b/src/ffDiaporama/DlgText/cCustomTextEdit.cpp
new file mode 100755
index 0000000..96a9d47
--- /dev/null
+++ b/src/ffDiaporama/DlgText/cCustomTextEdit.cpp
@@ -0,0 +1,30 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "cCustomTextEdit.h"
+#include <QKeyEvent>
+
+cCustomTextEdit::cCustomTextEdit(QWidget *parent):QTextEdit(parent) {
+}
+
+void cCustomTextEdit::keyPressEvent(QKeyEvent *event) {
+ if ((event->modifiers()==Qt::ControlModifier)&&(event->key()==Qt::Key_Z)) emit UndoSignal();
+ else QTextEdit::keyPressEvent(event);
+}
diff --git a/src/ffDiaporama/DlgText/cCustomTextEdit.h b/src/ffDiaporama/DlgText/cCustomTextEdit.h
new file mode 100755
index 0000000..a70fdd2
--- /dev/null
+++ b/src/ffDiaporama/DlgText/cCustomTextEdit.h
@@ -0,0 +1,40 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef CCUSTOMTEXTEDIT_H
+#define CCUSTOMTEXTEDIT_H
+
+#include <QTextEdit>
+
+class cCustomTextEdit : public QTextEdit {
+Q_OBJECT
+public:
+ explicit cCustomTextEdit(QWidget *parent = 0);
+
+ virtual void keyPressEvent(QKeyEvent * e);
+
+signals:
+ void UndoSignal();
+
+public slots:
+
+};
+
+#endif // CCUSTOMTEXTEDIT_H
diff --git a/src/ffDiaporama/DlgTextEdit.cpp b/src/ffDiaporama/DlgTextEdit.cpp
deleted file mode 100755
index 7d94723..0000000
--- a/src/ffDiaporama/DlgTextEdit.cpp
+++ /dev/null
@@ -1,529 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "DlgTextEdit.h"
-#include "ui_DlgTextEdit.h"
-
-DlgTextEdit::DlgTextEdit(cCompositionObject *TheCurrentTextItem,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,
- cStyleCollection *TheStyleTextCollection,cStyleCollection *TheStyleTextBackgroundCollection,QWidget *parent):
- QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent),ui(new Ui::DlgTextEdit) {
-
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::DlgTextEdit");
-
- ui->setupUi(this);
- OkBt =ui->OKBT;
- CancelBt =ui->CancelBt;
- HelpBt =ui->HelpBT;
- CurrentTextItem =TheCurrentTextItem;
- StyleTextCollection =TheStyleTextCollection;
- StyleTextBackgroundCollection =TheStyleTextBackgroundCollection;
- StopMAJSpinbox =false;
-}
-
-//====================================================================================================================
-
-DlgTextEdit::~DlgTextEdit() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::~DlgTextEdit");
-
- delete ui;
-}
-
-//====================================================================================================================
-// Initialise dialog
-
-void DlgTextEdit::DoInitDialog() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::DoInitDialog");
-
- // Init check box
- ui->textLeft->setCheckable(true);
- ui->textCenter->setCheckable(true);
- ui->textJustif->setCheckable(true);
- ui->textRight->setCheckable(true);
- ui->textUp->setCheckable(true);
- ui->textVCenter->setCheckable(true);
- ui->textBottom->setCheckable(true);
-
- // Init font size
- QList<int> sizes=QFontDatabase::standardSizes();
- QStringList Ssizes;
- for (int i=0;i<sizes.count();i++) Ssizes.append(QString("%1").arg(sizes[i]));
- ui->fontSize->insertItems(0,Ssizes);
- ui->fontSize->setCurrentIndex(6);
-
- // Init editor
- ui->plainTextEdit->setWordWrapMode(QTextOption::NoWrap);
-
- // Init combo box FontEffect
- ui->fontEffectCB->addItem(QApplication::translate("DlgTextEdit","No effect"));
- ui->fontEffectCB->addItem(QApplication::translate("DlgTextEdit","Outerline"));
- ui->fontEffectCB->addItem(QApplication::translate("DlgTextEdit","Shadow upper left"));
- ui->fontEffectCB->addItem(QApplication::translate("DlgTextEdit","Shadow upper right"));
- ui->fontEffectCB->addItem(QApplication::translate("DlgTextEdit","Shadow bottom left"));
- ui->fontEffectCB->addItem(QApplication::translate("DlgTextEdit","Shadow bottom right"));
- ui->fontEffectCB->view()->setFixedWidth(160+18);
- ui->fontEffectCB->view()->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
- MakeTextStyleIcon(ui->fontEffectCB);
-
- // Init combo box Background type
- ui->BrushTypeCombo->addItem(QApplication::translate("DlgTextEdit","No brush")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_NOBRUSH)));
- ui->BrushTypeCombo->addItem(QApplication::translate("DlgTextEdit","Solid brush")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_SOLID)));
- ui->BrushTypeCombo->addItem(QApplication::translate("DlgTextEdit","Pattern brush")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_PATTERN)));
- ui->BrushTypeCombo->addItem(QApplication::translate("DlgTextEdit","Gradient 2 colors")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_GRADIENT2)));
- ui->BrushTypeCombo->addItem(QApplication::translate("DlgTextEdit","Gradient 3 colors")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_GRADIENT3)));
- ui->BrushTypeCombo->addItem(QApplication::translate("DlgTextEdit","Image from library")); ui->BrushTypeCombo->setItemData(ui->BrushTypeCombo->count()-1,QVariant(int(BRUSHTYPE_IMAGELIBRARY)));
-
- RefreshControls();
-
- // Define handler
- connect(ui->plainTextEdit,SIGNAL(textChanged()),this,SLOT(s_plainTextEditChange()));
- connect(ui->FontColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexFontColorCombo(int)));
- connect(ui->StyleShadowColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexFontShadowColorCombo(int)));
- connect(ui->fontStyleCB,SIGNAL(currentFontChanged(QFont)),this,SLOT(s_ChangeFont(QFont)));
- connect(ui->fontSize,SIGNAL(currentIndexChanged(QString)),this,SLOT(s_ChangeSizeFont(QString)));
- connect(ui->bold,SIGNAL(released()),this,SLOT(s_SetBold()));
- connect(ui->Italic,SIGNAL(released()),this,SLOT(s_SetItalic()));
- connect(ui->Souligne,SIGNAL(released()),this,SLOT(s_SetUnderline()));
- connect(ui->textLeft,SIGNAL(pressed()),this,SLOT(s_SetTextLeft()));
- connect(ui->textCenter,SIGNAL(pressed()),this,SLOT(s_SetTextCenter()));
- connect(ui->textRight,SIGNAL(pressed()),this,SLOT(s_SetTextRight()));
- connect(ui->textJustif,SIGNAL(pressed()),this,SLOT(s_SetTextJustif()));
- connect(ui->textUp,SIGNAL(pressed()),this,SLOT(s_SetTextUp()));
- connect(ui->textVCenter,SIGNAL(pressed()),this,SLOT(s_SetTextVCenter()));
- connect(ui->textBottom,SIGNAL(pressed()),this,SLOT(s_SetTextBottom()));
- connect(ui->fontEffectCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChangeStyleFont(int)));
-
- connect(ui->TextStyleBT,SIGNAL(pressed()),this,SLOT(s_TextStyleBT()));
- connect(ui->BackgroundStyleBT,SIGNAL(pressed()),this,SLOT(s_BackgroundStyleBT()));
-
- // Brush part
- connect(ui->BrushTypeCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChangeBrushTypeCombo(int)));
- connect(ui->PatternBrushCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexPatternBrushCombo(int)));
- connect(ui->OrientationCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientOrientationCombo(int)));
- connect(ui->FirstColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientFirstColorCombo(int)));
- connect(ui->FinalColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientFinalColorCombo(int)));
- connect(ui->IntermColorCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexGradientIntermColorCombo(int)));
- connect(ui->BackgroundCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChIndexBackgroundCombo(int)));
- connect(ui->IntermPosSlider,SIGNAL(valueChanged(int)),this,SLOT(s_IntermPosSliderMoved(int)));
- connect(ui->IntermPosED,SIGNAL(valueChanged(int)),this,SLOT(s_IntermPosED(int)));
-
-}
-
-//====================================================================================================================
-// Initiale Undo
-
-void DlgTextEdit::PrepareGlobalUndo() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::PrepareGlobalUndo");
-
- // Save object before modification for cancel button
- Undo=new QDomDocument(APPLICATION_NAME);
- QDomElement root=Undo->createElement("UNDO-DLG"); // Create xml document and root
- CurrentTextItem->SaveToXML(root,"UNDO-DLG-OBJECT","",NULL,false); // Save object
- Undo->appendChild(root); // Add object to xml document
-}
-
-//====================================================================================================================
-// Apply Undo : call when user click on Cancel button
-
-void DlgTextEdit::DoGlobalUndo() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::DoGlobalUndo");
-
- // Restore element
- QDomElement root=Undo->documentElement();
- if (root.tagName()=="UNDO-DLG") CurrentTextItem->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL,NULL,false);
-}
-
-//====================================================================================================================
-
-void DlgTextEdit::RefreshControls() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::RefreshControls");
-
- StopMAJSpinbox=true;
- // Update text controls
- ui->TextStyleED->setText(StyleTextCollection->GetStyleName(CurrentTextItem->GetTextStyle()));
- if (CurrentTextItem->FontSize!=ui->fontSize->currentIndex()) ui->fontSize->setCurrentIndex(ui->fontSize->findText(QString("%1").arg(CurrentTextItem->FontSize)));
- if (CurrentTextItem->Text!=ui->plainTextEdit->toPlainText()) ui->plainTextEdit->setPlainText(CurrentTextItem->Text);
- if (CurrentTextItem->FontName!=ui->fontStyleCB->currentText()) ui->fontStyleCB->setCurrentIndex(ui->fontStyleCB->findText(QString(CurrentTextItem->FontName)));
- if (CurrentTextItem->StyleText!=ui->fontEffectCB->currentIndex()) ui->fontEffectCB->setCurrentIndex(CurrentTextItem->StyleText);
- ui->textLeft->setChecked(CurrentTextItem->HAlign==0); ui->textLeft->setDown(CurrentTextItem->HAlign==0);
- ui->textCenter->setChecked(CurrentTextItem->HAlign==1); ui->textCenter->setDown(CurrentTextItem->HAlign==1);
- ui->textJustif->setChecked(CurrentTextItem->HAlign==3); ui->textJustif->setDown(CurrentTextItem->HAlign==3);
- ui->textRight->setChecked(CurrentTextItem->HAlign==2); ui->textRight->setDown(CurrentTextItem->HAlign==2);
- ui->textUp->setChecked(CurrentTextItem->VAlign==0); ui->textUp->setDown(CurrentTextItem->VAlign==0);
- ui->textVCenter->setChecked(CurrentTextItem->VAlign==1); ui->textVCenter->setDown(CurrentTextItem->VAlign==1);
- ui->textBottom->setChecked(CurrentTextItem->VAlign==2); ui->textBottom->setDown(CurrentTextItem->VAlign==2);
- ui->bold->setChecked(CurrentTextItem->IsBold); ui->bold->setDown(CurrentTextItem->IsBold);
- ui->Italic->setChecked(CurrentTextItem->IsItalic); ui->Italic->setDown(CurrentTextItem->IsItalic);
- ui->Souligne->setChecked(CurrentTextItem->IsUnderline); ui->Souligne->setDown(CurrentTextItem->IsUnderline);
- ui->FontColorCombo->SetCurrentColor(&CurrentTextItem->FontColor);
- ui->StyleShadowColorCombo->SetCurrentColor(&CurrentTextItem->FontShadowColor);
- ui->StyleShadowColorCombo->setEnabled(CurrentTextItem->StyleText!=0);
- ui->fontEffectCB->view()->setFixedWidth(250);
-
- // Brush TAB part
- bool Allow_Brush =(CurrentTextItem->BackgroundBrush->BrushType!=BRUSHTYPE_IMAGEDISK);
- bool Allow_Color1 =(Allow_Brush)&&((CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_SOLID)||(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_PATTERN)||(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3));
- bool Allow_Color2 =(Allow_Brush)&&((CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT2)||(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3));
- bool Allow_Color3 =(Allow_Brush)&&(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_GRADIENT3);
- bool Allow_Pattern=(Allow_Brush)&&(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_PATTERN);
- bool Allow_Library=(Allow_Brush)&&(CurrentTextItem->BackgroundBrush->BrushType==BRUSHTYPE_IMAGELIBRARY);
-
- ui->BackgroundLabel->setVisible(Allow_Brush);
- ui->BackgroundStyleBT->setVisible(Allow_Brush);
- ui->BackgroundStyleED->setVisible(Allow_Brush);
- if (Allow_Brush) ui->BackgroundStyleED->setText(StyleTextBackgroundCollection->GetStyleName(CurrentTextItem->GetBackgroundStyle()));
- ui->BrushTypeLabel->setVisible(Allow_Brush);
- ui->BrushTypeCombo->setVisible(Allow_Brush);
- ui->ColorLabel1->setVisible(Allow_Color1);
- ui->ColorLabel2->setVisible(Allow_Color1);
- ui->FirstColorCombo->setVisible(Allow_Color1);
- ui->FinalColorCombo->setVisible(Allow_Color2);
- ui->IntermColorCombo->setVisible(Allow_Color3);
- ui->OrientationSpacer->setVisible(Allow_Color2 & !Allow_Color3);
- ui->OrientationCombo->setVisible(Allow_Color2);
- ui->IntermPosLabel->setVisible(Allow_Color2);
- ui->IntermPosSlider->setVisible(Allow_Color3);
- ui->IntermPosED->setVisible(Allow_Color3);
- ui->PatternLabel->setVisible(Allow_Pattern);
- ui->PatternBrushCombo->setVisible(Allow_Pattern);
- ui->ImageLibraryLabel->setVisible(Allow_Library);
- ui->ImageLibraryLabel2->setVisible(Allow_Library);
- ui->BackgroundCombo->setVisible(Allow_Library);
-
- // Set brush type combo index
- for (int i=0;i<ui->BrushTypeCombo->count();i++) if (ui->BrushTypeCombo->itemData(i).toInt()==CurrentTextItem->BackgroundBrush->BrushType) ui->BrushTypeCombo->setCurrentIndex(i);
- ui->PatternBrushCombo->SetCurrentBrush(CurrentTextItem->BackgroundBrush);
- ui->FirstColorCombo->SetCurrentColor(&CurrentTextItem->BackgroundBrush->ColorD);
- ui->IntermColorCombo->SetCurrentColor(&CurrentTextItem->BackgroundBrush->ColorIntermed);
- ui->FinalColorCombo->SetCurrentColor(&CurrentTextItem->BackgroundBrush->ColorF);
- ui->OrientationCombo->SetCurrentBrush(CurrentTextItem->BackgroundBrush);
- ui->FirstColorCombo->SetCurrentColor(&CurrentTextItem->BackgroundBrush->ColorD);
-
- // Set controls depending on brush type
- switch (CurrentTextItem->BackgroundBrush->BrushType) {
- case BRUSHTYPE_NOBRUSH :
- break;
- case BRUSHTYPE_PATTERN :
- case BRUSHTYPE_SOLID : break;
- break;
- case BRUSHTYPE_GRADIENT3 :
- case BRUSHTYPE_GRADIENT2 :
- ui->IntermPosSlider->setValue(CurrentTextItem->BackgroundBrush->Intermediate*100);
- ui->IntermPosED->setValue(CurrentTextItem->BackgroundBrush->Intermediate*100);
- break;
- case BRUSHTYPE_IMAGELIBRARY :
- // Ensure BrushImage is valide
- if ((BackgroundList.SearchImage(CurrentTextItem->BackgroundBrush->BrushImage)==-1)&&(BackgroundList.List.count()>0)) CurrentTextItem->BackgroundBrush->BrushImage=BackgroundList.List[0].Name;
- ui->BackgroundCombo->SetCurrentBackground(CurrentTextItem->BackgroundBrush->BrushImage);
- break;
- }
-
- StopMAJSpinbox=false;
- emit RefreshDisplay();
-}
-
-void DlgTextEdit::MakeTextStyleIcon(QComboBox *UICB) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::MakeTextStyleIcon");
-
- for (int i=0;i<UICB->count();i++) {
- cCompositionObject Object(COMPOSITIONTYPE_BACKGROUND,0,BaseApplicationConfig);
- Object.Text="T";
- Object.x=0.15;
- Object.y=0.15;
- Object.w=0.7;
- Object.h=0.7;
- Object.HAlign =1; // Center
- Object.VAlign =1; // Center
- Object.FontColor ="#00ff00";
- Object.FontShadowColor ="#ff0000";
- Object.StyleText =i;
- Object.FontSize =200;
- Object.IsBold =true;
- Object.PenSize =0;
- Object.BackgroundForm =1;
- Object.Opacity=0;
- QPixmap Image(32,32);
- QPainter Painter;
- Painter.begin(&Image);
- Painter.fillRect(QRect(0,0,32,32),"#ffffff");
- Object.DrawCompositionObject(&Painter,1,0,0,32,32,true,0,0,NULL,1,NULL,false);
- Painter.end();
- UICB->setItemIcon(i,QIcon(Image));
- }
-}
-
-//====================================================================================================================
-// Handler for text controls
-//====================================================================================================================
-
-//========= Text style bold
-void DlgTextEdit::s_SetBold() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetBold");
-
- if (StopMAJSpinbox) return;
- if (CurrentTextItem->IsBold==true) CurrentTextItem->IsBold=false; else CurrentTextItem->IsBold=true;
- RefreshControls();
-}
-
-//========= Text style italic
-void DlgTextEdit::s_SetItalic() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetItalic");
-
- if (StopMAJSpinbox) return;
- if (CurrentTextItem->IsItalic==true) CurrentTextItem->IsItalic=false; else CurrentTextItem->IsItalic=true;
- RefreshControls();
-}
-
-//========= Text style underline
-void DlgTextEdit::s_SetUnderline() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetUnderline");
-
- if (StopMAJSpinbox) return;
- if (CurrentTextItem->IsUnderline==true) CurrentTextItem->IsUnderline=false; else CurrentTextItem->IsUnderline=true;
- RefreshControls();
-}
-
-//========= Horizontal alignment left
-void DlgTextEdit::s_SetTextLeft() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextLeft");
-
- if (StopMAJSpinbox) return;
- CurrentTextItem->HAlign=0;
- RefreshControls();
-}
-
-//========= Horizontal alignment center
-void DlgTextEdit::s_SetTextCenter() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextCenter");
-
- if (StopMAJSpinbox) return;
- CurrentTextItem->HAlign=1;
- RefreshControls();
-}
-
-//========= Horizontal alignment right
-void DlgTextEdit::s_SetTextRight() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextRight");
-
- if (StopMAJSpinbox) return;
- CurrentTextItem->HAlign=2;
- RefreshControls();
-}
-
-//========= Horizontal alignment justify
-void DlgTextEdit::s_SetTextJustif() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextJustif");
-
- if (StopMAJSpinbox) return;
- CurrentTextItem->HAlign=3;
- RefreshControls();
-}
-
-//========= Vertical alignment up
-void DlgTextEdit::s_SetTextUp() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextUp");
-
- if (StopMAJSpinbox) return;
- CurrentTextItem->VAlign=0;
- RefreshControls();
-}
-
-//========= Vertical alignment center
-void DlgTextEdit::s_SetTextVCenter() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextVCenter");
-
- if (StopMAJSpinbox) return;
- CurrentTextItem->VAlign=1;
- RefreshControls();
-}
-
-//========= Vertical alignment bottom
-void DlgTextEdit::s_SetTextBottom() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_SetTextBottom");
-
- if (StopMAJSpinbox) return;
- CurrentTextItem->VAlign=2;
- RefreshControls();
-}
-
-//========= Font family
-void DlgTextEdit::s_ChangeFont(QFont font) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChangeFont");
-
- if (StopMAJSpinbox) return;
- if (font.family()!="") CurrentTextItem->FontName=font.family();
- RefreshControls();
-}
-
-//========= Size font
-void DlgTextEdit::s_ChangeSizeFont(QString size) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChangeSizeFont");
-
- if (StopMAJSpinbox) return;
- if (size!="") CurrentTextItem->FontSize=size.toInt();
- RefreshControls();
-}
-
-//========= Style font
-void DlgTextEdit::s_ChangeStyleFont(int Style) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChangeStyleFont");
-
- if (StopMAJSpinbox) return;
- CurrentTextItem->StyleText=Style;
- RefreshControls();
-}
-
-//========= Plain text edit
-void DlgTextEdit::s_plainTextEditChange() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_plainTextEditChange");
-
- if (StopMAJSpinbox) return;
- CurrentTextItem->Text=ui->plainTextEdit->toPlainText();
- RefreshControls();
-}
-
-//========= Font color
-void DlgTextEdit::s_ChIndexFontColorCombo(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexFontColorCombo");
-
- if (StopMAJSpinbox) return;
- CurrentTextItem->FontColor=ui->FontColorCombo->GetCurrentColor();
- RefreshControls();
-}
-
-//========= Text shadow color
-void DlgTextEdit::s_ChIndexFontShadowColorCombo(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexFontShadowColorCombo");
-
- if (StopMAJSpinbox) return;
- CurrentTextItem->FontShadowColor=ui->StyleShadowColorCombo->GetCurrentColor();
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgTextEdit::s_ChangeBrushTypeCombo(int Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChangeBrushTypeCombo");
-
- if (StopMAJSpinbox) return;
- CurrentTextItem->BackgroundBrush->BrushType=ui->BrushTypeCombo->itemData(Value).toInt();
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgTextEdit::s_IntermPosSliderMoved(int Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_IntermPosSliderMoved");
-
- if (StopMAJSpinbox) return;
- CurrentTextItem->BackgroundBrush->Intermediate=double(Value)/100;
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgTextEdit::s_IntermPosED(int Value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_IntermPosED");
-
- if (StopMAJSpinbox) return;
- CurrentTextItem->BackgroundBrush->Intermediate=double(Value)/100;
- RefreshControls();
-}
-
-//====================================================================================================================
-// Handler for custom color/brush/pattern/gradient combo box index change
-//====================================================================================================================
-
-//========= Pattern shape combo
-void DlgTextEdit::s_ChIndexPatternBrushCombo(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexPatternBrushCombo");
-
- if (StopMAJSpinbox) return;
- CurrentTextItem->BackgroundBrush->PatternType=ui->PatternBrushCombo->GetCurrentBrush()->PatternType;
- RefreshControls();
-}
-
-//========= Gradient shape orientation
-void DlgTextEdit::s_ChIndexGradientOrientationCombo(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexGradientOrientationCombo");
-
- if (StopMAJSpinbox) return;
- CurrentTextItem->BackgroundBrush->GradientOrientation=ui->OrientationCombo->GetCurrentBrush()->GradientOrientation;
- RefreshControls();
-}
-
-//========= Shape/Gradient shape first color
-void DlgTextEdit::s_ChIndexGradientFirstColorCombo(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexGradientFirstColorCombo");
-
- if (StopMAJSpinbox) return;
- CurrentTextItem->BackgroundBrush->ColorD=ui->FirstColorCombo->GetCurrentColor();
- RefreshControls();
-}
-
-//========= Gradient shape last color
-void DlgTextEdit::s_ChIndexGradientFinalColorCombo(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexGradientFinalColorCombo");
-
- if (StopMAJSpinbox) return;
- CurrentTextItem->BackgroundBrush->ColorF=ui->FinalColorCombo->GetCurrentColor();
- RefreshControls();
-}
-
-//========= Gradient shape intermediate color
-void DlgTextEdit::s_ChIndexGradientIntermColorCombo(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexGradientIntermColorCombo");
-
- if (StopMAJSpinbox) return;
- CurrentTextItem->BackgroundBrush->ColorIntermed=ui->IntermColorCombo->GetCurrentColor();
- RefreshControls();
-}
-
-//========= Background image
-void DlgTextEdit::s_ChIndexBackgroundCombo(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_ChIndexBackgroundCombo");
-
- if (StopMAJSpinbox) return;
- CurrentTextItem->BackgroundBrush->BrushImage=ui->BackgroundCombo->GetCurrentBackground();
- RefreshControls();
-}
-
-//====================================================================================================================
-// Handler for style sheet management
-//====================================================================================================================
-
-void DlgTextEdit::s_TextStyleBT() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_TextStyleBT");
-
- QString ActualStyle=CurrentTextItem->GetTextStyle();
- QString Item=StyleTextCollection->PopupCollectionMenu(this,ActualStyle);
- ui->TextStyleBT->setDown(false);
- if (Item!="") CurrentTextItem->ApplyTextStyle(StyleTextCollection->GetStyleDef(Item));
- RefreshControls();
-}
-
-void DlgTextEdit::s_BackgroundStyleBT() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTextEdit::s_BackgroundStyleBT");
-
- QString ActualStyle=CurrentTextItem->GetBackgroundStyle();
- QString Item=StyleTextBackgroundCollection->PopupCollectionMenu(this,ActualStyle);
- ui->BackgroundStyleBT->setDown(false);
- if (Item!="") CurrentTextItem->ApplyBackgroundStyle(StyleTextBackgroundCollection->GetStyleDef(Item));
- RefreshControls();
-}
diff --git a/src/ffDiaporama/DlgTextEdit.h b/src/ffDiaporama/DlgTextEdit.h
deleted file mode 100755
index be4ade7..0000000
--- a/src/ffDiaporama/DlgTextEdit.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef DLGTEXTEDIT_H
-#define DLGTEXTEDIT_H
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-#include "../sharedfiles/_QCustomDialog.h"
-
-// Include some additional standard class
-#include <QDialog>
-#include <QComboBox>
-#include <QFont>
-#include <QString>
-
-// Include some common various class
-#include "../sharedfiles/cBaseApplicationConfig.h"
-
-// Specific inclusions
-#include "_Diaporama.h"
-
-namespace Ui {
- class DlgTextEdit;
-}
-
-class DlgTextEdit : public QCustomDialog {
-Q_OBJECT
-public:
- cCompositionObject *CurrentTextItem; // Text to modify
- cBrushDefinition *CurrentBrush; // Brush to modify
- bool StopMAJSpinbox;
- cStyleCollection *StyleTextCollection; // Link to text style collection
- cStyleCollection *StyleTextBackgroundCollection; // Link to background text style collection
-
- explicit DlgTextEdit(cCompositionObject *CurrentTextItem,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,
- cStyleCollection *StyleTextCollection,cStyleCollection *StyleTextBackgroundCollection,QWidget *parent=0);
- ~DlgTextEdit();
-
- // function to be overloaded
- virtual void DoInitDialog(); // Initialise dialog
- virtual void DoAccept() {/*Nothing to do*/} // Call when user click on Ok button
- virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button
- virtual void PrepareGlobalUndo(); // Initiale Undo
- virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button
-
- // Other
- void RefreshControls();
- void MakeTextStyleIcon(QComboBox *UICB);
-
-private slots:
- void s_ChangeFont(QFont);
- void s_ChangeSizeFont(QString);
- void s_SetBold();
- void s_SetItalic();
- void s_SetUnderline();
- void s_SetTextLeft();
- void s_SetTextCenter();
- void s_SetTextRight();
- void s_SetTextJustif();
- void s_SetTextUp();
- void s_SetTextVCenter();
- void s_SetTextBottom();
- void s_ChangeStyleFont(int);
- void s_plainTextEditChange();
- void s_ChIndexFontColorCombo(int);
- void s_ChIndexFontShadowColorCombo(int);
-
- // Brush part
- void s_ChangeBrushTypeCombo(int);
-
- // Intermediate position for gradient 3 colors
- void s_IntermPosSliderMoved(int);
- void s_IntermPosED(int);
-
- // Handler for custom color/brush/pattern/gradient combo box index change
- void s_ChIndexPatternBrushCombo(int);
- void s_ChIndexGradientOrientationCombo(int);
- void s_ChIndexGradientFirstColorCombo(int);
- void s_ChIndexGradientFinalColorCombo(int);
- void s_ChIndexGradientIntermColorCombo(int);
- void s_ChIndexBackgroundCombo(int);
-
- void s_TextStyleBT();
- void s_BackgroundStyleBT();
-
-signals:
- void RefreshDisplay();
-
-private:
- Ui::DlgTextEdit *ui;
-};
-
-#endif // DLGTEXTEDIT_H
diff --git a/src/ffDiaporama/DlgTextEdit.ui b/src/ffDiaporama/DlgTextEdit.ui
deleted file mode 100755
index 4057856..0000000
--- a/src/ffDiaporama/DlgTextEdit.ui
+++ /dev/null
@@ -1,1441 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>DlgTextEdit</class>
- <widget class="QDialog" name="DlgTextEdit">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>500</width>
- <height>300</height>
- </rect>
- </property>
- <property name="minimumSize">
- <size>
- <width>500</width>
- <height>300</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- </font>
- </property>
- <property name="windowTitle">
- <string>Edit text</string>
- </property>
- <property name="sizeGripEnabled">
- <bool>true</bool>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>4</number>
- </property>
- <property name="margin">
- <number>8</number>
- </property>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <property name="spacing">
- <number>4</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QPlainTextEdit" name="plainTextEdit">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>80</height>
- </size>
- </property>
- <property name="verticalScrollBarPolicy">
- <enum>Qt::ScrollBarAlwaysOn</enum>
- </property>
- <property name="horizontalScrollBarPolicy">
- <enum>Qt::ScrollBarAlwaysOn</enum>
- </property>
- <property name="documentTitle">
- <string notr="true"/>
- </property>
- <property name="plainText">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QScrollArea" name="scrollArea">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>240</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>240</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="verticalScrollBarPolicy">
- <enum>Qt::ScrollBarAlwaysOn</enum>
- </property>
- <property name="horizontalScrollBarPolicy">
- <enum>Qt::ScrollBarAlwaysOff</enum>
- </property>
- <property name="widgetResizable">
- <bool>true</bool>
- </property>
- <widget class="QWidget" name="scrollAreaWidgetContents">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>223</width>
- <height>430</height>
- </rect>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>220</width>
- <height>0</height>
- </size>
- </property>
- <layout class="QGridLayout" name="gridLayout_2">
- <property name="horizontalSpacing">
- <number>4</number>
- </property>
- <property name="verticalSpacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>4</number>
- </property>
- <item row="3" column="1">
- <widget class="QFontComboBox" name="fontStyleCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select font family</string>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_2">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/font.png</pixmap>
- </property>
- </widget>
- </item>
- <item row="0" column="0" colspan="2">
- <widget class="QLabel" name="label">
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>Properties for all shots</string>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="label_6">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/TextStyle.png</pixmap>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_12">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QToolButton" name="bold">
- <property name="minimumSize">
- <size>
- <width>22</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>22</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Set text to Bold</string>
- </property>
- <property name="text">
- <string notr="true">...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/text_bold.png</normaloff>:/img/text_bold.png</iconset>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- <property name="checked">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="Italic">
- <property name="minimumSize">
- <size>
- <width>22</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>22</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Set text to Italic</string>
- </property>
- <property name="text">
- <string notr="true">...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/text_italic.png</normaloff>:/img/text_italic.png</iconset>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="Souligne">
- <property name="minimumSize">
- <size>
- <width>22</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>22</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Set text to Underline</string>
- </property>
- <property name="text">
- <string notr="true">...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/text_underline.png</normaloff>:/img/text_underline.png</iconset>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>0</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QComboBox" name="fontSize">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select font size</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="cCustomColorComboBox" name="FontColorCombo">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select font color</string>
- </property>
- <property name="editable">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="9" column="0">
- <widget class="QLabel" name="label_3">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/Alignment.png</pixmap>
- </property>
- </widget>
- </item>
- <item row="9" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QToolButton" name="textLeft">
- <property name="minimumSize">
- <size>
- <width>22</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>22</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Align left</string>
- </property>
- <property name="text">
- <string notr="true">...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/text_align_left.png</normaloff>:/img/text_align_left.png</iconset>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- <property name="autoExclusive">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="textCenter">
- <property name="minimumSize">
- <size>
- <width>22</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>22</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Align center</string>
- </property>
- <property name="text">
- <string notr="true">...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/text_align_center.png</normaloff>:/img/text_align_center.png</iconset>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- <property name="autoExclusive">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="textJustif">
- <property name="minimumSize">
- <size>
- <width>22</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>22</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Align justify</string>
- </property>
- <property name="text">
- <string notr="true">...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/text_align_justif.png</normaloff>:/img/text_align_justif.png</iconset>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- <property name="autoExclusive">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="textRight">
- <property name="minimumSize">
- <size>
- <width>22</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>22</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Align right</string>
- </property>
- <property name="text">
- <string notr="true">...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/text_align_right.png</normaloff>:/img/text_align_right.png</iconset>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- <property name="autoExclusive">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_3">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>0</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QToolButton" name="textUp">
- <property name="minimumSize">
- <size>
- <width>22</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>22</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Align top</string>
- </property>
- <property name="text">
- <string notr="true">...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/text_align_vup.png</normaloff>:/img/text_align_vup.png</iconset>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- <property name="autoExclusive">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="textVCenter">
- <property name="minimumSize">
- <size>
- <width>22</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>22</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Align in the middle</string>
- </property>
- <property name="text">
- <string notr="true">...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/text_align_vcenter.png</normaloff>:/img/text_align_vcenter.png</iconset>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- <property name="autoExclusive">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="textBottom">
- <property name="minimumSize">
- <size>
- <width>22</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>22</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Align bottom</string>
- </property>
- <property name="text">
- <string notr="true">...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/text_align_vbottom.png</normaloff>:/img/text_align_vbottom.png</iconset>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- <property name="checked">
- <bool>false</bool>
- </property>
- <property name="autoExclusive">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="12" column="0">
- <widget class="QLabel" name="BrushTypeLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/color_fill.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="12" column="1">
- <widget class="QComboBox" name="BrushTypeCombo">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>175</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>175</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Define the background brush type for the shape</string>
- </property>
- </widget>
- </item>
- <item row="13" column="0">
- <widget class="QLabel" name="ColorLabel1">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/color.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="13" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_3">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="cCustomColorComboBox" name="FirstColorCombo">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Define the color (or first color for a gradient brush)</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="cCustomColorComboBox" name="FinalColorCombo">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Define the second gradient brush color </string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="cCustomColorComboBox" name="IntermColorCombo">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Define the third gradient brush color </string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="ColorLabel2">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="14" column="0">
- <widget class="QLabel" name="PatternLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/pattern_fill.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="14" column="1">
- <widget class="cCustomBrushComboBox" name="PatternBrushCombo">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select the pattern</string>
- </property>
- <property name="editable">
- <bool>false</bool>
- </property>
- <property name="iconSize">
- <size>
- <width>64</width>
- <height>16</height>
- </size>
- </property>
- </widget>
- </item>
- <item row="15" column="0">
- <widget class="QLabel" name="IntermPosLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/Distance.png</pixmap>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="15" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_14">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="cGradientOrientationComboBox" name="OrientationCombo">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Define orientation of the gradient brush</string>
- </property>
- <property name="iconSize">
- <size>
- <width>64</width>
- <height>16</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="OrientationSpacer">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSlider" name="IntermPosSlider">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Define position of the second color in the gradient brush</string>
- </property>
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="value">
- <number>10</number>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="IntermPosED">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>52</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>52</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Define position of the second color in the gradient brush</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="suffix">
- <string notr="true">%</string>
- </property>
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="value">
- <number>10</number>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="16" column="0">
- <layout class="QVBoxLayout" name="verticalLayout_2">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="ImageLibraryLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/object_image.png</pixmap>
- </property>
- <property name="scaledContents">
- <bool>true</bool>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="ImageLibraryLabel2">
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="16" column="1">
- <widget class="cBackgroundComboBox" name="BackgroundCombo">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>140</width>
- <height>76</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>140</width>
- <height>76</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select an image among that present in the library</string>
- </property>
- </widget>
- </item>
- <item row="17" column="0">
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="10" column="0" colspan="2">
- <widget class="QLabel" name="BackgroundLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>32</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>32</height>
- </size>
- </property>
- <property name="font">
- <font>
- <weight>50</weight>
- <italic>true</italic>
- <bold>false</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Block background style :</string>
- </property>
- </widget>
- </item>
- <item row="11" column="0">
- <widget class="QToolButton" name="BackgroundStyleBT">
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/db_menu.png</normaloff>:/img/db_menu.png</iconset>
- </property>
- <property name="arrowType">
- <enum>Qt::NoArrow</enum>
- </property>
- </widget>
- </item>
- <item row="11" column="1">
- <widget class="QLabel" name="BackgroundStyleED">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string notr="true">TextLabel</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QToolButton" name="TextStyleBT">
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/db_menu.png</normaloff>:/img/db_menu.png</iconset>
- </property>
- <property name="arrowType">
- <enum>Qt::NoArrow</enum>
- </property>
- </widget>
- </item>
- <item row="1" column="0" colspan="2">
- <widget class="QLabel" name="label_5">
- <property name="font">
- <font>
- <weight>50</weight>
- <italic>true</italic>
- <bold>false</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Texte style :</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QLabel" name="TextStyleED">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="text">
- <string notr="true">TextLabel</string>
- </property>
- </widget>
- </item>
- <item row="5" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_4">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QComboBox" name="fontEffectCB">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select font effect (outerline, shadow)</string>
- </property>
- <property name="styleSheet">
- <string notr="true">QComboBox QAbstractItemView {
-background: #ffffff;
-color: #000000;
-}</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="cCustomColorComboBox" name="StyleShadowColorCombo">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>48</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select outerline/shadow color</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="5" column="0">
- <widget class="QLabel" name="label_4">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/Shadow.png</pixmap>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="Line" name="line">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_5">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="OKBT">
- <property name="toolTip">
- <string>Accept modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Ok</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="CancelBt">
- <property name="toolTip">
- <string>Cancel modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Cancel</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="HelpBT">
- <property name="toolTip">
- <string>Open help page describing this dialog box</string>
- </property>
- <property name="text">
- <string>&Help</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
- </property>
- <property name="shortcut">
- <string>F1</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>cCustomColorComboBox</class>
- <extends>QComboBox</extends>
- <header>cCustomComboBox.h</header>
- </customwidget>
- <customwidget>
- <class>cCustomBrushComboBox</class>
- <extends>QComboBox</extends>
- <header>cCustomComboBox.h</header>
- </customwidget>
- <customwidget>
- <class>cGradientOrientationComboBox</class>
- <extends>QComboBox</extends>
- <header>cCustomComboBox.h</header>
- </customwidget>
- <customwidget>
- <class>cBackgroundComboBox</class>
- <extends>QComboBox</extends>
- <header>cCustomComboBox.h</header>
- </customwidget>
- </customwidgets>
- <tabstops>
- <tabstop>fontSize</tabstop>
- <tabstop>FontColorCombo</tabstop>
- <tabstop>textLeft</tabstop>
- <tabstop>textCenter</tabstop>
- <tabstop>textJustif</tabstop>
- <tabstop>textRight</tabstop>
- <tabstop>textUp</tabstop>
- <tabstop>textVCenter</tabstop>
- <tabstop>textBottom</tabstop>
- <tabstop>OKBT</tabstop>
- <tabstop>CancelBt</tabstop>
- <tabstop>HelpBT</tabstop>
- </tabstops>
- <resources/>
- <connections/>
-</ui>
diff --git a/src/ffDiaporama/DlgTransition/DlgTransitionProperties.cpp b/src/ffDiaporama/DlgTransition/DlgTransitionProperties.cpp
new file mode 100755
index 0000000..ca29207
--- /dev/null
+++ b/src/ffDiaporama/DlgTransition/DlgTransitionProperties.cpp
@@ -0,0 +1,362 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "DlgTransitionProperties.h"
+#include "ui_DlgTransitionProperties.h"
+
+#include <QStyledItemDelegate>
+
+//======================================
+// Specific defines for this dialog box
+//======================================
+#define ROWHEIGHT 80
+#define DECAL 10
+
+int CurrentSelectRow,CurrentSelectCol;
+
+class BackgroundDelegate : public QStyledItemDelegate {
+public:
+ explicit BackgroundDelegate(QObject *parent = 0):QStyledItemDelegate(parent) {}
+
+ void paint(QPainter *painter, const QStyleOptionViewItem &option,const QModelIndex &index) const {
+ if ((index.row()==CurrentSelectRow)&&(index.column()==CurrentSelectCol)) painter->fillRect(option.rect,Qt::blue); else {
+ QVariant background = index.data(Qt::BackgroundRole);
+ if (background.canConvert<QBrush>()) painter->fillRect(option.rect, background.value<QBrush>());
+ else painter->fillRect(option.rect,Qt::white);
+ }
+ }
+};
+
+//====================================================================================================================
+
+DlgTransitionProperties::DlgTransitionProperties(cDiaporamaObject *TheDiaporamaObject,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent):
+ QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent),ui(new Ui::DlgTransitionProperties) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTransitionProperties::DlgTransitionProperties");
+ ui->setupUi(this);
+ OkBt =ui->OKBT;
+ CancelBt =ui->CancelBt;
+ HelpBt =ui->HelpBT;
+ DiaporamaObject =TheDiaporamaObject;
+}
+
+//====================================================================================================================
+
+DlgTransitionProperties::~DlgTransitionProperties() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTransitionProperties::~DlgTransitionProperties");
+ delete ui;
+ if (PreviousFrame) {
+ delete PreviousFrame;
+ PreviousFrame=NULL;
+ }
+}
+
+//====================================================================================================================
+
+void DlgTransitionProperties::DoInitDialog() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTransitionProperties::DoInitDialog");
+
+ ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","None and basic"), QVariant(TRANSITIONFAMILLY_BASE));
+ ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Zoom"), QVariant(TRANSITIONFAMILLY_ZOOMINOUT));
+ ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Slide"), QVariant(TRANSITIONFAMILLY_SLIDE));
+ ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Push"), QVariant(TRANSITIONFAMILLY_PUSH));
+ ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Deform"), QVariant(TRANSITIONFAMILLY_DEFORM));
+ ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Luma-Bar"), QVariant(TRANSITIONFAMILLY_LUMA_BAR));
+ ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Luma-Box"), QVariant(TRANSITIONFAMILLY_LUMA_BOX));
+ ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Luma-Center"), QVariant(TRANSITIONFAMILLY_LUMA_CENTER));
+ ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Luma-Checker"), QVariant(TRANSITIONFAMILLY_LUMA_CHECKER));
+ ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Luma-Clock"), QVariant(TRANSITIONFAMILLY_LUMA_CLOCK));
+ ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Luma-Snake"), QVariant(TRANSITIONFAMILLY_LUMA_SNAKE));
+
+ // Init internal values
+ PreviousFrame=NULL;
+ AnimationTime=0;
+ ui->TransitionTable->setItemDelegate(new BackgroundDelegate(this));
+ MaxItem=0;
+ H=ROWHEIGHT;
+ W=DiaporamaObject->Parent->GetWidthForHeight(ROWHEIGHT);
+ for (int i=0;i<ui->TransitionTable->columnCount();i++) ui->TransitionTable->setColumnWidth(i,W+DECAL*2);
+
+ // Save Object settings before force a transition
+ TransitionFamilly =DiaporamaObject->TransitionFamilly;
+ TransitionSubType =DiaporamaObject->TransitionSubType;
+ TransitionDuration=DiaporamaObject->TransitionDuration;
+
+ //=================> Init PreviousFrame object
+
+ // Change Object settings to force a transition
+ DiaporamaObject->TransitionFamilly =1;
+ DiaporamaObject->TransitionSubType =0;
+ DiaporamaObject->TransitionDuration=TransitionDuration;
+
+ // Retrieve time information
+ TimePosition=DiaporamaObject->Parent->GetObjectStartPosition(DiaporamaObject->Parent->GetObjectIndex(DiaporamaObject));
+
+ // Retrieve object information and create PreviousFrame
+ PreviousFrame=new cDiaporamaObjectInfo(NULL,TimePosition,DiaporamaObject->Parent,double(1000)/DiaporamaObject->Parent->ApplicationConfig->PreviewFPS);
+ DiaporamaObject->Parent->LoadSources(PreviousFrame,double(H)/double(1080),W,H,true,true); // Load background and image
+
+ // Set old values
+ DiaporamaObject->TransitionFamilly =TransitionFamilly;
+ DiaporamaObject->TransitionSubType =TransitionSubType;
+ DiaporamaObject->TransitionDuration=TransitionDuration;
+
+ //=================> Init controls
+
+ QString Duration=QString("%1").arg(double(TransitionDuration)/double(1000),0,'f');
+ while (Duration.endsWith('0')) Duration=Duration.left(Duration.length()-1);
+ while (Duration.endsWith('.')) Duration=Duration.left(Duration.length()-1);
+ ui->TransitionDurationCB->setCurrentIndex(ui->TransitionDurationCB->findText(Duration));
+
+ for (int i=0;(i<ui->TransitionTypeCB->count());i++) if (ui->TransitionTypeCB->itemData(i).toInt()==TransitionFamilly) {
+ ui->TransitionTypeCB->setCurrentIndex(i);
+ s_ChTransitionTypeCB(i);
+ }
+
+ //=================> Define handlers
+
+ connect(ui->TransitionTypeCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChTransitionTypeCB(int)));
+ connect(ui->TransitionTable,SIGNAL(currentCellChanged(int,int,int,int)),this,SLOT(s_TableCellChanged(int,int,int,int)));
+ connect(ui->TransitionDurationCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChTransitionDurationCB(int)));
+ connect(&Timer,SIGNAL(timeout()),this,SLOT(s_TimerEvent()));
+}
+
+//====================================================================================================================
+// Initiale Undo
+
+void DlgTransitionProperties::PrepareGlobalUndo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTransitionProperties::PrepareGlobalUndo");
+ // Save object before modification for cancel button
+ Undo=new QDomDocument(APPLICATION_NAME);
+ QDomElement root=Undo->createElement("UNDO-DLG"); // Create xml document and root
+ DiaporamaObject->SaveToXML(root,"UNDO-DLG-OBJECT",DiaporamaObject->Parent->ProjectFileName,true); // Save object
+ Undo->appendChild(root); // Add object to xml document
+}
+
+//====================================================================================================================
+// Apply Undo : call when user click on Cancel button
+
+void DlgTransitionProperties::DoGlobalUndo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgMusicProperties::DoGlobalUndo");
+ QDomElement root=Undo->documentElement();
+ if (root.tagName()=="UNDO-DLG") DiaporamaObject->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL);
+}
+
+//====================================================================================================================
+
+void DlgTransitionProperties::DoAccept() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTransitionProperties::DoAccept");
+
+ DiaporamaObject->TransitionFamilly =ui->TransitionTypeCB->itemData(ui->TransitionTypeCB->currentIndex()).toInt();
+ DiaporamaObject->TransitionSubType =ui->TransitionTable->currentRow()*ui->TransitionTable->columnCount()+ui->TransitionTable->currentColumn();
+ DiaporamaObject->TransitionDuration=int(ui->TransitionDurationCB->currentText().toDouble()*double(1000));
+}
+
+//====================================================================================================================
+
+void DlgTransitionProperties::s_ChTransitionTypeCB(int NewValue) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTransitionProperties::s_ChTransitionTypeCB");
+ Timer.stop();
+ if (PreviousFrame==NULL) return; // Nothing to do if previsous frame is not initialize
+
+ // Convert item number to transition familly
+ NewValue=ui->TransitionTypeCB->itemData(ui->TransitionTypeCB->currentIndex()).toInt();
+
+ ui->TransitionTable->setUpdatesEnabled(false);
+
+ // clear table
+ while (ui->TransitionTable->rowCount()>0) ui->TransitionTable->removeRow(0);
+
+ MaxItem=0;
+ switch (NewValue) {
+ case TRANSITIONFAMILLY_BASE : MaxItem=TRANSITIONMAXSUBTYPE_BASE; break;
+ case TRANSITIONFAMILLY_ZOOMINOUT : MaxItem=TRANSITIONMAXSUBTYPE_ZOOMINOUT; break;
+ case TRANSITIONFAMILLY_PUSH : MaxItem=TRANSITIONMAXSUBTYPE_PUSH; break;
+ case TRANSITIONFAMILLY_SLIDE : MaxItem=TRANSITIONMAXSUBTYPE_SLIDE; break;
+ case TRANSITIONFAMILLY_DEFORM : MaxItem=TRANSITIONMAXSUBTYPE_DEFORM; break;
+ case TRANSITIONFAMILLY_LUMA_BAR : MaxItem=LumaList_Bar.List.count(); break;
+ case TRANSITIONFAMILLY_LUMA_BOX : MaxItem=LumaList_Box.List.count(); break;
+ case TRANSITIONFAMILLY_LUMA_CENTER : MaxItem=LumaList_Center.List.count(); break;
+ case TRANSITIONFAMILLY_LUMA_CHECKER: MaxItem=LumaList_Checker.List.count(); break;
+ case TRANSITIONFAMILLY_LUMA_CLOCK : MaxItem=LumaList_Clock.List.count(); break;
+ case TRANSITIONFAMILLY_LUMA_SNAKE : MaxItem=LumaList_Snake.List.count(); break;
+ default : MaxItem=0; break;
+ }
+
+ AnimationTime=0;
+
+ // Adjust TransitionFamilly
+ PreviousFrame->TransitionFamilly=NewValue;
+ // Create a frame object base on PreviousFrame
+ cDiaporamaObjectInfo *Frame=new cDiaporamaObjectInfo(PreviousFrame);
+ // Ajdust Transition PCT done
+ Frame->TransitionPCTDone =double(AnimationTime)/double(Frame->TransitionDuration);
+
+ // Now add items
+ int CurCol=0;
+ ui->TransitionTable->insertRow(ui->TransitionTable->rowCount()); // Create first row
+ ui->TransitionTable->setRowHeight(ui->TransitionTable->rowCount()-1,ROWHEIGHT+DECAL*2);
+
+ for (int i=0;i<MaxItem;i++) {
+ // Adjust transition subtype
+ Frame->TransitionSubType=i;
+ // Render images
+ if (Frame->RenderedImage!=NULL) {
+ delete Frame->RenderedImage;
+ Frame->RenderedImage=NULL;
+ }
+ DiaporamaObject->Parent->DoAssembly(Frame,W,H);
+
+ // Create a label object to handle the bitmap
+ QLabel *Widget=new QLabel();
+ Widget->setAlignment(Qt::AlignCenter);
+ Widget->setPixmap(QPixmap().fromImage(*Frame->RenderedImage));
+ if (CurCol>=ui->TransitionTable->columnCount()) {
+ ui->TransitionTable->insertRow(ui->TransitionTable->rowCount());
+ ui->TransitionTable->setRowHeight(ui->TransitionTable->rowCount()-1,ROWHEIGHT+DECAL*2);
+ CurCol=0;
+ }
+ ui->TransitionTable->setCellWidget(ui->TransitionTable->rowCount()-1,CurCol,Widget);
+ CurCol++;
+ }
+ // Free buffers
+ delete Frame;
+
+ ui->TransitionTable->setCurrentCell(0,0,QItemSelectionModel::ClearAndSelect);
+ ui->TransitionTable->setUpdatesEnabled(true);
+
+ // Select a cell
+ if (NewValue==TransitionFamilly) {
+ CurrentSelectRow=TransitionSubType/ui->TransitionTable->columnCount();
+ CurrentSelectCol=TransitionSubType % ui->TransitionTable->columnCount();
+ ui->TransitionTable->setCurrentCell(CurrentSelectRow,CurrentSelectCol,QItemSelectionModel::ClearAndSelect);
+ }
+
+ Timer.start(double(1000)/DiaporamaObject->Parent->ApplicationConfig->PreviewFPS); // Start timer for animation
+}
+
+//====================================================================================================================
+// Change of transition duration : Reload frame with new value
+//====================================================================================================================
+
+void DlgTransitionProperties::s_ChTransitionDurationCB(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTransitionProperties::s_ChTransitionDurationCB");
+ // Stop timer
+ Timer.stop();
+
+ // Clear PreviousFrame before create a new one
+ if (PreviousFrame!=NULL) {
+ delete PreviousFrame;
+ PreviousFrame=NULL;
+ }
+
+ // Change Object settings to force a transition
+ DiaporamaObject->TransitionFamilly =1;
+ DiaporamaObject->TransitionSubType =0;
+ DiaporamaObject->TransitionDuration=int(ui->TransitionDurationCB->currentText().toDouble()*double(1000));
+
+ // Retrieve time information
+ TimePosition=DiaporamaObject->Parent->GetObjectStartPosition(DiaporamaObject->Parent->GetObjectIndex(DiaporamaObject));
+
+ // Retrieve object information and create PreviousFrame
+ PreviousFrame=new cDiaporamaObjectInfo(NULL,TimePosition,DiaporamaObject->Parent,double(1000)/DiaporamaObject->Parent->ApplicationConfig->PreviewFPS);
+ DiaporamaObject->Parent->LoadSources(PreviousFrame,double(H)/double(1080),W,H,true,true); // Load background and image
+
+ // Set old values
+ DiaporamaObject->TransitionFamilly =TransitionFamilly;
+ DiaporamaObject->TransitionSubType =TransitionSubType;
+ DiaporamaObject->TransitionDuration=TransitionDuration;
+
+ // Reset AnimationTime
+ AnimationTime=0;
+
+ // Adjust Transition
+ PreviousFrame->TransitionFamilly=ui->TransitionTypeCB->itemData(ui->TransitionTypeCB->currentIndex()).toInt();
+ PreviousFrame->TransitionSubType=ui->TransitionTable->currentRow()*ui->TransitionTable->columnCount()+ui->TransitionTable->currentColumn();
+ PreviousFrame->TransitionDuration=int(ui->TransitionDurationCB->currentText().toDouble()*double(1000));
+
+ // Restart timer
+ Timer.start(double(1000)/DiaporamaObject->Parent->ApplicationConfig->PreviewFPS); // Re-start timer for animation
+}
+
+//====================================================================================================================
+// Timer event : update pixmap in the table
+//====================================================================================================================
+void DlgTransitionProperties::s_TimerEvent() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTransitionProperties::s_TimerEvent");
+ // Update all pixmap in the table
+ int CurCol=0;
+ int CurRow=0;
+ AnimationTime+=double(1000)/DiaporamaObject->Parent->ApplicationConfig->PreviewFPS;
+ if (AnimationTime>int(ui->TransitionDurationCB->currentText().toDouble()*double(1000))) AnimationTime=0;
+
+ // Create a frame object base on PreviousFrame
+ cDiaporamaObjectInfo *Frame=new cDiaporamaObjectInfo(PreviousFrame);
+ // Ajdust Transition PCT done
+ Frame->TransitionPCTDone=double(AnimationTime)/double(Frame->TransitionDuration);
+ Frame->TransitionPCTEnd =double(AnimationTime+double(1000)/DiaporamaObject->Parent->ApplicationConfig->PreviewFPS)/double(Frame->TransitionDuration);
+
+ for (int i=0;i<MaxItem;i++) {
+ // Adjust transition subtype
+ Frame->TransitionSubType=i;
+ // Render images
+ if (Frame->RenderedImage!=NULL) {
+ delete Frame->RenderedImage;
+ Frame->RenderedImage=NULL;
+ }
+ DiaporamaObject->Parent->DoAssembly(Frame,W,H);
+
+ // Add icon in the bottom left corner
+ QPainter P;
+ QImage *Img=IconList.GetIcon(Frame->TransitionFamilly,Frame->TransitionSubType);
+ P.begin(Frame->RenderedImage);
+ P.drawImage(QRect(0,Frame->RenderedImage->height()-32,32,32),*Img);
+ P.end();
+ delete Img;
+
+ // Create a label object to handle the bitmap
+ QLabel *Widget=(QLabel *)ui->TransitionTable->cellWidget(CurRow,CurCol);
+ if (Widget) Widget->setPixmap(QPixmap().fromImage(*Frame->RenderedImage));
+
+ // Go to next image
+ CurCol++;
+ if (CurCol>=ui->TransitionTable->columnCount()) {
+ CurCol=0;
+ CurRow++;
+ }
+ }
+ // Free buffers
+ delete Frame;
+}
+
+//====================================================================================================================
+// Change of selected cell in the table
+//====================================================================================================================
+void DlgTransitionProperties::s_TableCellChanged(int currentRow,int currentColumn,int previousRow,int previousColumn) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTransitionProperties::s_TableCellChanged");
+ int NewCell=currentRow*ui->TransitionTable->columnCount()+currentColumn;
+ if (NewCell>=MaxItem) {
+ CurrentSelectRow=previousRow;
+ CurrentSelectCol=previousColumn;
+ ui->TransitionTable->setCurrentCell(previousRow,previousColumn,QItemSelectionModel::ClearAndSelect);
+ } else {
+ CurrentSelectRow=currentRow;
+ CurrentSelectCol=currentColumn;
+ }
+}
diff --git a/src/ffDiaporama/DlgTransition/DlgTransitionProperties.h b/src/ffDiaporama/DlgTransition/DlgTransitionProperties.h
new file mode 100755
index 0000000..8856c38
--- /dev/null
+++ b/src/ffDiaporama/DlgTransition/DlgTransitionProperties.h
@@ -0,0 +1,70 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef DLGTRANSITIONPROPERTIES_H
+#define DLGTRANSITIONPROPERTIES_H
+
+// Basic inclusions (common to all files)
+#include "../../engine/_GlobalDefines.h"
+#include "../../engine/_QCustomDialog.h"
+
+// Specific inclusions
+#include "../_Diaporama.h"
+
+namespace Ui {
+ class DlgTransitionProperties;
+}
+
+class DlgTransitionProperties : public QCustomDialog {
+Q_OBJECT
+public:
+ cDiaporamaObject *DiaporamaObject;
+ QTimer Timer;
+ int MaxItem;
+ cDiaporamaObjectInfo *PreviousFrame;
+ int W,H;
+ int TimePosition;
+ int AnimationTime;
+ // Previous values
+ int TransitionFamilly;
+ int TransitionSubType;
+ int TransitionDuration;
+
+ explicit DlgTransitionProperties(cDiaporamaObject *TheDiaporamaObject,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent=0);
+ ~DlgTransitionProperties();
+
+ // function to be overloaded
+ virtual void DoInitDialog(); // Initialise dialog
+ virtual void DoAccept(); // Call when user click on Ok button
+ virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button
+ virtual void PrepareGlobalUndo(); // Initiale Undo
+ virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button
+
+private slots:
+ void s_ChTransitionTypeCB(int);
+ void s_TimerEvent();
+ void s_TableCellChanged(int,int,int,int);
+ void s_ChTransitionDurationCB(int);
+
+private:
+ Ui::DlgTransitionProperties *ui;
+};
+
+#endif // DLGTRANSITIONPROPERTIES_H
diff --git a/src/ffDiaporama/DlgTransition/DlgTransitionProperties.ui b/src/ffDiaporama/DlgTransition/DlgTransitionProperties.ui
new file mode 100755
index 0000000..e6e155b
--- /dev/null
+++ b/src/ffDiaporama/DlgTransition/DlgTransitionProperties.ui
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DlgTransitionProperties</class>
+ <widget class="QDialog" name="DlgTransitionProperties">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>838</width>
+ <height>537</height>
+ </rect>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="windowTitle">
+ <string>Transition properties</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <property name="margin">
+ <number>8</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Transition type :</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="TransitionTypeCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip">
+ <string>Select a transition family</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Duration :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="TransitionDurationCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>50</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Define the animation duration</string>
+ </property>
+ <item>
+ <property name="text">
+ <string notr="true">0.5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">1</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">2</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">3</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">4</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">6</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">8</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">10</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>seconde(s)</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QTableWidget" name="TransitionTable">
+ <property name="editTriggers">
+ <set>QAbstractItemView::NoEditTriggers</set>
+ </property>
+ <property name="showDropIndicator" stdset="0">
+ <bool>false</bool>
+ </property>
+ <property name="dragDropOverwriteMode">
+ <bool>false</bool>
+ </property>
+ <property name="selectionMode">
+ <enum>QAbstractItemView::SingleSelection</enum>
+ </property>
+ <property name="showGrid">
+ <bool>false</bool>
+ </property>
+ <property name="gridStyle">
+ <enum>Qt::NoPen</enum>
+ </property>
+ <property name="wordWrap">
+ <bool>false</bool>
+ </property>
+ <property name="cornerButtonEnabled">
+ <bool>false</bool>
+ </property>
+ <attribute name="horizontalHeaderVisible">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="horizontalHeaderHighlightSections">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="verticalHeaderVisible">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="verticalHeaderHighlightSections">
+ <bool>false</bool>
+ </attribute>
+ <column>
+ <property name="text">
+ <string notr="true">0</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string notr="true">1</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string notr="true">2</string>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string notr="true">3</string>
+ </property>
+ </column>
+ </widget>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="OKBT">
+ <property name="toolTip">
+ <string>Accept modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Ok</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="CancelBt">
+ <property name="toolTip">
+ <string>Cancel modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Cancel</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="HelpBT">
+ <property name="toolTip">
+ <string>Open help page describing this dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Help</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>F1</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="../../../RSCffDiaporama.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/ffDiaporama/DlgTransitionProperties.cpp b/src/ffDiaporama/DlgTransitionProperties.cpp
deleted file mode 100755
index 98ca64e..0000000
--- a/src/ffDiaporama/DlgTransitionProperties.cpp
+++ /dev/null
@@ -1,383 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "DlgTransitionProperties.h"
-#include "ui_DlgTransitionProperties.h"
-#include "mainwindow.h"
-
-#include <QStyledItemDelegate>
-
-//======================================
-// Specific defines for this dialog box
-//======================================
-#define ROWHEIGHT 80
-#define DECAL 10
-
-int CurrentSelectRow,CurrentSelectCol;
-
-class BackgroundDelegate : public QStyledItemDelegate {
-public:
- explicit BackgroundDelegate(QObject *parent = 0):QStyledItemDelegate(parent) {}
-
- void paint(QPainter *painter, const QStyleOptionViewItem &option,const QModelIndex &index) const {
- if ((index.row()==CurrentSelectRow)&&(index.column()==CurrentSelectCol)) painter->fillRect(option.rect,Qt::blue); else {
- QVariant background = index.data(Qt::BackgroundRole);
- if (background.canConvert<QBrush>()) painter->fillRect(option.rect, background.value<QBrush>());
- else painter->fillRect(option.rect,Qt::white);
- }
- }
-};
-
-//====================================================================================================================
-
-DlgTransitionProperties::DlgTransitionProperties(cDiaporamaObject *DiaporamaObject,bool IsBackgroundTransition,QWidget *parent):QDialog(parent),ui(new Ui::DlgTransitionProperties) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTransitionProperties::DlgTransitionProperties");
- ui->setupUi(this);
- this->DiaporamaObject =DiaporamaObject;
- this->IsBackgroundTransition=IsBackgroundTransition;
-
- setWindowFlags((windowFlags()|Qt::CustomizeWindowHint|Qt::WindowSystemMenuHint|Qt::WindowMaximizeButtonHint)&(~Qt::WindowMinimizeButtonHint));
-
- // Save object before modification for cancel button
- Undo=new QDomDocument(APPLICATION_NAME);
- QDomElement root=Undo->createElement("UNDO-DLG"); // Create xml document and root
- DiaporamaObject->SaveToXML(root,"UNDO-DLG-OBJECT",DiaporamaObject->Parent->ProjectFileName,true); // Save object
- Undo->appendChild(root); // Add object to xml document
-
- ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","None and basic"), QVariant(TRANSITIONFAMILLY_BASE));
- ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Zoom"), QVariant(TRANSITIONFAMILLY_ZOOMINOUT));
- ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Slide"), QVariant(TRANSITIONFAMILLY_SLIDE));
- ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Push"), QVariant(TRANSITIONFAMILLY_PUSH));
- ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Deform"), QVariant(TRANSITIONFAMILLY_DEFORM));
- ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Luma-Bar"), QVariant(TRANSITIONFAMILLY_LUMA_BAR));
- ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Luma-Box"), QVariant(TRANSITIONFAMILLY_LUMA_BOX));
- ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Luma-Center"), QVariant(TRANSITIONFAMILLY_LUMA_CENTER));
- ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Luma-Checker"), QVariant(TRANSITIONFAMILLY_LUMA_CHECKER));
- ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Luma-Clock"), QVariant(TRANSITIONFAMILLY_LUMA_CLOCK));
- ui->TransitionTypeCB->addItem(QApplication::translate("DlgTransitionProperties","Luma-Snake"), QVariant(TRANSITIONFAMILLY_LUMA_SNAKE));
-
- // Init internal values
- PreviousFrame=NULL;
- AnimationTime=0;
- ui->TransitionTable->setItemDelegate(new BackgroundDelegate(this));
- MaxItem=0;
- H=ROWHEIGHT;
- W=DiaporamaObject->Parent->GetWidthForHeight(ROWHEIGHT);
- for (int i=0;i<ui->TransitionTable->columnCount();i++) ui->TransitionTable->setColumnWidth(i,W+DECAL*2);
-
- // Save Object settings before force a transition
- TransitionFamilly =DiaporamaObject->TransitionFamilly;
- TransitionSubType =DiaporamaObject->TransitionSubType;
- TransitionDuration=DiaporamaObject->TransitionDuration;
-
- //=================> Init PreviousFrame object
-
- // Change Object settings to force a transition
- DiaporamaObject->TransitionFamilly =1;
- DiaporamaObject->TransitionSubType =0;
- DiaporamaObject->TransitionDuration=TransitionDuration;
-
- // Retrieve time information
- TimePosition=DiaporamaObject->Parent->GetObjectStartPosition(DiaporamaObject->Parent->GetObjectIndex(DiaporamaObject));
-
- // Retrieve object informations and create PreviousFrame
- PreviousFrame=new cDiaporamaObjectInfo(NULL,TimePosition,DiaporamaObject->Parent,double(1000)/DiaporamaObject->Parent->ApplicationConfig->PreviewFPS);
- DiaporamaObject->Parent->LoadSources(PreviousFrame,double(H)/double(1080),W,H,true,true); // Load background and image
-
- // Set old values
- DiaporamaObject->TransitionFamilly =TransitionFamilly;
- DiaporamaObject->TransitionSubType =TransitionSubType;
- DiaporamaObject->TransitionDuration=TransitionDuration;
-
- //=================> Init controls
-
- QString Duration=QString("%1").arg(double(TransitionDuration)/double(1000),0,'f');
- while (Duration.endsWith('0')) Duration=Duration.left(Duration.length()-1);
- while (Duration.endsWith('.')) Duration=Duration.left(Duration.length()-1);
- ui->TransitionDurationCB->setCurrentIndex(ui->TransitionDurationCB->findText(Duration));
-
- for (int i=0;(i<ui->TransitionTypeCB->count());i++) if (ui->TransitionTypeCB->itemData(i).toInt()==TransitionFamilly) {
- ui->TransitionTypeCB->setCurrentIndex(i);
- s_ChTransitionTypeCB(i);
- }
-
- //=================> Define handlers
-
- connect(ui->TransitionTypeCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChTransitionTypeCB(int)));
- connect(ui->TransitionTable,SIGNAL(currentCellChanged(int,int,int,int)),this,SLOT(s_TableCellChanged(int,int,int,int)));
- connect(ui->TransitionDurationCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_ChTransitionDurationCB(int)));
- connect(&Timer,SIGNAL(timeout()),this,SLOT(s_TimerEvent()));
- connect(ui->CloseBT,SIGNAL(clicked()),this,SLOT(reject()));
- connect(ui->OKBT,SIGNAL(clicked()),this,SLOT(accept()));
- connect(ui->HelpBT,SIGNAL(clicked()),this,SLOT(Help()));
-}
-
-//====================================================================================================================
-
-DlgTransitionProperties::~DlgTransitionProperties() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTransitionProperties::~DlgTransitionProperties");
- delete ui;
- delete Undo;
- if (PreviousFrame) {
- delete PreviousFrame;
- PreviousFrame=NULL;
- }
-}
-
-//====================================================================================================================
-
-void DlgTransitionProperties::Help() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTransitionProperties::Help");
- GlobalMainWindow->OpenHelp(HELPFILE_DlgTransitionProperties);
-}
-
-//====================================================================================================================
-
-void DlgTransitionProperties::SetSavedWindowGeometry() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTransitionProperties::SetSavedWindowGeometry");
- DiaporamaObject->Parent->ApplicationConfig->DlgTransitionPropertiesWSP->ApplyToWindow(this);
-}
-
-//====================================================================================================================
-
-void DlgTransitionProperties::showEvent(QShowEvent *ev) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTransitionProperties::showEvent");
- QDialog::showEvent(ev);
- QTimer::singleShot(0,this,SLOT(SetSavedWindowGeometry()));
-}
-
-//====================================================================================================================
-
-void DlgTransitionProperties::reject() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTransitionProperties::reject");
- // Save Window size and position
- DiaporamaObject->Parent->ApplicationConfig->DlgTransitionPropertiesWSP->SaveWindowState(this);
- QDomElement root=Undo->documentElement();
- if (root.tagName()=="UNDO-DLG") DiaporamaObject->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL);
- done(1);
-}
-
-//====================================================================================================================
-
-void DlgTransitionProperties::accept() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTransitionProperties::accept");
- // Save Window size and position
- DiaporamaObject->Parent->ApplicationConfig->DlgTransitionPropertiesWSP->SaveWindowState(this);
-
- DiaporamaObject->TransitionFamilly =ui->TransitionTypeCB->itemData(ui->TransitionTypeCB->currentIndex()).toInt();
- DiaporamaObject->TransitionSubType =ui->TransitionTable->currentRow()*ui->TransitionTable->columnCount()+ui->TransitionTable->currentColumn();
- DiaporamaObject->TransitionDuration=int(ui->TransitionDurationCB->currentText().toDouble()*double(1000));
-
- // Close the box
- done(0);
-}
-
-//====================================================================================================================
-
-void DlgTransitionProperties::s_ChTransitionTypeCB(int NewValue) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTransitionProperties::s_ChTransitionTypeCB");
- Timer.stop();
- if (PreviousFrame==NULL) return; // Nothing to do if previsous frame is not initialize
-
- // Convert item number to transition familly
- NewValue=ui->TransitionTypeCB->itemData(ui->TransitionTypeCB->currentIndex()).toInt();
-
- ui->TransitionTable->setUpdatesEnabled(false);
-
- // clear table
- while (ui->TransitionTable->rowCount()>0) ui->TransitionTable->removeRow(0);
-
- MaxItem=0;
- switch (NewValue) {
- case TRANSITIONFAMILLY_BASE : MaxItem=TRANSITIONMAXSUBTYPE_BASE; break;
- case TRANSITIONFAMILLY_ZOOMINOUT : MaxItem=TRANSITIONMAXSUBTYPE_ZOOMINOUT; break;
- case TRANSITIONFAMILLY_PUSH : MaxItem=TRANSITIONMAXSUBTYPE_PUSH; break;
- case TRANSITIONFAMILLY_SLIDE : MaxItem=TRANSITIONMAXSUBTYPE_SLIDE; break;
- case TRANSITIONFAMILLY_DEFORM : MaxItem=TRANSITIONMAXSUBTYPE_DEFORM; break;
- case TRANSITIONFAMILLY_LUMA_BAR : MaxItem=LumaList_Bar.List.count(); break;
- case TRANSITIONFAMILLY_LUMA_BOX : MaxItem=LumaList_Box.List.count(); break;
- case TRANSITIONFAMILLY_LUMA_CENTER : MaxItem=LumaList_Center.List.count(); break;
- case TRANSITIONFAMILLY_LUMA_CHECKER: MaxItem=LumaList_Checker.List.count(); break;
- case TRANSITIONFAMILLY_LUMA_CLOCK : MaxItem=LumaList_Clock.List.count(); break;
- case TRANSITIONFAMILLY_LUMA_SNAKE : MaxItem=LumaList_Snake.List.count(); break;
- default : MaxItem=0; break;
- }
-
- AnimationTime=0;
-
- // Adjust TransitionFamilly
- PreviousFrame->TransitionFamilly=NewValue;
- // Create a frame object base on PreviousFrame
- cDiaporamaObjectInfo *Frame=new cDiaporamaObjectInfo(PreviousFrame);
- // Ajdust Transition PCT done
- Frame->TransitionPCTDone =double(AnimationTime)/double(Frame->TransitionDuration);
-
- // Now add items
- int CurCol=0;
- ui->TransitionTable->insertRow(ui->TransitionTable->rowCount()); // Create first row
- ui->TransitionTable->setRowHeight(ui->TransitionTable->rowCount()-1,ROWHEIGHT+DECAL*2);
-
- for (int i=0;i<MaxItem;i++) {
- // Adjust transition subtype
- Frame->TransitionSubType=i;
- // Render images
- if (Frame->RenderedImage!=NULL) {
- delete Frame->RenderedImage;
- Frame->RenderedImage=NULL;
- }
- DiaporamaObject->Parent->DoAssembly(Frame,W,H);
-
- // Create a label object to handle the bitmap
- QLabel *Widget=new QLabel();
- Widget->setAlignment(Qt::AlignCenter);
- Widget->setPixmap(QPixmap().fromImage(*Frame->RenderedImage));
- if (CurCol>=ui->TransitionTable->columnCount()) {
- ui->TransitionTable->insertRow(ui->TransitionTable->rowCount());
- ui->TransitionTable->setRowHeight(ui->TransitionTable->rowCount()-1,ROWHEIGHT+DECAL*2);
- CurCol=0;
- }
- ui->TransitionTable->setCellWidget(ui->TransitionTable->rowCount()-1,CurCol,Widget);
- CurCol++;
- }
- // Free buffers
- delete Frame;
-
- ui->TransitionTable->setCurrentCell(0,0,QItemSelectionModel::ClearAndSelect);
- ui->TransitionTable->setUpdatesEnabled(true);
-
- // Select a cell
- if (NewValue==TransitionFamilly) {
- CurrentSelectRow=TransitionSubType/ui->TransitionTable->columnCount();
- CurrentSelectCol=TransitionSubType % ui->TransitionTable->columnCount();
- ui->TransitionTable->setCurrentCell(CurrentSelectRow,CurrentSelectCol,QItemSelectionModel::ClearAndSelect);
- }
-
- Timer.start(double(1000)/DiaporamaObject->Parent->ApplicationConfig->PreviewFPS); // Start timer for animation
-}
-
-//====================================================================================================================
-// Change of transition duration : Reload frame with new value
-//====================================================================================================================
-
-void DlgTransitionProperties::s_ChTransitionDurationCB(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTransitionProperties::s_ChTransitionDurationCB");
- // Stop timer
- Timer.stop();
-
- // Clear PreviousFrame before create a new one
- if (PreviousFrame!=NULL) {
- delete PreviousFrame;
- PreviousFrame=NULL;
- }
-
- // Change Object settings to force a transition
- DiaporamaObject->TransitionFamilly =1;
- DiaporamaObject->TransitionSubType =0;
- DiaporamaObject->TransitionDuration=int(ui->TransitionDurationCB->currentText().toDouble()*double(1000));
-
- // Retrieve time information
- TimePosition=DiaporamaObject->Parent->GetObjectStartPosition(DiaporamaObject->Parent->GetObjectIndex(DiaporamaObject));
-
- // Retrieve object informations and create PreviousFrame
- PreviousFrame=new cDiaporamaObjectInfo(NULL,TimePosition,DiaporamaObject->Parent,double(1000)/DiaporamaObject->Parent->ApplicationConfig->PreviewFPS);
- DiaporamaObject->Parent->LoadSources(PreviousFrame,double(H)/double(1080),W,H,true,true); // Load background and image
-
- // Set old values
- DiaporamaObject->TransitionFamilly =TransitionFamilly;
- DiaporamaObject->TransitionSubType =TransitionSubType;
- DiaporamaObject->TransitionDuration=TransitionDuration;
-
- // Reset AnimationTime
- AnimationTime=0;
-
- // Adjust Transition
- PreviousFrame->TransitionFamilly=ui->TransitionTypeCB->itemData(ui->TransitionTypeCB->currentIndex()).toInt();
- PreviousFrame->TransitionSubType=ui->TransitionTable->currentRow()*ui->TransitionTable->columnCount()+ui->TransitionTable->currentColumn();
- PreviousFrame->TransitionDuration=int(ui->TransitionDurationCB->currentText().toDouble()*double(1000));
-
- // Restart timer
- Timer.start(double(1000)/DiaporamaObject->Parent->ApplicationConfig->PreviewFPS); // Re-start timer for animation
-}
-
-//====================================================================================================================
-// Timer event : update pixmap in the table
-//====================================================================================================================
-void DlgTransitionProperties::s_TimerEvent() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTransitionProperties::s_TimerEvent");
- // Update all pixmap in the table
- int CurCol=0;
- int CurRow=0;
- AnimationTime+=double(1000)/DiaporamaObject->Parent->ApplicationConfig->PreviewFPS;
- if (AnimationTime>int(ui->TransitionDurationCB->currentText().toDouble()*double(1000))) AnimationTime=0;
-
- // Create a frame object base on PreviousFrame
- cDiaporamaObjectInfo *Frame=new cDiaporamaObjectInfo(PreviousFrame);
- // Ajdust Transition PCT done
- Frame->TransitionPCTDone=double(AnimationTime)/double(Frame->TransitionDuration);
- Frame->TransitionPCTEnd =double(AnimationTime+double(1000)/DiaporamaObject->Parent->ApplicationConfig->PreviewFPS)/double(Frame->TransitionDuration);
-
- for (int i=0;i<MaxItem;i++) {
- // Adjust transition subtype
- Frame->TransitionSubType=i;
- // Render images
- if (Frame->RenderedImage!=NULL) {
- delete Frame->RenderedImage;
- Frame->RenderedImage=NULL;
- }
- DiaporamaObject->Parent->DoAssembly(Frame,W,H);
-
- // Add icon in the bottom left corner
- QPainter P;
- QImage *Img=IconList.GetIcon(Frame->TransitionFamilly,Frame->TransitionSubType);
- P.begin(Frame->RenderedImage);
- P.drawImage(QRect(0,Frame->RenderedImage->height()-32,32,32),*Img);
- P.end();
- delete Img;
-
- // Create a label object to handle the bitmap
- QLabel *Widget=(QLabel *)ui->TransitionTable->cellWidget(CurRow,CurCol);
- if (Widget) Widget->setPixmap(QPixmap().fromImage(*Frame->RenderedImage));
-
- // Go to next image
- CurCol++;
- if (CurCol>=ui->TransitionTable->columnCount()) {
- CurCol=0;
- CurRow++;
- }
- }
- // Free buffers
- delete Frame;
-}
-
-//====================================================================================================================
-// Change of selected cell in the table
-//====================================================================================================================
-void DlgTransitionProperties::s_TableCellChanged(int currentRow,int currentColumn,int previousRow,int previousColumn) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgTransitionProperties::s_TableCellChanged");
- int NewCell=currentRow*ui->TransitionTable->columnCount()+currentColumn;
- if (NewCell>=MaxItem) {
- CurrentSelectRow=previousRow;
- CurrentSelectCol=previousColumn;
- ui->TransitionTable->setCurrentCell(previousRow,previousColumn,QItemSelectionModel::ClearAndSelect);
- } else {
- CurrentSelectRow=currentRow;
- CurrentSelectCol=currentColumn;
- }
-}
diff --git a/src/ffDiaporama/DlgTransitionProperties.h b/src/ffDiaporama/DlgTransitionProperties.h
deleted file mode 100755
index fabea69..0000000
--- a/src/ffDiaporama/DlgTransitionProperties.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef DLGTRANSITIONPROPERTIES_H
-#define DLGTRANSITIONPROPERTIES_H
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-#include "../sharedfiles/_QCustomDialog.h"
-
-// Specific inclusions
-#include "_Diaporama.h"
-
-namespace Ui {
- class DlgTransitionProperties;
-}
-
-class DlgTransitionProperties : public QDialog {
-Q_OBJECT
-public:
- cDiaporamaObject *DiaporamaObject;
- QDomDocument *Undo; // Save object before modification for cancel button
- QTimer Timer;
- bool IsBackgroundTransition;
- int MaxItem;
- cDiaporamaObjectInfo *PreviousFrame;
- int W,H;
- int TimePosition;
- int AnimationTime;
- // Previous values
- int TransitionFamilly;
- int TransitionSubType;
- int TransitionDuration;
-
- explicit DlgTransitionProperties(cDiaporamaObject *DiaporamaObject,bool IsBackgroundTransition,QWidget *parent = 0);
- ~DlgTransitionProperties();
-
-protected:
- virtual void showEvent(QShowEvent *);
- virtual void reject();
- virtual void accept();
-
-private slots:
- void Help();
- void SetSavedWindowGeometry();
- void s_ChTransitionTypeCB(int);
- void s_TimerEvent();
- void s_TableCellChanged(int,int,int,int);
- void s_ChTransitionDurationCB(int);
-
-private:
- Ui::DlgTransitionProperties *ui;
-};
-
-#endif // DLGTRANSITIONPROPERTIES_H
diff --git a/src/ffDiaporama/DlgTransitionProperties.ui b/src/ffDiaporama/DlgTransitionProperties.ui
deleted file mode 100755
index db7a420..0000000
--- a/src/ffDiaporama/DlgTransitionProperties.ui
+++ /dev/null
@@ -1,286 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>DlgTransitionProperties</class>
- <widget class="QDialog" name="DlgTransitionProperties">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>838</width>
- <height>537</height>
- </rect>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- </font>
- </property>
- <property name="windowTitle">
- <string>Transition properties</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>4</number>
- </property>
- <property name="margin">
- <number>8</number>
- </property>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Transition type :</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="TransitionTypeCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string>Select a transition family</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_2">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Duration :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="TransitionDurationCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>50</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>50</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Define the animation duration</string>
- </property>
- <item>
- <property name="text">
- <string notr="true">0.5</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">1</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">2</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">3</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">4</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">6</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">8</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">10</string>
- </property>
- </item>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>seconde(s)</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QTableWidget" name="TransitionTable">
- <property name="editTriggers">
- <set>QAbstractItemView::NoEditTriggers</set>
- </property>
- <property name="showDropIndicator" stdset="0">
- <bool>false</bool>
- </property>
- <property name="dragDropOverwriteMode">
- <bool>false</bool>
- </property>
- <property name="selectionMode">
- <enum>QAbstractItemView::SingleSelection</enum>
- </property>
- <property name="showGrid">
- <bool>false</bool>
- </property>
- <property name="gridStyle">
- <enum>Qt::NoPen</enum>
- </property>
- <property name="wordWrap">
- <bool>false</bool>
- </property>
- <property name="cornerButtonEnabled">
- <bool>false</bool>
- </property>
- <attribute name="horizontalHeaderVisible">
- <bool>false</bool>
- </attribute>
- <attribute name="horizontalHeaderHighlightSections">
- <bool>false</bool>
- </attribute>
- <attribute name="verticalHeaderVisible">
- <bool>false</bool>
- </attribute>
- <attribute name="verticalHeaderHighlightSections">
- <bool>false</bool>
- </attribute>
- <column>
- <property name="text">
- <string notr="true">0</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string notr="true">1</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string notr="true">2</string>
- </property>
- </column>
- <column>
- <property name="text">
- <string notr="true">3</string>
- </property>
- </column>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <property name="spacing">
- <number>4</number>
- </property>
- <item>
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="OKBT">
- <property name="toolTip">
- <string>Accept modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Ok</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="CloseBT">
- <property name="toolTip">
- <string>Cancel modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Cancel</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="HelpBT">
- <property name="toolTip">
- <string>Open help page describing this dialog box</string>
- </property>
- <property name="text">
- <string>&Help</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
- </property>
- <property name="shortcut">
- <string>F1</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <resources>
- <include location="../../RSCffDiaporama.qrc"/>
- <include location="../../RSCffDiaporama.qrc"/>
- </resources>
- <connections/>
-</ui>
diff --git a/src/ffDiaporama/DlgVideo/DlgVideoEdit.cpp b/src/ffDiaporama/DlgVideo/DlgVideoEdit.cpp
new file mode 100755
index 0000000..70f9a17
--- /dev/null
+++ b/src/ffDiaporama/DlgVideo/DlgVideoEdit.cpp
@@ -0,0 +1,235 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "DlgVideoEdit.h"
+#include "ui_DlgVideoEdit.h"
+#include <QFileDialog>
+
+// Undo actions
+#define UNDOACTION_STARTPOS 1
+#define UNDOACTION_ENDPOS 2
+#define UNDOACTION_VOLUME 3
+
+DlgVideoEdit::DlgVideoEdit(cBrushDefinition *TheCurrentBrush,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent):QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent),ui(new Ui::DlgVideoEdit) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::DlgVideoEdit");
+ ui->setupUi(this);
+
+ OkBt =ui->OKBT;
+ CancelBt =ui->CancelBt;
+ HelpBt =ui->HelpBT;
+ UndoBt =ui->UndoBT;
+ CurrentBrush =TheCurrentBrush;
+ StopMaj =false;
+}
+
+//====================================================================================================================
+
+DlgVideoEdit::~DlgVideoEdit() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::~DlgVideoEdit");
+ delete ui;
+}
+
+//====================================================================================================================
+// Initialise dialog
+
+void DlgVideoEdit::DoInitDialog() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::DoInitDialog");
+
+ // Init embeded widgets
+ for (int Factor=150;Factor>=0;Factor-=10) ui->VolumeReductionFactorCB->addItem(QString("%1%").arg(Factor));
+ RefreshControls();
+
+ // Define handler
+ connect(ui->VolumeReductionFactorCB,SIGNAL(currentIndexChanged(int)),this,SLOT(MusicReduceFactorChange(int)));
+ connect(ui->DefStartPosBT,SIGNAL(clicked()),this,SLOT(s_DefStartPos()));
+ connect(ui->DefEndPosBT,SIGNAL(clicked()),this,SLOT(s_DefEndPos()));
+ connect(ui->SeekLeftBt,SIGNAL(clicked()),this,SLOT(s_SeekLeft()));
+ connect(ui->SeekRightBt,SIGNAL(clicked()),this,SLOT(s_SeekRight()));
+ connect(ui->StartPosEd,SIGNAL(timeChanged(QTime)),this,SLOT(s_EditStartPos(QTime)));
+ connect(ui->EndPosEd,SIGNAL(timeChanged(QTime)),this,SLOT(s_EditEndPos(QTime)));
+ connect(ui->VideoPlayer,SIGNAL(SaveImageEvent()),this,SLOT(s_Event_SaveImageEvent()));
+}
+
+//====================================================================================================================
+// Initiale Undo
+
+void DlgVideoEdit::PrepareGlobalUndo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::PrepareGlobalUndo");
+
+ Undo=new QDomDocument(APPLICATION_NAME);
+ QDomElement root=Undo->createElement("UNDO-DLG"); // Create xml document and root
+ root.setAttribute("StartPos",CurrentBrush->Video->StartPos.toString("HH:mm:ss.zzz"));
+ root.setAttribute("EndPos",CurrentBrush->Video->EndPos.toString("HH:mm:ss.zzz"));
+ root.setAttribute("SoundVolume",QString("%1").arg(CurrentBrush->SoundVolume,0,'f'));
+ Undo->appendChild(root); // Add object to xml document
+}
+
+//====================================================================================================================
+// Apply Undo : call when user click on Cancel button
+
+void DlgVideoEdit::DoGlobalUndo() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::DoGlobalUndo");
+
+ QDomElement root=Undo->documentElement();
+ if (root.tagName()=="UNDO-DLG") {
+ CurrentBrush->Video->StartPos=QTime().fromString(root.attribute("StartPos"));
+ CurrentBrush->Video->EndPos =QTime().fromString(root.attribute("EndPos"));
+ CurrentBrush->SoundVolume =root.attribute("SoundVolume").toDouble();
+ }
+}
+
+//====================================================================================================================
+
+void DlgVideoEdit::PreparePartialUndo(int /*ActionType*/,QDomElement root) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::PreparePartialUndo");
+
+ root.setAttribute("StartPos",CurrentBrush->Video->StartPos.toString("HH:mm:ss.zzz")); // Start position (video only)
+ root.setAttribute("EndPos",CurrentBrush->Video->EndPos.toString("HH:mm:ss.zzz")); // End position (video only)
+ root.setAttribute("SoundVolume",QString("%1").arg(CurrentBrush->SoundVolume,0,'f')); // Volume of soundtrack (for video only)
+}
+
+//====================================================================================================================
+
+void DlgVideoEdit::ApplyPartialUndo(int /*ActionType*/,QDomElement root) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::ApplyPartialUndo");
+
+ CurrentBrush->Video->StartPos=QTime().fromString(root.attribute("StartPos"));
+ CurrentBrush->Video->EndPos =QTime().fromString(root.attribute("EndPos"));
+ CurrentBrush->SoundVolume =root.attribute("SoundVolume").toDouble();
+ RefreshControls();
+}
+
+//====================================================================================================================
+
+void DlgVideoEdit::RestoreWindowState() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::RestoreWindowState");
+ QCustomDialog::RestoreWindowState();
+ if (!ui->VideoPlayer->IsValide) {
+ ui->VideoPlayer->StartPlay(CurrentBrush->Video,((cApplicationConfig *)BaseApplicationConfig)->PreviewFPS);
+ ui->EndPosEd->setMaximumTime(CurrentBrush->Video->Duration);
+ RefreshControls();
+ }
+}
+
+//====================================================================================================================
+
+void DlgVideoEdit::RefreshControls() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::RefreshControls");
+
+ StopMaj=true;
+ QTime Duration=QTime(0,0,0,0).addMSecs(CurrentBrush->Video->StartPos.msecsTo(CurrentBrush->Video->EndPos));
+ ui->ActualDuration->setText(Duration.toString("hh:mm:ss.zzz"));
+ ui->StartPosEd->setMaximumTime(CurrentBrush->Video->EndPos); ui->StartPosEd->setTime(CurrentBrush->Video->StartPos);
+ ui->EndPosEd->setMinimumTime(CurrentBrush->Video->StartPos); ui->EndPosEd->setTime(CurrentBrush->Video->EndPos);
+ ui->VolumeReductionFactorCB->setCurrentIndex(ui->VolumeReductionFactorCB->findText(QString("%1%").arg(int(CurrentBrush->SoundVolume*100))));
+ ui->VideoPlayer->SetStartEndPos(QTime(0,0,0,0).msecsTo(CurrentBrush->Video->StartPos),
+ QTime(0,0,0,0).msecsTo(CurrentBrush->Video->EndPos)-QTime(0,0,0,0).msecsTo(CurrentBrush->Video->StartPos),
+ -1,0,-1,0);
+ StopMaj=false;
+}
+
+//====================================================================================================================
+
+void DlgVideoEdit::s_Event_SaveImageEvent() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::s_Event_SaveImageEvent");
+ ui->VideoPlayer->SetPlayerToPause();
+ QString OutputFileName=((cApplicationConfig *)BaseApplicationConfig)->LastCaptureImage;
+ QString Filter="JPG (*.jpg)";
+ if (!OutputFileName.endsWith(QDir::separator())) OutputFileName=OutputFileName+QDir::separator();
+ OutputFileName=OutputFileName+QApplication::translate("MainWindow","Capture image");
+ OutputFileName=QFileDialog::getSaveFileName(this,QApplication::translate("MainWindow","Select destination file"),OutputFileName,"PNG (*.png);;JPG (*.jpg)",&Filter);
+ if (OutputFileName!="") {
+ if (((cApplicationConfig *)BaseApplicationConfig)->RememberLastDirectories) ((cApplicationConfig *)BaseApplicationConfig)->LastCaptureImage=QFileInfo(OutputFileName).absolutePath(); // Keep folder for next use
+ if ((Filter.toLower().indexOf("png")!=-1)&&(!OutputFileName.endsWith(".png"))) OutputFileName=OutputFileName+".png";
+ if ((Filter.toLower().indexOf("jpg")!=-1)&&(!OutputFileName.endsWith(".jpg"))) OutputFileName=OutputFileName+".jpg";
+
+ QImage *Image=CurrentBrush->Video->ImageAt(false,ui->VideoPlayer->ActualPosition,0,NULL,1,false,NULL,true);
+ Image->save(OutputFileName,0,100);
+ delete Image;
+ }
+}
+
+//====================================================================================================================
+
+void DlgVideoEdit::MusicReduceFactorChange(int) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::MusicReduceFactorChange");
+ if (StopMaj) return;
+ AppendPartialUndo(UNDOACTION_VOLUME,ui->VolumeReductionFactorCB,true);
+ QString Volume=ui->VolumeReductionFactorCB->currentText();
+ if (Volume!="") Volume=Volume.left(Volume.length()-1); // Remove %
+ CurrentBrush->SoundVolume=double(Volume.toInt())/100;
+}
+
+//====================================================================================================================
+
+void DlgVideoEdit::s_DefStartPos() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::s_DefStartPos");
+ if (StopMaj) return;
+ AppendPartialUndo(UNDOACTION_STARTPOS,ui->StartPosEd,true);
+ CurrentBrush->Video->StartPos=ui->VideoPlayer->GetCurrentPos();
+ RefreshControls();
+}
+
+//====================================================================================================================
+
+void DlgVideoEdit::s_EditStartPos(QTime NewValue) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::s_EditStartPos");
+ if (StopMaj) return;
+ AppendPartialUndo(UNDOACTION_STARTPOS,ui->StartPosEd,false);
+ CurrentBrush->Video->StartPos=NewValue;
+ RefreshControls();
+}
+
+//====================================================================================================================
+
+void DlgVideoEdit::s_DefEndPos() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::s_DefEndPos");
+ if (StopMaj) return;
+ AppendPartialUndo(UNDOACTION_ENDPOS,ui->EndPosEd,true);
+ CurrentBrush->Video->EndPos=ui->VideoPlayer->GetCurrentPos();
+ RefreshControls();
+}
+
+//====================================================================================================================
+
+void DlgVideoEdit::s_EditEndPos(QTime NewValue) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::s_EditEndPos");
+ if (StopMaj) return;
+ AppendPartialUndo(UNDOACTION_ENDPOS,ui->EndPosEd,false);
+ CurrentBrush->Video->EndPos=NewValue;
+ ui->EndPosEd->setTime(CurrentBrush->Video->EndPos);
+ RefreshControls();
+}
+
+//====================================================================================================================
+
+void DlgVideoEdit::s_SeekLeft() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::s_SeekLeft");
+ ui->VideoPlayer->SeekPlayer(QTime(0,0,0,0).msecsTo(CurrentBrush->Video->StartPos));
+ ui->VideoPlayer->SetPlayerToPause();
+}
+
+//====================================================================================================================
+
+void DlgVideoEdit::s_SeekRight() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::s_SeekRight");
+ ui->VideoPlayer->SeekPlayer(QTime(0,0,0,0).msecsTo(CurrentBrush->Video->EndPos));
+ ui->VideoPlayer->SetPlayerToPause();
+}
diff --git a/src/ffDiaporama/DlgVideo/DlgVideoEdit.h b/src/ffDiaporama/DlgVideo/DlgVideoEdit.h
new file mode 100755
index 0000000..71350b4
--- /dev/null
+++ b/src/ffDiaporama/DlgVideo/DlgVideoEdit.h
@@ -0,0 +1,72 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef DLGVIDEOEDIT_H
+#define DLGVIDEOEDIT_H
+
+// Basic inclusions (common to all files)
+#include "../../engine/_GlobalDefines.h"
+#include "../../engine/_QCustomDialog.h"
+
+// Specific inclusions
+#include "../_Diaporama.h"
+
+namespace Ui {
+ class DlgVideoEdit;
+}
+
+class DlgVideoEdit : public QCustomDialog {
+Q_OBJECT
+public:
+ cBrushDefinition *CurrentBrush;
+ bool StopMaj;
+
+ explicit DlgVideoEdit(cBrushDefinition *CurrentBrush,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent=0);
+ ~DlgVideoEdit();
+
+ void RefreshControls();
+
+ // function to be overloaded
+ virtual void DoInitDialog(); // Initialise dialog
+ virtual void DoAccept() { /* Nothing to do */ } // Call when user click on Ok button
+ virtual void DoRejet() { /* Nothing to do */ } // Call when user click on Cancel button
+ virtual void PrepareGlobalUndo(); // Initiale Undo
+ virtual void DoGlobalUndo(); // Apply Undo : call when user click on Cancel button
+
+ virtual void PreparePartialUndo(int ActionType,QDomElement root);
+ virtual void ApplyPartialUndo(int ActionType,QDomElement root);
+
+ virtual void RestoreWindowState();
+
+private slots:
+ void s_Event_SaveImageEvent();
+ void s_DefStartPos();
+ void s_DefEndPos();
+ void s_SeekLeft();
+ void s_SeekRight();
+ void s_EditStartPos(QTime NewValue);
+ void s_EditEndPos(QTime NewValue);
+ void MusicReduceFactorChange(int);
+
+private:
+ Ui::DlgVideoEdit *ui;
+};
+
+#endif // DLGVIDEOEDIT_H
diff --git a/src/ffDiaporama/DlgVideo/DlgVideoEdit.ui b/src/ffDiaporama/DlgVideo/DlgVideoEdit.ui
new file mode 100755
index 0000000..954a638
--- /dev/null
+++ b/src/ffDiaporama/DlgVideo/DlgVideoEdit.ui
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DlgVideoEdit</class>
+ <widget class="QDialog" name="DlgVideoEdit">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>700</width>
+ <height>400</height>
+ </rect>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>700</width>
+ <height>400</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="windowTitle">
+ <string>Cut video</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <property name="margin">
+ <number>8</number>
+ </property>
+ <item>
+ <layout class="QGridLayout" name="gridLayout">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item row="0" column="0" colspan="2">
+ <widget class="QLabel" name="label_5">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Properties for all shots</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>10</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>10</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="wgt_QVideoPlayer" name="VideoPlayer" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_5">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Start :</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="SeekLeftBt">
+ <property name="toolTip">
+ <string extracomment="Tooltip in dialog box">Move to start position</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/player_rew.png</normaloff>:/img/player_rew.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="DefStartPosBT">
+ <property name="toolTip">
+ <string extracomment="Tooltip in dialog box">Use current position as start position</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/PosStart.png</normaloff>:/img/PosStart.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDateTimeEdit" name="StartPosEd">
+ <property name="minimumSize">
+ <size>
+ <width>105</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>105</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string extracomment="Tooltip in dialog box">Define the start position to use for</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="specialValueText">
+ <string notr="true"/>
+ </property>
+ <property name="displayFormat">
+ <string notr="true">HH:mm:ss.zzz</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_4">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>End :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QDateTimeEdit" name="EndPosEd">
+ <property name="minimumSize">
+ <size>
+ <width>105</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>105</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string extracomment="Tooltip in dialog box">Define the end position to use for</string>
+ </property>
+ <property name="buttonSymbols">
+ <enum>QAbstractSpinBox::PlusMinus</enum>
+ </property>
+ <property name="specialValueText">
+ <string notr="true"/>
+ </property>
+ <property name="currentSection">
+ <enum>QDateTimeEdit::HourSection</enum>
+ </property>
+ <property name="displayFormat">
+ <string notr="true">HH:mm:ss.zzz</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="DefEndPosBT">
+ <property name="toolTip">
+ <string extracomment="Tooltip in dialog box">Use current position as end position</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/PosEnd.png</normaloff>:/img/PosEnd.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="SeekRightBt">
+ <property name="toolTip">
+ <string extracomment="Tooltip in dialog box">Move to end position</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/player_fwd.png</normaloff>:/img/player_fwd.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Duration :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="ActualDuration">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>21</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::Box</enum>
+ </property>
+ <property name="text">
+ <string notr="true">00:00:00.000</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Volume :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="VolumeReductionFactorCB">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>70</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>70</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Define the " Master Volume " for the movie</string>
+ </property>
+ <property name="currentIndex">
+ <number>-1</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="OKBT">
+ <property name="toolTip">
+ <string>Accept modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Ok</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_7">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>20</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="UndoBT">
+ <property name="toolTip">
+ <string>Undo last action (CTRL+Z)</string>
+ </property>
+ <property name="text">
+ <string>Undo</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/undo24.png</normaloff>:/img/undo24.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+Z</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="CancelBt">
+ <property name="toolTip">
+ <string>Cancel modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Cancel</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="HelpBT">
+ <property name="toolTip">
+ <string>Open help page describing this dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Help</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>F1</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <customwidgets>
+ <customwidget>
+ <class>wgt_QVideoPlayer</class>
+ <extends>QWidget</extends>
+ <header>wgt_QVideoPlayer.h</header>
+ <container>1</container>
+ </customwidget>
+ </customwidgets>
+ <resources>
+ <include location="../../../RSCffDiaporama.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/ffDiaporama/DlgVideoEdit.cpp b/src/ffDiaporama/DlgVideoEdit.cpp
deleted file mode 100755
index 8abae82..0000000
--- a/src/ffDiaporama/DlgVideoEdit.cpp
+++ /dev/null
@@ -1,205 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "DlgVideoEdit.h"
-#include "ui_DlgVideoEdit.h"
-#include "mainwindow.h"
-
-DlgVideoEdit::DlgVideoEdit(cBrushDefinition *TheCurrentBrush,QWidget *parent):QDialog(parent),ui(new Ui::DlgVideoEdit) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::DlgVideoEdit");
- ui->setupUi(this);
- CurrentBrush =TheCurrentBrush;
- IsFirstInitDone =false; // true when first show window was done
-
- setWindowFlags((windowFlags()|Qt::CustomizeWindowHint|Qt::WindowSystemMenuHint|Qt::WindowMaximizeButtonHint)&(~Qt::WindowMinimizeButtonHint));
-
- // Save object before modification for cancel button
- Undo=new QDomDocument(APPLICATION_NAME);
- QDomElement root=Undo->createElement("UNDO-DLG"); // Create xml document and root
- CurrentBrush->SaveToXML(root,"UNDO-DLG-OBJECT",GlobalMainWindow->Diaporama->ProjectFileName,true); // Save object
- Undo->appendChild(root); // Add object to xml document
-
- // Init embeded widgets
- for (int Factor=150;Factor>=0;Factor-=10) ui->VolumeReductionFactorCB->addItem(QString("%1%").arg(Factor));
- ui->StartPosEd->setTime(CurrentBrush->Video->StartPos);
- ui->EndPosEd->setTime(CurrentBrush->Video->EndPos);
- SetActualDuration();
-
- // Define handler
- connect(ui->CloseBT,SIGNAL(clicked()),this,SLOT(reject()));
- connect(ui->OKBT,SIGNAL(clicked()),this,SLOT(accept()));
- connect(ui->HelpBT,SIGNAL(clicked()),this,SLOT(Help()));
-
- connect(ui->VolumeReductionFactorCB,SIGNAL(currentIndexChanged(int)),this,SLOT(MusicReduceFactorChange(int)));
- connect(ui->DefStartPosBT,SIGNAL(clicked()),this,SLOT(s_DefStartPos()));
- connect(ui->DefEndPosBT,SIGNAL(clicked()),this,SLOT(s_DefEndPos()));
- connect(ui->SeekLeftBt,SIGNAL(clicked()),this,SLOT(s_SeekLeft()));
- connect(ui->SeekRightBt,SIGNAL(clicked()),this,SLOT(s_SeekRight()));
- connect(ui->StartPosEd,SIGNAL(timeChanged(QTime)),this,SLOT(s_EditStartPos(QTime)));
- connect(ui->EndPosEd,SIGNAL(timeChanged(QTime)),this,SLOT(s_EditEndPos(QTime)));
-}
-
-//====================================================================================================================
-
-DlgVideoEdit::~DlgVideoEdit() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::~DlgVideoEdit");
- delete ui;
- delete Undo;
-}
-
-//====================================================================================================================
-
-void DlgVideoEdit::Help() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::Help");
- GlobalMainWindow->OpenHelp(HELPFILE_DlgVideoEdit);
-}
-
-//====================================================================================================================
-
-void DlgVideoEdit::SetSavedWindowGeometry() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::SetSavedWindowGeometry");
- GlobalMainWindow->ApplicationConfig->DlgVideoEditWSP->ApplyToWindow(this);
- if (!ui->VideoPlayer->IsValide) {
- ui->VideoPlayer->StartPlay(CurrentBrush->Video,GlobalMainWindow->ApplicationConfig->PreviewFPS);
- ui->VideoPlayer->SetStartEndPos(QTime(0,0,0,0).msecsTo(CurrentBrush->Video->StartPos),
- QTime(0,0,0,0).msecsTo(CurrentBrush->Video->EndPos)-QTime(0,0,0,0).msecsTo(CurrentBrush->Video->StartPos),
- -1,0,-1,0);
- }
-}
-
-//====================================================================================================================
-
-void DlgVideoEdit::showEvent(QShowEvent *ev) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::showEvent");
- QDialog::showEvent(ev);
- if (IsFirstInitDone) return; // Ensure we do this only one time
- QTimer::singleShot(0,this,SLOT(SetSavedWindowGeometry()));
- IsFirstInitDone=true; // Set this flag to true to indicate that now we can prepeare display
-}
-
-//====================================================================================================================
-
-void DlgVideoEdit::reject() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::reject");
- // Save Window size and position
- GlobalMainWindow->ApplicationConfig->DlgVideoEditWSP->SaveWindowState(this);
- QDomElement root=Undo->documentElement();
- if (root.tagName()=="UNDO-DLG") CurrentBrush->LoadFromXML(root,"UNDO-DLG-OBJECT","",NULL,NULL);
- done(1);
-}
-
-//====================================================================================================================
-
-void DlgVideoEdit::accept() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::accept");
- // Save Window size and position
- GlobalMainWindow->ApplicationConfig->DlgVideoEditWSP->SaveWindowState(this);
-
-
- // Close the box
- done(0);
-}
-
-//====================================================================================================================
-
-void DlgVideoEdit::s_DefStartPos() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::s_DefStartPos");
- CurrentBrush->Video->StartPos=ui->VideoPlayer->GetCurrentPos();
- ui->StartPosEd->setTime(CurrentBrush->Video->StartPos);
- ui->VideoPlayer->SetStartEndPos(QTime(0,0,0,0).msecsTo(CurrentBrush->Video->StartPos),
- QTime(0,0,0,0).msecsTo(CurrentBrush->Video->EndPos)-QTime(0,0,0,0).msecsTo(CurrentBrush->Video->StartPos),
- -1,0,-1,0);
- SetActualDuration();
-}
-
-//====================================================================================================================
-
-void DlgVideoEdit::s_EditStartPos(QTime NewValue) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::s_EditStartPos");
- CurrentBrush->Video->StartPos=NewValue;
- ui->StartPosEd->setTime(CurrentBrush->Video->StartPos);
- ui->VideoPlayer->SetStartEndPos(QTime(0,0,0,0).msecsTo(CurrentBrush->Video->StartPos),
- QTime(0,0,0,0).msecsTo(CurrentBrush->Video->EndPos)-QTime(0,0,0,0).msecsTo(CurrentBrush->Video->StartPos),
- -1,0,-1,0);
- SetActualDuration();
-}
-
-//====================================================================================================================
-
-void DlgVideoEdit::SetActualDuration() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::SetActualDuration");
- QTime Duration;
-
- Duration=QTime(0,0,0,0).addMSecs(CurrentBrush->Video->StartPos.msecsTo(CurrentBrush->Video->EndPos));
-
- ui->ActualDuration->setText(Duration.toString("hh:mm:ss.zzz"));
- ui->EndPosEd->setMinimumTime(CurrentBrush->Video->StartPos);
- ui->StartPosEd->setMaximumTime(CurrentBrush->Video->EndPos);
- ui->VolumeReductionFactorCB->setCurrentIndex(ui->VolumeReductionFactorCB->findText(QString("%1%").arg(int(CurrentBrush->SoundVolume*100))));
-}
-
-//====================================================================================================================
-
-void DlgVideoEdit::MusicReduceFactorChange(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::MusicReduceFactorChange");
- QString Volume=ui->VolumeReductionFactorCB->currentText();
- if (Volume!="") Volume=Volume.left(Volume.length()-1); // Remove %
- CurrentBrush->SoundVolume=double(Volume.toInt())/100;
-}
-
-//====================================================================================================================
-
-void DlgVideoEdit::s_DefEndPos() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::s_DefEndPos");
- CurrentBrush->Video->EndPos=ui->VideoPlayer->GetCurrentPos();
- ui->EndPosEd->setTime(CurrentBrush->Video->EndPos);
- ui->VideoPlayer->SetStartEndPos(QTime(0,0,0,0).msecsTo(CurrentBrush->Video->StartPos),
- QTime(0,0,0,0).msecsTo(CurrentBrush->Video->EndPos)-QTime(0,0,0,0).msecsTo(CurrentBrush->Video->StartPos),
- -1,0,-1,0);
- SetActualDuration();
-}
-
-//====================================================================================================================
-
-void DlgVideoEdit::s_EditEndPos(QTime NewValue) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::s_EditEndPos");
- CurrentBrush->Video->EndPos=NewValue;
- ui->EndPosEd->setTime(CurrentBrush->Video->EndPos);
- ui->VideoPlayer->SetStartEndPos(QTime(0,0,0,0).msecsTo(CurrentBrush->Video->StartPos),
- QTime(0,0,0,0).msecsTo(CurrentBrush->Video->EndPos)-QTime(0,0,0,0).msecsTo(CurrentBrush->Video->StartPos),
- -1,0,-1,0);
- SetActualDuration();
-}
-
-//====================================================================================================================
-
-void DlgVideoEdit::s_SeekLeft() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::s_SeekLeft");
- ui->VideoPlayer->SeekPlayer(QTime(0,0,0,0).msecsTo(CurrentBrush->Video->StartPos));
- ui->VideoPlayer->SetPlayerToPause();
-}
-
-//====================================================================================================================
-
-void DlgVideoEdit::s_SeekRight() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgVideoEdit::s_SeekRight");
- ui->VideoPlayer->SeekPlayer(QTime(0,0,0,0).msecsTo(CurrentBrush->Video->EndPos));
- ui->VideoPlayer->SetPlayerToPause();
-}
diff --git a/src/ffDiaporama/DlgVideoEdit.h b/src/ffDiaporama/DlgVideoEdit.h
deleted file mode 100755
index 81d3b28..0000000
--- a/src/ffDiaporama/DlgVideoEdit.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef DLGVIDEOEDIT_H
-#define DLGVIDEOEDIT_H
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-#include "../sharedfiles/_QCustomDialog.h"
-
-// Specific inclusions
-#include "_Diaporama.h"
-
-namespace Ui {
- class DlgVideoEdit;
-}
-
-class DlgVideoEdit : public QDialog {
-Q_OBJECT
-public:
- bool IsFirstInitDone; // true when first show window was done
- cBrushDefinition *CurrentBrush;
- QDomDocument *Undo; // Save object before modification for cancel button
-
- explicit DlgVideoEdit(cBrushDefinition *CurrentBrush,QWidget *parent = 0);
- ~DlgVideoEdit();
-
- void SetActualDuration();
-
-protected:
- virtual void showEvent(QShowEvent *);
- virtual void reject();
- virtual void accept();
-
-private slots:
- void Help();
- void SetSavedWindowGeometry();
- void s_DefStartPos();
- void s_DefEndPos();
- void s_SeekLeft();
- void s_SeekRight();
- void s_EditStartPos(QTime NewValue);
- void s_EditEndPos(QTime NewValue);
- void MusicReduceFactorChange(int);
-
-private:
- Ui::DlgVideoEdit *ui;
-};
-
-#endif // DLGVIDEOEDIT_H
diff --git a/src/ffDiaporama/DlgVideoEdit.ui b/src/ffDiaporama/DlgVideoEdit.ui
deleted file mode 100755
index 0ee7152..0000000
--- a/src/ffDiaporama/DlgVideoEdit.ui
+++ /dev/null
@@ -1,411 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>DlgVideoEdit</class>
- <widget class="QDialog" name="DlgVideoEdit">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>700</width>
- <height>400</height>
- </rect>
- </property>
- <property name="minimumSize">
- <size>
- <width>700</width>
- <height>400</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- </font>
- </property>
- <property name="windowTitle">
- <string>Cut video</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>4</number>
- </property>
- <property name="margin">
- <number>8</number>
- </property>
- <item>
- <layout class="QGridLayout" name="gridLayout">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>2</number>
- </property>
- <item row="0" column="0" colspan="2">
- <widget class="QLabel" name="label_5">
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>Properties for all shots</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_6">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>10</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>10</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <layout class="QVBoxLayout" name="verticalLayout_3">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="wgt_QVideoPlayer" name="VideoPlayer" native="true">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_5">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>Start :</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="SeekLeftBt">
- <property name="toolTip">
- <string extracomment="Tooltip in dialog box">Move to start position</string>
- </property>
- <property name="text">
- <string notr="true">...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/player_rew.png</normaloff>:/img/player_rew.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="DefStartPosBT">
- <property name="toolTip">
- <string extracomment="Tooltip in dialog box">Use current position as start position</string>
- </property>
- <property name="text">
- <string notr="true">...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/PosStart.png</normaloff>:/img/PosStart.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QDateTimeEdit" name="StartPosEd">
- <property name="minimumSize">
- <size>
- <width>105</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>105</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="toolTip">
- <string extracomment="Tooltip in dialog box">Define the start position to use for</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="specialValueText">
- <string notr="true"/>
- </property>
- <property name="displayFormat">
- <string notr="true">HH:mm:ss.zzz</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_4">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>End :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QDateTimeEdit" name="EndPosEd">
- <property name="minimumSize">
- <size>
- <width>105</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>105</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="toolTip">
- <string extracomment="Tooltip in dialog box">Define the end position to use for</string>
- </property>
- <property name="buttonSymbols">
- <enum>QAbstractSpinBox::PlusMinus</enum>
- </property>
- <property name="specialValueText">
- <string notr="true"/>
- </property>
- <property name="currentSection">
- <enum>QDateTimeEdit::HourSection</enum>
- </property>
- <property name="displayFormat">
- <string notr="true">HH:mm:ss.zzz</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="DefEndPosBT">
- <property name="toolTip">
- <string extracomment="Tooltip in dialog box">Use current position as end position</string>
- </property>
- <property name="text">
- <string notr="true">...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/PosEnd.png</normaloff>:/img/PosEnd.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="SeekRightBt">
- <property name="toolTip">
- <string extracomment="Tooltip in dialog box">Move to end position</string>
- </property>
- <property name="text">
- <string notr="true">...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/player_fwd.png</normaloff>:/img/player_fwd.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Duration :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="ActualDuration">
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>21</height>
- </size>
- </property>
- <property name="frameShape">
- <enum>QFrame::Box</enum>
- </property>
- <property name="text">
- <string notr="true">00:00:00.000</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_2">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Volume :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="VolumeReductionFactorCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>70</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>70</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Define the " Master Volume " for the movie</string>
- </property>
- <property name="currentIndex">
- <number>-1</number>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </item>
- </layout>
- </item>
- <item>
- <widget class="Line" name="line">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <property name="spacing">
- <number>4</number>
- </property>
- <item>
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="OKBT">
- <property name="toolTip">
- <string>Accept modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Ok</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="CloseBT">
- <property name="toolTip">
- <string>Cancel modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Cancel</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="HelpBT">
- <property name="toolTip">
- <string>Open help page describing this dialog box</string>
- </property>
- <property name="text">
- <string>&Help</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
- </property>
- <property name="shortcut">
- <string>F1</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>wgt_QVideoPlayer</class>
- <extends>QWidget</extends>
- <header>wgt_QVideoPlayer.h</header>
- <container>1</container>
- </customwidget>
- </customwidgets>
- <resources/>
- <connections/>
-</ui>
diff --git a/src/sharedfiles/DlgffDPjrProperties.cpp b/src/ffDiaporama/DlgffDPjrProperties/DlgffDPjrProperties.cpp
similarity index 100%
rename from src/sharedfiles/DlgffDPjrProperties.cpp
rename to src/ffDiaporama/DlgffDPjrProperties/DlgffDPjrProperties.cpp
diff --git a/src/ffDiaporama/DlgffDPjrProperties/DlgffDPjrProperties.h b/src/ffDiaporama/DlgffDPjrProperties/DlgffDPjrProperties.h
new file mode 100755
index 0000000..339869c
--- /dev/null
+++ b/src/ffDiaporama/DlgffDPjrProperties/DlgffDPjrProperties.h
@@ -0,0 +1,59 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef DLGFFDPJRPROPERTIES_H
+#define DLGFFDPJRPROPERTIES_H
+
+// Basic inclusions (common to all files)
+#include "../../engine/_GlobalDefines.h"
+#include "../../engine/_QCustomDialog.h"
+
+// Include some additional standard class
+#include <QString>
+#include <QDialog>
+
+// Include some common various class
+#include "../../engine/cBaseApplicationConfig.h"
+#include "../../engine/cBaseMediaFile.h"
+
+namespace Ui {
+ class DlgffDPjrProperties;
+}
+
+class DlgffDPjrProperties : public QCustomDialog {
+Q_OBJECT
+public:
+ cffDProjectFile *ffdProject;
+
+ explicit DlgffDPjrProperties(cffDProjectFile *ffdProject,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent = 0);
+ ~DlgffDPjrProperties();
+
+ // function to be overloaded
+ virtual void DoInitDialog(); // Initialise dialog
+ virtual void DoAccept(); // Call when user click on Ok button
+ virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button
+ virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo
+ virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button
+
+private:
+ Ui::DlgffDPjrProperties *ui;
+};
+
+#endif // DLGFFDPJRPROPERTIES_H
diff --git a/src/ffDiaporama/DlgffDPjrProperties/DlgffDPjrProperties.ui b/src/ffDiaporama/DlgffDPjrProperties/DlgffDPjrProperties.ui
new file mode 100755
index 0000000..f448f85
--- /dev/null
+++ b/src/ffDiaporama/DlgffDPjrProperties/DlgffDPjrProperties.ui
@@ -0,0 +1,273 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DlgffDPjrProperties</class>
+ <widget class="QDialog" name="DlgffDPjrProperties">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>416</height>
+ </rect>
+ </property>
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="windowTitle">
+ <string>Project properties</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <property name="margin">
+ <number>8</number>
+ </property>
+ <item>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Title :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="TitleED">
+ <property name="maxLength">
+ <number>30</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Author :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Album :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Year :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="AuthorED">
+ <property name="maxLength">
+ <number>30</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="AlbumED">
+ <property name="maxLength">
+ <number>30</number>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QSpinBox" name="YearED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimum">
+ <number>1970</number>
+ </property>
+ <property name="maximum">
+ <number>2050</number>
+ </property>
+ <property name="value">
+ <number>2011</number>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QPlainTextEdit" name="CommentED">
+ <property name="lineWrapMode">
+ <enum>QPlainTextEdit::NoWrap</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Language :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <layout class="QHBoxLayout" name="horizontalLayout_10">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLineEdit" name="LanguageED">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>50</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>50</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>und</string>
+ </property>
+ <property name="maxLength">
+ <number>3</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>(ISO 639 language code)</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>Comment :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_8">
+ <property name="text">
+ <string>Chapters :</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <widget class="QTableWidget" name="ChapterTable"/>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>4</number>
+ </property>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="OkBt">
+ <property name="toolTip">
+ <string>Accept modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Ok</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="CancelBt">
+ <property name="toolTip">
+ <string>Cancel modification and exit dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Cancel</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="HelpBT">
+ <property name="toolTip">
+ <string>Open help page describing this dialog box</string>
+ </property>
+ <property name="text">
+ <string>&Help</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
+ </property>
+ <property name="shortcut">
+ <string>F1</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="../../../RSCffDiaporama.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/ffDiaporama/Makefile.Debug b/src/ffDiaporama/Makefile.Debug
index f786bb7..4d05e2b 100755
--- a/src/ffDiaporama/Makefile.Debug
+++ b/src/ffDiaporama/Makefile.Debug
@@ -1,6 +1,6 @@
#############################################################################
# Makefile for building: ffDiaporama
-# Generated by qmake (2.01a) (Qt 4.8.0) on: lun. 5. mars 21:49:59 2012
+# Generated by qmake (2.01a) (Qt 4.8.0) on: sam. 26. mai 07:55:54 2012
# Project: ffDiaporama.pro
# Template: app
#############################################################################
@@ -12,10 +12,10 @@ CXX = g++
DEFINES = -DUNICODE -DQT_LARGEFILE_SUPPORT -DHAVE_CONFIG_H -DTAGLIB_STATIC -DSHARE_DIR=\"/usr\" -DQT_THREAD_SUPPORT -DQT_DLL -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_NEEDS_QMAIN
CFLAGS = -g -Wall $(DEFINES)
CXXFLAGS = -g -frtti -fexceptions -mthreads -Wall $(DEFINES)
-INCPATH = -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtCore" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtNetwork" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtGui" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtXml" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include" -I"c:\Qt\ffmpeg-win32-dev\include" -I"c:\Qt\SDL-1.2.14\include" -I"c:\Qt\ThirdLib\include" -I"." -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\ActiveQt" -I"..\..\..\windebugbuild\src\ffDiaporama" -I"..\..\..\windebugbuild\src\ffDiaporama" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\win32-g++"
+INCPATH = -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtCore" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtNetwork" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtGui" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtXml" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include" -I"c:\Qt\libav-win32\usr\include" -I"c:\Qt\SDL-1.2.14\include" -I"c:\Qt\ThirdLib\include" -I"." -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\ActiveQt" -I"..\..\..\windebugbuild\src\ffDiaporama" -I"..\..\..\windebugbuild\src\ffDiaporama" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\win32-g++"
LINK = g++
LFLAGS = -mthreads -Wl,-subsystem,windows
-LIBS = -L"c:\QtSDK\Desktop\Qt\4.8.0\mingw\lib" -lmingw32 -lqtmaind ..\..\..\windebugbuild\src\ffDiaporama\ffDiaporama_res.o -Lc:\Qt\ffmpeg-win32-dev\lib -Lc:\Qt\SDL-1.2.14\lib -Lc:\Qt\ThirdLib\lib -lgdi32 -lkernel32 -lavformat -lavcodec -lavutil -lswscale -ltag -lSDL -lQtXmld4 -lQtGuid4 -lQtNetworkd4 -lQtCored4
+LIBS = -L"c:\QtSDK\Desktop\Qt\4.8.0\mingw\lib" -lmingw32 -lqtmaind ..\..\..\windebugbuild\src\ffDiaporama\ffDiaporama_res.o -LC:\Qt\libav-win32\usr\lib -Lc:\Qt\SDL-1.2.14\lib -Lc:\Qt\ThirdLib\lib -lgdi32 -lkernel32 -lavformat -lavcodec -lavutil -lswscale -lexiv2 -ltag -lSDL -lQtXmld4 -lQtGuid4 -lQtNetworkd4 -lQtCored4
QMAKE = c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\qmake
IDC = c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\idc.exe
IDL = midl
@@ -41,135 +41,151 @@ OBJECTS_DIR = ..\..\..\windebugbuild\src\ffDiaporama
####### Files
SOURCES = _ApplicationDefinitions.cpp \
- _SoundDefinitions.cpp \
_ImagesDefinitions.cpp \
_Diaporama.cpp \
wgt_QVideoPlayer.cpp \
- wgt_QCustomThumbnails.cpp \
- DlgApplicationSettings.cpp \
- DlgBackgroundProperties.cpp \
- cCustomGraphicsRectItem.cpp \
cCustomComboBox.cpp \
- DlgMusicProperties.cpp \
- DlgRenderVideo.cpp \
- DlgTransitionProperties.cpp \
- DlgAbout.cpp \
mainwindow.cpp \
main.cpp \
- DlgSlideProperties.cpp \
- DlgImageCorrection.cpp \
- DlgVideoEdit.cpp \
- DlgTextEdit.cpp \
- cCustomTableWidget.cpp \
- DlgManageStyle.cpp \
+ cCustomSlideTable.cpp \
_StyleDefinitions.cpp \
- ..\sharedfiles\_GlobalDefines.cpp \
- ..\sharedfiles\QCustomRuller.cpp \
- ..\sharedfiles\DlgCheckConfig.cpp \
- ..\sharedfiles\cSaveWindowPosition.cpp \
- ..\sharedfiles\cBaseApplicationConfig.cpp \
- ..\sharedfiles\cFilterTransformObject.cpp \
- ..\fmt_filters\fmt_filters.cpp \
- ..\sharedfiles\cLuLoImageCache.cpp \
- ..\sharedfiles\cDeviceModelDef.cpp \
- ..\sharedfiles\cSoundBlockList.cpp \
- ..\sharedfiles\cBaseMediaFile.cpp \
- ..\sharedfiles\_SDL_Support.cpp \
- ..\sharedfiles\_QCustomDialog.cpp \
- ..\sharedfiles\DlgManageDevices.cpp \
- ..\sharedfiles\QCustomFileInfoLabel.cpp \
- ..\sharedfiles\DlgffDPjrProperties.cpp \
- ..\sharedfiles\cBrushDefinition.cpp \
- ..\sharedfiles\cCustomIcon.cpp \
- ..\sharedfiles\DlgInfoFile.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_wgt_QVideoPlayer.cpp \
- ..\..\..\windebugbuild\src\ffDiaporama\moc_wgt_QCustomThumbnails.cpp \
- ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgApplicationSettings.cpp \
- ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgBackgroundProperties.cpp \
+ DlgRenderVideo\DlgRenderVideo.cpp \
+ DlgManageStyle\DlgManageStyle.cpp \
+ DlgAbout\DlgAbout.cpp \
+ DlgTransition\DlgTransitionProperties.cpp \
+ DlgMusic\DlgMusicProperties.cpp \
+ DlgBackground\DlgBackgroundProperties.cpp \
+ DlgAppSettings\DlgManageDevices\DlgManageDevices.cpp \
+ DlgAppSettings\DlgApplicationSettings.cpp \
+ DlgImage\cImgInteractiveZone.cpp \
+ DlgImage\DlgImageCorrection.cpp \
+ DlgSlide\cCustomBlockTable.cpp \
+ DlgSlide\DlgSlideProperties.cpp \
+ DlgSlide\cInteractiveZone.cpp \
+ DlgSlide\cCustomShotTable.cpp \
+ DlgSlide\DlgRuler\DlgRulerDef.cpp \
+ DlgText\cCustomTextEdit.cpp \
+ DlgText\DlgTextEdit.cpp \
+ DlgVideo\DlgVideoEdit.cpp \
+ DlgCheckConfig\DlgCheckConfig.cpp \
+ DlgInfoFile\DlgInfoFile.cpp \
+ DlgffDPjrProperties\DlgffDPjrProperties.cpp \
+ ..\engine\_GlobalDefines.cpp \
+ ..\engine\QCustomRuller.cpp \
+ ..\engine\cSaveWindowPosition.cpp \
+ ..\engine\cBaseApplicationConfig.cpp \
+ ..\engine\cFilterTransformObject.cpp \
+ ..\engine\cLuLoImageCache.cpp \
+ ..\engine\cDeviceModelDef.cpp \
+ ..\engine\cSoundBlockList.cpp \
+ ..\engine\cBaseMediaFile.cpp \
+ ..\engine\_SDL_Support.cpp \
+ ..\engine\_QCustomDialog.cpp \
+ ..\engine\QCustomFileInfoLabel.cpp \
+ ..\engine\cBrushDefinition.cpp \
+ ..\engine\cCustomIcon.cpp \
+ ..\fmt_filters\fmt_filters.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_wgt_QVideoPlayer.cpp \
..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomComboBox.cpp \
- ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgMusicProperties.cpp \
+ ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomSlideTable.cpp \
+ ..\..\..\windebugbuild\src\ffDiaporama\moc_mainwindow.cpp \
..\..\..\windebugbuild\src\ffDiaporama\moc_DlgRenderVideo.cpp \
- ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTransitionProperties.cpp \
+ ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageStyle.cpp \
..\..\..\windebugbuild\src\ffDiaporama\moc_DlgAbout.cpp \
- ..\..\..\windebugbuild\src\ffDiaporama\moc_mainwindow.cpp \
- ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgSlideProperties.cpp \
+ ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTransitionProperties.cpp \
+ ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgMusicProperties.cpp \
+ ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgBackgroundProperties.cpp \
+ ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageDevices.cpp \
+ ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgApplicationSettings.cpp \
+ ..\..\..\windebugbuild\src\ffDiaporama\moc_cImgInteractiveZone.cpp \
..\..\..\windebugbuild\src\ffDiaporama\moc_DlgImageCorrection.cpp \
- ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgVideoEdit.cpp \
+ ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgSlideProperties.cpp \
+ ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomBlockTable.cpp \
+ ..\..\..\windebugbuild\src\ffDiaporama\moc_cInteractiveZone.cpp \
+ ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomShotTable.cpp \
+ ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgRulerDef.cpp \
+ ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomTextEdit.cpp \
..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTextEdit.cpp \
- ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomTableWidget.cpp \
- ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageStyle.cpp \
- ..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomRuller.cpp \
+ ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgVideoEdit.cpp \
..\..\..\windebugbuild\src\ffDiaporama\moc_DlgCheckConfig.cpp \
+ ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgInfoFile.cpp \
+ ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgffDPjrProperties.cpp \
+ ..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomRuller.cpp \
..\..\..\windebugbuild\src\ffDiaporama\moc__QCustomDialog.cpp \
- ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageDevices.cpp \
..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomFileInfoLabel.cpp \
- ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgffDPjrProperties.cpp \
- ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgInfoFile.cpp \
..\..\..\windebugbuild\src\ffDiaporama\qrc_RSCffDiaporama.cpp
OBJECTS = ../../../windebugbuild/src/ffDiaporama/_ApplicationDefinitions.o \
- ../../../windebugbuild/src/ffDiaporama/_SoundDefinitions.o \
../../../windebugbuild/src/ffDiaporama/_ImagesDefinitions.o \
../../../windebugbuild/src/ffDiaporama/_Diaporama.o \
../../../windebugbuild/src/ffDiaporama/wgt_QVideoPlayer.o \
- ../../../windebugbuild/src/ffDiaporama/wgt_QCustomThumbnails.o \
- ../../../windebugbuild/src/ffDiaporama/DlgApplicationSettings.o \
- ../../../windebugbuild/src/ffDiaporama/DlgBackgroundProperties.o \
- ../../../windebugbuild/src/ffDiaporama/cCustomGraphicsRectItem.o \
../../../windebugbuild/src/ffDiaporama/cCustomComboBox.o \
- ../../../windebugbuild/src/ffDiaporama/DlgMusicProperties.o \
- ../../../windebugbuild/src/ffDiaporama/DlgRenderVideo.o \
- ../../../windebugbuild/src/ffDiaporama/DlgTransitionProperties.o \
- ../../../windebugbuild/src/ffDiaporama/DlgAbout.o \
../../../windebugbuild/src/ffDiaporama/mainwindow.o \
../../../windebugbuild/src/ffDiaporama/main.o \
- ../../../windebugbuild/src/ffDiaporama/DlgSlideProperties.o \
+ ../../../windebugbuild/src/ffDiaporama/cCustomSlideTable.o \
+ ../../../windebugbuild/src/ffDiaporama/_StyleDefinitions.o \
+ ../../../windebugbuild/src/ffDiaporama/DlgRenderVideo.o \
+ ../../../windebugbuild/src/ffDiaporama/DlgManageStyle.o \
+ ../../../windebugbuild/src/ffDiaporama/DlgAbout.o \
+ ../../../windebugbuild/src/ffDiaporama/DlgTransitionProperties.o \
+ ../../../windebugbuild/src/ffDiaporama/DlgMusicProperties.o \
+ ../../../windebugbuild/src/ffDiaporama/DlgBackgroundProperties.o \
+ ../../../windebugbuild/src/ffDiaporama/DlgManageDevices.o \
+ ../../../windebugbuild/src/ffDiaporama/DlgApplicationSettings.o \
+ ../../../windebugbuild/src/ffDiaporama/cImgInteractiveZone.o \
../../../windebugbuild/src/ffDiaporama/DlgImageCorrection.o \
- ../../../windebugbuild/src/ffDiaporama/DlgVideoEdit.o \
+ ../../../windebugbuild/src/ffDiaporama/cCustomBlockTable.o \
+ ../../../windebugbuild/src/ffDiaporama/DlgSlideProperties.o \
+ ../../../windebugbuild/src/ffDiaporama/cInteractiveZone.o \
+ ../../../windebugbuild/src/ffDiaporama/cCustomShotTable.o \
+ ../../../windebugbuild/src/ffDiaporama/DlgRulerDef.o \
+ ../../../windebugbuild/src/ffDiaporama/cCustomTextEdit.o \
../../../windebugbuild/src/ffDiaporama/DlgTextEdit.o \
- ../../../windebugbuild/src/ffDiaporama/cCustomTableWidget.o \
- ../../../windebugbuild/src/ffDiaporama/DlgManageStyle.o \
- ../../../windebugbuild/src/ffDiaporama/_StyleDefinitions.o \
+ ../../../windebugbuild/src/ffDiaporama/DlgVideoEdit.o \
+ ../../../windebugbuild/src/ffDiaporama/DlgCheckConfig.o \
+ ../../../windebugbuild/src/ffDiaporama/DlgInfoFile.o \
+ ../../../windebugbuild/src/ffDiaporama/DlgffDPjrProperties.o \
../../../windebugbuild/src/ffDiaporama/_GlobalDefines.o \
../../../windebugbuild/src/ffDiaporama/QCustomRuller.o \
- ../../../windebugbuild/src/ffDiaporama/DlgCheckConfig.o \
../../../windebugbuild/src/ffDiaporama/cSaveWindowPosition.o \
../../../windebugbuild/src/ffDiaporama/cBaseApplicationConfig.o \
../../../windebugbuild/src/ffDiaporama/cFilterTransformObject.o \
- ../../../windebugbuild/src/ffDiaporama/fmt_filters.o \
../../../windebugbuild/src/ffDiaporama/cLuLoImageCache.o \
../../../windebugbuild/src/ffDiaporama/cDeviceModelDef.o \
../../../windebugbuild/src/ffDiaporama/cSoundBlockList.o \
../../../windebugbuild/src/ffDiaporama/cBaseMediaFile.o \
../../../windebugbuild/src/ffDiaporama/_SDL_Support.o \
../../../windebugbuild/src/ffDiaporama/_QCustomDialog.o \
- ../../../windebugbuild/src/ffDiaporama/DlgManageDevices.o \
../../../windebugbuild/src/ffDiaporama/QCustomFileInfoLabel.o \
- ../../../windebugbuild/src/ffDiaporama/DlgffDPjrProperties.o \
../../../windebugbuild/src/ffDiaporama/cBrushDefinition.o \
../../../windebugbuild/src/ffDiaporama/cCustomIcon.o \
- ../../../windebugbuild/src/ffDiaporama/DlgInfoFile.o \
+ ../../../windebugbuild/src/ffDiaporama/fmt_filters.o \
../../../windebugbuild/src/ffDiaporama/moc_wgt_QVideoPlayer.o \
- ../../../windebugbuild/src/ffDiaporama/moc_wgt_QCustomThumbnails.o \
- ../../../windebugbuild/src/ffDiaporama/moc_DlgApplicationSettings.o \
- ../../../windebugbuild/src/ffDiaporama/moc_DlgBackgroundProperties.o \
../../../windebugbuild/src/ffDiaporama/moc_cCustomComboBox.o \
- ../../../windebugbuild/src/ffDiaporama/moc_DlgMusicProperties.o \
+ ../../../windebugbuild/src/ffDiaporama/moc_cCustomSlideTable.o \
+ ../../../windebugbuild/src/ffDiaporama/moc_mainwindow.o \
../../../windebugbuild/src/ffDiaporama/moc_DlgRenderVideo.o \
- ../../../windebugbuild/src/ffDiaporama/moc_DlgTransitionProperties.o \
+ ../../../windebugbuild/src/ffDiaporama/moc_DlgManageStyle.o \
../../../windebugbuild/src/ffDiaporama/moc_DlgAbout.o \
- ../../../windebugbuild/src/ffDiaporama/moc_mainwindow.o \
- ../../../windebugbuild/src/ffDiaporama/moc_DlgSlideProperties.o \
+ ../../../windebugbuild/src/ffDiaporama/moc_DlgTransitionProperties.o \
+ ../../../windebugbuild/src/ffDiaporama/moc_DlgMusicProperties.o \
+ ../../../windebugbuild/src/ffDiaporama/moc_DlgBackgroundProperties.o \
+ ../../../windebugbuild/src/ffDiaporama/moc_DlgManageDevices.o \
+ ../../../windebugbuild/src/ffDiaporama/moc_DlgApplicationSettings.o \
+ ../../../windebugbuild/src/ffDiaporama/moc_cImgInteractiveZone.o \
../../../windebugbuild/src/ffDiaporama/moc_DlgImageCorrection.o \
- ../../../windebugbuild/src/ffDiaporama/moc_DlgVideoEdit.o \
+ ../../../windebugbuild/src/ffDiaporama/moc_DlgSlideProperties.o \
+ ../../../windebugbuild/src/ffDiaporama/moc_cCustomBlockTable.o \
+ ../../../windebugbuild/src/ffDiaporama/moc_cInteractiveZone.o \
+ ../../../windebugbuild/src/ffDiaporama/moc_cCustomShotTable.o \
+ ../../../windebugbuild/src/ffDiaporama/moc_DlgRulerDef.o \
+ ../../../windebugbuild/src/ffDiaporama/moc_cCustomTextEdit.o \
../../../windebugbuild/src/ffDiaporama/moc_DlgTextEdit.o \
- ../../../windebugbuild/src/ffDiaporama/moc_cCustomTableWidget.o \
- ../../../windebugbuild/src/ffDiaporama/moc_DlgManageStyle.o \
- ../../../windebugbuild/src/ffDiaporama/moc_QCustomRuller.o \
+ ../../../windebugbuild/src/ffDiaporama/moc_DlgVideoEdit.o \
../../../windebugbuild/src/ffDiaporama/moc_DlgCheckConfig.o \
+ ../../../windebugbuild/src/ffDiaporama/moc_DlgInfoFile.o \
+ ../../../windebugbuild/src/ffDiaporama/moc_DlgffDPjrProperties.o \
+ ../../../windebugbuild/src/ffDiaporama/moc_QCustomRuller.o \
../../../windebugbuild/src/ffDiaporama/moc__QCustomDialog.o \
- ../../../windebugbuild/src/ffDiaporama/moc_DlgManageDevices.o \
../../../windebugbuild/src/ffDiaporama/moc_QCustomFileInfoLabel.o \
- ../../../windebugbuild/src/ffDiaporama/moc_DlgffDPjrProperties.o \
- ../../../windebugbuild/src/ffDiaporama/moc_DlgInfoFile.o \
../../../windebugbuild/src/ffDiaporama/qrc_RSCffDiaporama.o
DIST =
QMAKE_TARGET = ffDiaporama
@@ -198,7 +214,7 @@ DESTDIR_TARGET = ..\..\..\windebugbuild\ffDiaporama.exe
first: all
all: Makefile.Debug $(DESTDIR_TARGET)
-$(DESTDIR_TARGET): ../../../windebugbuild/src/ffDiaporama/ui_mainwindow.h ../../../windebugbuild/src/ffDiaporama/ui_wgt_QVideoPlayer.h ../../../windebugbuild/src/ffDiaporama/ui_DlgApplicationSettings.h ../../../windebugbuild/src/ffDiaporama/ui_DlgBackgroundProperties.h ../../../windebugbuild/src/ffDiaporama/ui_DlgMusicProperties.h ../../../windebugbuild/src/ffDiaporama/ui_DlgRenderVideo.h ../../../windebugbuild/src/ffDiaporama/ui_DlgTransitionProperties.h ../../../windebugbuild/src/ffDiaporama/ui_DlgAbout.h ../../../windebugbuild/src/ffDiaporama/ui_DlgSlideProperties.h ../../../windebugbuild/src/ffDiaporama/ui_DlgImageCorrection.h ../../../windebugbuild/src/ffDiaporama/ui_DlgVideoEdit.h ../../../windebugbuild/src/ffDiaporama/ui_DlgTextEdit.h ../../../windebugbuild/src/ffDiaporama/ui_DlgManageStyle.h ../../../windebugbuild/src/ffDiaporama/ui_DlgCheckConfig.h ../../../windebugbuild/src/ffDiaporama/ui_DlgManageDevices.h ../../../windebugbuild/src/ffDiaporama/ui_DlgffDPjrProperties.h ../../../windebugbuild/src/ffDiaporama/ui_DlgInfoFile.h $(OBJECTS) ../../../windebugbuild/src/ffDiaporama/ffDiaporama_res.o
+$(DESTDIR_TARGET): ../../../windebugbuild/src/ffDiaporama/ui_mainwindow.h ../../../windebugbuild/src/ffDiaporama/ui_wgt_QVideoPlayer.h ../../../windebugbuild/src/ffDiaporama/ui_DlgRenderVideo.h ../../../windebugbuild/src/ffDiaporama/ui_DlgManageStyle.h ../../../windebugbuild/src/ffDiaporama/ui_DlgAbout.h ../../../windebugbuild/src/ffDiaporama/ui_DlgTransitionProperties.h ../../../windebugbuild/src/ffDiaporama/ui_DlgMusicProperties.h ../../../windebugbuild/src/ffDiaporama/ui_DlgBackgroundProperties.h ../../../windebugbuild/src/ffDiaporama/ui_DlgManageDevices.h ../../../windebugbuild/src/ffDiaporama/ui_DlgApplicationSettings.h ../../../windebugbuild/src/ffDiaporama/ui_DlgImageCorrection.h ../../../windebugbuild/src/ffDiaporama/ui_DlgSlideProperties.h ../../../windebugbuild/src/ffDiaporama/ui_DlgRulerDef.h ../../../windebugbuild/src/ffDiaporama/ui_DlgTextEdit.h ../../../windebugbuild/src/ffDiaporama/ui_DlgVideoEdit.h ../../../windebugbuild/src/ffDiaporama/ui_DlgCheckConfig.h ../../../windebugbuild/src/ffDiaporama/ui_DlgInfoFile.h ../../../windebugbuild/src/ffDiaporama/ui_DlgffDPjrProperties.h $(OBJECTS) ../../../windebugbuild/src/ffDiaporama/ffDiaporama_res.o
$(LINK) $(LFLAGS) -o $(DESTDIR_TARGET) object_script.ffDiaporama.Debug $(LIBS)
../../../windebugbuild/src/ffDiaporama/ffDiaporama_res.o: ..\..\ffDiaporama.rc
@@ -211,8 +227,9 @@ dist:
$(ZIP) ffDiaporama.zip $(SOURCES) $(DIST) ffDiaporama.pro c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\qconfig.pri c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\modules\qt_webkit_version.pri c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\qt_functions.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\qt_config.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\exclusive_builds.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\default_pre.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\win32\default_pre.prf ..\common.pri c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\debug.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\debug_and_release.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\default_post.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\win32\default_post.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\build_pass.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\win32\thread.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\win32\rtti.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\win32\exceptions.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\win32\stl.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\shared.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\warn_on.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\qt.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\moc.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\win32\windows.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\resources.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\uic.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\yacc.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\lex.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\lib\qtmaind.prl ..\..\locale\ffDiaporama_fr.ts ..\..\locale\ffDiaporama_it.ts ..\..\locale\ffDiaporama_de.ts ..\..\locale\ffDiaporama_nl.ts ..\..\locale\ffDiaporama_es.ts ..\..\locale\ffDiaporama_pt.ts ..\..\locale\ffDiaporama_ru.ts ..\..\locale\ffDiaporama_el.ts ..\..\locale\ffDiaporama_cz.ts ..\..\locale\ffDiaporama_fr.ts ..\..\locale\ffDiaporama_it.ts ..\..\locale\ffDiaporama_de.ts ..\..\locale\ffDiaporama_nl.ts ..\..\locale\ffDiaporama_es.ts ..\..\locale\ffDiaporama_pt.ts ..\..\locale\ffDiaporama_ru.ts ..\..\locale\ffDiaporama_el.ts ..\..\locale\ffDiaporama_cz.ts HEADERS RESOURCES IMAGES SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES
clean: compiler_clean
- -$(DEL_FILE) ..\..\..\windebugbuild\src\ffDiaporama\_ApplicationDefinitions.o ..\..\..\windebugbuild\src\ffDiaporama\_SoundDefinitions.o ..\..\..\windebugbuild\src\ffDiaporama\_ImagesDefinitions.o ..\..\..\windebugbuild\src\ffDiaporama\_Diaporama.o ..\..\..\windebugbuild\src\ffDiaporama\wgt_QVideoPlayer.o ..\..\..\windebugbuild\src\ffDiaporama\wgt_QCustomThumbnails.o ..\..\..\windebugbuild\src\ffDiaporama\DlgApplicationSettings.o ..\..\..\windebugbuild\src\ffDiaporama\DlgBackgroundProperties.o ..\..\..\windebugbuild\src\ffDiaporama\cCustomGraphicsRectItem.o ..\..\..\windebugbuild\src\ffDiaporama\cCustomComboBox.o ..\..\..\windebugbuild\src\ffDiaporama\DlgMusicProperties.o ..\..\..\windebugbuild\src\ffDiaporama\DlgRenderVideo.o ..\..\..\windebugbuild\src\ffDiaporama\DlgTransitionProperties.o ..\..\..\windebugbuild\src\ffDiaporama\DlgAbout.o ..\..\..\windebugbuild\src\ffDiaporama\mainwindow.o ..\..\..\windebugbuild\src\ffDiaporama\main.o ..\..\..\windebugbuild\src\ffDiaporama\DlgSlideProperties.o ..\..\..\windebugbuild\src\ffDiaporama\DlgImageCorrection.o ..\..\..\windebugbuild\src\ffDiaporama\DlgVideoEdit.o ..\..\..\windebugbuild\src\ffDiaporama\DlgTextEdit.o ..\..\..\windebugbuild\src\ffDiaporama\cCustomTableWidget.o ..\..\..\windebugbuild\src\ffDiaporama\DlgManageStyle.o ..\..\..\windebugbuild\src\ffDiaporama\_StyleDefinitions.o ..\..\..\windebugbuild\src\ffDiaporama\_GlobalDefines.o ..\..\..\windebugbuild\src\ffDiaporama\QCustomRuller.o ..\..\..\windebugbuild\src\ffDiaporama\DlgCheckConfig.o ..\..\..\windebugbuild\src\ffDiaporama\cSaveWindowPosition.o ..\..\..\windebugbuild\src\ffDiaporama\cBaseApplicationConfig.o ..\..\..\windebugbuild\src\ffDiaporama\cFilterTransformObject.o ..\..\..\windebugbuild\src\ffDiaporama\fmt_filters.o ..\..\..\windebugbuild\src\ffDiaporama\cLuLoImageCache.o ..\..\..\windebugbuild\src\ffDiaporama\cDeviceModelDef.o ..\..\..\windebugbuild\src\ffDiaporama\cSoundBlockList.o ..\..\..\windebugbuild\src\ffDiaporama\cBaseMediaFile.o ..\..\..\windebugbuild\src\ffDiaporama\_SDL_Support.o
- -$(DEL_FILE) ..\..\..\windebugbuild\src\ffDiaporama\_QCustomDialog.o ..\..\..\windebugbuild\src\ffDiaporama\DlgManageDevices.o ..\..\..\windebugbuild\src\ffDiaporama\QCustomFileInfoLabel.o ..\..\..\windebugbuild\src\ffDiaporama\DlgffDPjrProperties.o ..\..\..\windebugbuild\src\ffDiaporama\cBrushDefinition.o ..\..\..\windebugbuild\src\ffDiaporama\cCustomIcon.o ..\..\..\windebugbuild\src\ffDiaporama\DlgInfoFile.o ..\..\..\windebugbuild\src\ffDiaporama\moc_wgt_QVideoPlayer.o ..\..\..\windebugbuild\src\ffDiaporama\moc_wgt_QCustomThumbnails.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgApplicationSettings.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgBackgroundProperties.o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomComboBox.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgMusicProperties.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgRenderVideo.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTransitionProperties.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgAbout.o ..\..\..\windebugbuild\src\ffDiaporama\moc_mainwindow.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgSlideProperties.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgImageCorrection.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgVideoEdit.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTextEdit.o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomTableWidget.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageStyle.o ..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomRuller.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgCheckConfig.o ..\..\..\windebugbuild\src\ffDiaporama\moc__QCustomDialog.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageDevices.o ..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomFileInfoLabel.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgffDPjrProperties.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgInfoFile.o ..\..\..\windebugbuild\src\ffDiaporama\qrc_RSCffDiaporama.o
+ -$(DEL_FILE) ..\..\..\windebugbuild\src\ffDiaporama\_ApplicationDefinitions.o ..\..\..\windebugbuild\src\ffDiaporama\_ImagesDefinitions.o ..\..\..\windebugbuild\src\ffDiaporama\_Diaporama.o ..\..\..\windebugbuild\src\ffDiaporama\wgt_QVideoPlayer.o ..\..\..\windebugbuild\src\ffDiaporama\cCustomComboBox.o ..\..\..\windebugbuild\src\ffDiaporama\mainwindow.o ..\..\..\windebugbuild\src\ffDiaporama\main.o ..\..\..\windebugbuild\src\ffDiaporama\cCustomSlideTable.o ..\..\..\windebugbuild\src\ffDiaporama\_StyleDefinitions.o ..\..\..\windebugbuild\src\ffDiaporama\DlgRenderVideo.o ..\..\..\windebugbuild\src\ffDiaporama\DlgManageStyle.o ..\..\..\windebugbuild\src\ffDiaporama\DlgAbout.o ..\..\..\windebugbuild\src\ffDiaporama\DlgTransitionProperties.o ..\..\..\windebugbuild\src\ffDiaporama\DlgMusicProperties.o ..\..\..\windebugbuild\src\ffDiaporama\DlgBackgroundProperties.o ..\..\..\windebugbuild\src\ffDiaporama\DlgManageDevices.o ..\..\..\windebugbuild\src\ffDiaporama\DlgApplicationSettings.o ..\..\..\windebugbuild\src\ffDiaporama\cImgInteractiveZone.o ..\..\..\windebugbuild\src\ffDiaporama\DlgImageCorrection.o ..\..\..\windebugbuild\src\ffDiaporama\cCustomBlockTable.o ..\..\..\windebugbuild\src\ffDiaporama\DlgSlideProperties.o ..\..\..\windebugbuild\src\ffDiaporama\cInteractiveZone.o ..\..\..\windebugbuild\src\ffDiaporama\cCustomShotTable.o ..\..\..\windebugbuild\src\ffDiaporama\DlgRulerDef.o ..\..\..\windebugbuild\src\ffDiaporama\cCustomTextEdit.o ..\..\..\windebugbuild\src\ffDiaporama\DlgTextEdit.o ..\..\..\windebugbuild\src\ffDiaporama\DlgVideoEdit.o ..\..\..\windebugbuild\src\ffDiaporama\DlgCheckConfig.o ..\..\..\windebugbuild\src\ffDiaporama\DlgInfoFile.o ..\..\..\windebugbuild\src\ffDiaporama\DlgffDPjrProperties.o ..\..\..\windebugbuild\src\ffDiaporama\_GlobalDefines.o ..\..\..\windebugbuild\src\ffDiaporama\QCustomRuller.o ..\..\..\windebugbuild\src\ffDiaporama\cSaveWindowPosition.o ..\..\..\windebugbuild\src\ffDiaporama\cBaseApplicationConfig.o ..\..\..\windebugbuild\src\ffDiaporama\cFilterTransformObject.o
+ -$(DEL_FILE) ..\..\..\windebugbuild\src\ffDiaporama\cLuLoImageCache.o ..\..\..\windebugbuild\src\ffDiaporama\cDeviceModelDef.o ..\..\..\windebugbuild\src\ffDiaporama\cSoundBlockList.o ..\..\..\windebugbuild\src\ffDiaporama\cBaseMediaFile.o ..\..\..\windebugbuild\src\ffDiaporama\_SDL_Support.o ..\..\..\windebugbuild\src\ffDiaporama\_QCustomDialog.o ..\..\..\windebugbuild\src\ffDiaporama\QCustomFileInfoLabel.o ..\..\..\windebugbuild\src\ffDiaporama\cBrushDefinition.o ..\..\..\windebugbuild\src\ffDiaporama\cCustomIcon.o ..\..\..\windebugbuild\src\ffDiaporama\fmt_filters.o ..\..\..\windebugbuild\src\ffDiaporama\moc_wgt_QVideoPlayer.o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomComboBox.o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomSlideTable.o ..\..\..\windebugbuild\src\ffDiaporama\moc_mainwindow.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgRenderVideo.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageStyle.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgAbout.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTransitionProperties.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgMusicProperties.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgBackgroundProperties.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageDevices.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgApplicationSettings.o ..\..\..\windebugbuild\src\ffDiaporama\moc_cImgInteractiveZone.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgImageCorrection.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgSlideProperties.o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomBlockTable.o ..\..\..\windebugbuild\src\ffDiaporama\moc_cInteractiveZone.o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomShotTable.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgRulerDef.o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomTextEdit.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTextEdit.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgVideoEdit.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgCheckConfig.o
+ -$(DEL_FILE) ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgInfoFile.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgffDPjrProperties.o ..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomRuller.o ..\..\..\windebugbuild\src\ffDiaporama\moc__QCustomDialog.o ..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomFileInfoLabel.o ..\..\..\windebugbuild\src\ffDiaporama\qrc_RSCffDiaporama.o
-$(DEL_FILE) ..\..\..\windebugbuild\src\ffDiaporama\ffDiaporama_res.o
distclean: clean
@@ -225,390 +242,424 @@ mocclean: compiler_moc_header_clean compiler_moc_source_clean
mocables: compiler_moc_header_make_all compiler_moc_source_make_all
-compiler_moc_header_make_all: ../../../windebugbuild/src/ffDiaporama/moc_wgt_QVideoPlayer.cpp ../../../windebugbuild/src/ffDiaporama/moc_wgt_QCustomThumbnails.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgApplicationSettings.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgBackgroundProperties.cpp ../../../windebugbuild/src/ffDiaporama/moc_cCustomComboBox.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgMusicProperties.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgRenderVideo.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgTransitionProperties.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgAbout.cpp ../../../windebugbuild/src/ffDiaporama/moc_mainwindow.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgSlideProperties.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgImageCorrection.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgVideoEdit.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgTextEdit.cpp ../../../windebugbuild/src/ffDiaporama/moc_cCustomTableWidget.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgManageStyle.cpp ../../../windebugbuild/src/ffDiaporama/moc_QCustomRuller.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgCheckConfig.cpp ../../../windebugbuild/src/ffDiaporama/moc__QCustomDialog.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgManageDevices.cpp ../../../windebugbuild/src/ffDiaporama/moc_QCustomFileInfoLabel.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgffDPjrProperties.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgInfoFile.cpp
+compiler_moc_header_make_all: ../../../windebugbuild/src/ffDiaporama/moc_wgt_QVideoPlayer.cpp ../../../windebugbuild/src/ffDiaporama/moc_cCustomComboBox.cpp ../../../windebugbuild/src/ffDiaporama/moc_cCustomSlideTable.cpp ../../../windebugbuild/src/ffDiaporama/moc_mainwindow.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgRenderVideo.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgManageStyle.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgAbout.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgTransitionProperties.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgMusicProperties.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgBackgroundProperties.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgManageDevices.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgApplicationSettings.cpp ../../../windebugbuild/src/ffDiaporama/moc_cImgInteractiveZone.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgImageCorrection.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgSlideProperties.cpp ../../../windebugbuild/src/ffDiaporama/moc_cCustomBlockTable.cpp ../../../windebugbuild/src/ffDiaporama/moc_cInteractiveZone.cpp ../../../windebugbuild/src/ffDiaporama/moc_cCustomShotTable.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgRulerDef.cpp ../../../windebugbuild/src/ffDiaporama/moc_cCustomTextEdit.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgTextEdit.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgVideoEdit.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgCheckConfig.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgInfoFile.cpp ../../../windebugbuild/src/ffDiaporama/moc_DlgffDPjrProperties.cpp ../../../windebugbuild/src/ffDiaporama/moc_QCustomRuller.cpp ../../../windebugbuild/src/ffDiaporama/moc__QCustomDialog.cpp ../../../windebugbuild/src/ffDiaporama/moc_QCustomFileInfoLabel.cpp
compiler_moc_header_clean:
- -$(DEL_FILE) ..\..\..\windebugbuild\src\ffDiaporama\moc_wgt_QVideoPlayer.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_wgt_QCustomThumbnails.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgApplicationSettings.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgBackgroundProperties.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomComboBox.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgMusicProperties.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgRenderVideo.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTransitionProperties.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgAbout.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_mainwindow.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgSlideProperties.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgImageCorrection.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgVideoEdit.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTextEdit.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomTableWidget.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageStyle.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomRuller.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgCheckConfig.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc__QCustomDialog.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageDevices.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomFileInfoLabel.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgffDPjrProperties.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgInfoFile.cpp
-../../../windebugbuild/src/ffDiaporama/moc_wgt_QVideoPlayer.cpp: ../sharedfiles/_GlobalDefines.h \
+ -$(DEL_FILE) ..\..\..\windebugbuild\src\ffDiaporama\moc_wgt_QVideoPlayer.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomComboBox.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomSlideTable.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_mainwindow.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgRenderVideo.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageStyle.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgAbout.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTransitionProperties.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgMusicProperties.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgBackgroundProperties.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageDevices.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgApplicationSettings.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_cImgInteractiveZone.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgImageCorrection.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgSlideProperties.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomBlockTable.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_cInteractiveZone.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomShotTable.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgRulerDef.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomTextEdit.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTextEdit.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgVideoEdit.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgCheckConfig.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgInfoFile.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgffDPjrProperties.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomRuller.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc__QCustomDialog.cpp ..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomFileInfoLabel.cpp
+../../../windebugbuild/src/ffDiaporama/moc_wgt_QVideoPlayer.cpp: ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
+ ../engine/cBrushDefinition.h \
wgt_QVideoPlayer.h
C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 wgt_QVideoPlayer.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_wgt_QVideoPlayer.cpp
-../../../windebugbuild/src/ffDiaporama/moc_wgt_QCustomThumbnails.cpp: ../sharedfiles/_GlobalDefines.h \
+../../../windebugbuild/src/ffDiaporama/moc_cCustomComboBox.cpp: ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- wgt_QCustomThumbnails.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 wgt_QCustomThumbnails.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_wgt_QCustomThumbnails.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc_DlgApplicationSettings.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- _ApplicationDefinitions.h \
- ../sharedfiles/cDeviceModelDef.h \
- _StyleDefinitions.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cSoundBlockList.h \
- DlgApplicationSettings.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgApplicationSettings.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgApplicationSettings.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc_DlgBackgroundProperties.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ cCustomComboBox.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 cCustomComboBox.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomComboBox.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_cCustomSlideTable.cpp: ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- DlgBackgroundProperties.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgBackgroundProperties.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgBackgroundProperties.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc_cCustomComboBox.cpp: ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ cCustomSlideTable.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 cCustomSlideTable.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomSlideTable.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_mainwindow.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_SDL_Support.h \
+ ../engine/cSoundBlockList.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- cCustomComboBox.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 cCustomComboBox.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomComboBox.cpp
+ ../engine/cBrushDefinition.h \
+ mainwindow.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 mainwindow.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_mainwindow.cpp
-../../../windebugbuild/src/ffDiaporama/moc_DlgMusicProperties.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+../../../windebugbuild/src/ffDiaporama/moc_DlgRenderVideo.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- DlgMusicProperties.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgMusicProperties.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgMusicProperties.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc_DlgRenderVideo.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ DlgRenderVideo/DlgRenderVideo.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgRenderVideo\DlgRenderVideo.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgRenderVideo.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_DlgManageStyle.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _StyleDefinitions.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cSoundBlockList.h \
+ DlgManageStyle/DlgManageStyle.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgManageStyle\DlgManageStyle.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageStyle.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_DlgAbout.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ DlgAbout/DlgAbout.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgAbout\DlgAbout.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgAbout.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_DlgTransitionProperties.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- DlgRenderVideo.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgRenderVideo.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgRenderVideo.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc_DlgTransitionProperties.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ DlgTransition/DlgTransitionProperties.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgTransition\DlgTransitionProperties.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTransitionProperties.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_DlgMusicProperties.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- DlgTransitionProperties.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgTransitionProperties.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTransitionProperties.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc_DlgAbout.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- DlgAbout.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgAbout.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgAbout.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc_mainwindow.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_SDL_Support.h \
- ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ DlgMusic/DlgMusicProperties.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgMusic\DlgMusicProperties.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgMusicProperties.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_DlgBackgroundProperties.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- cCustomTableWidget.h \
- mainwindow.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 mainwindow.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_mainwindow.cpp
+ ../engine/cBrushDefinition.h \
+ DlgBackground/DlgBackgroundProperties.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgBackground\DlgBackgroundProperties.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgBackgroundProperties.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_DlgManageDevices.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ DlgAppSettings/DlgManageDevices/DlgManageDevices.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgAppSettings\DlgManageDevices\DlgManageDevices.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageDevices.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_DlgApplicationSettings.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _ApplicationDefinitions.h \
+ ../engine/cDeviceModelDef.h \
+ _StyleDefinitions.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cSoundBlockList.h \
+ DlgAppSettings/DlgApplicationSettings.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgAppSettings\DlgApplicationSettings.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgApplicationSettings.cpp
-../../../windebugbuild/src/ffDiaporama/moc_DlgSlideProperties.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+../../../windebugbuild/src/ffDiaporama/moc_cImgInteractiveZone.cpp: ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- cCustomGraphicsRectItem.h \
- DlgSlideProperties.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgSlideProperties.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgSlideProperties.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc_DlgImageCorrection.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ DlgImage/cImgInteractiveZone.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgImage\cImgInteractiveZone.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_cImgInteractiveZone.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_DlgImageCorrection.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- cCustomGraphicsRectItem.h \
- DlgImageCorrection.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgImageCorrection.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgImageCorrection.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc_DlgVideoEdit.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ DlgImage/DlgImageCorrection.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgImage\DlgImageCorrection.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgImageCorrection.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_DlgSlideProperties.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- DlgVideoEdit.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgVideoEdit.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgVideoEdit.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc_DlgTextEdit.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ DlgSlide/DlgSlideProperties.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgSlide\DlgSlideProperties.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgSlideProperties.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_cCustomBlockTable.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- DlgTextEdit.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgTextEdit.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTextEdit.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc_cCustomTableWidget.cpp: ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ DlgSlide/cCustomBlockTable.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgSlide\cCustomBlockTable.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomBlockTable.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_cInteractiveZone.cpp: ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- cCustomTableWidget.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 cCustomTableWidget.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomTableWidget.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc_DlgManageStyle.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ DlgSlide/cCustomBlockTable.h \
+ DlgSlide/cInteractiveZone.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgSlide\cInteractiveZone.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_cInteractiveZone.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_cCustomShotTable.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _Diaporama.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
+ _ApplicationDefinitions.h \
_StyleDefinitions.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cSoundBlockList.h \
- DlgManageStyle.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgManageStyle.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageStyle.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc_QCustomRuller.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/QCustomRuller.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 ..\sharedfiles\QCustomRuller.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomRuller.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc_DlgCheckConfig.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/DlgCheckConfig.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 ..\sharedfiles\DlgCheckConfig.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgCheckConfig.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc__QCustomDialog.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/_QCustomDialog.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 ..\sharedfiles\_QCustomDialog.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc__QCustomDialog.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc_DlgManageDevices.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/DlgManageDevices.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 ..\sharedfiles\DlgManageDevices.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageDevices.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc_QCustomFileInfoLabel.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/QCustomFileInfoLabel.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 ..\sharedfiles\QCustomFileInfoLabel.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomFileInfoLabel.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc_DlgffDPjrProperties.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/DlgffDPjrProperties.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 ..\sharedfiles\DlgffDPjrProperties.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgffDPjrProperties.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc_DlgInfoFile.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/DlgInfoFile.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 ..\sharedfiles\DlgInfoFile.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgInfoFile.cpp
+ _ImagesDefinitions.h \
+ ../engine/cBrushDefinition.h \
+ DlgSlide/cCustomShotTable.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgSlide\cCustomShotTable.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomShotTable.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_DlgRulerDef.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ DlgSlide/DlgRuler/DlgRulerDef.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgSlide\DlgRuler\DlgRulerDef.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgRulerDef.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_cCustomTextEdit.cpp: DlgText/cCustomTextEdit.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgText\cCustomTextEdit.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomTextEdit.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_DlgTextEdit.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _Diaporama.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
+ _ApplicationDefinitions.h \
+ _StyleDefinitions.h \
+ _ImagesDefinitions.h \
+ ../engine/cBrushDefinition.h \
+ DlgText/DlgTextEdit.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgText\DlgTextEdit.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTextEdit.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_DlgVideoEdit.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _Diaporama.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
+ _ApplicationDefinitions.h \
+ _StyleDefinitions.h \
+ _ImagesDefinitions.h \
+ ../engine/cBrushDefinition.h \
+ DlgVideo/DlgVideoEdit.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgVideo\DlgVideoEdit.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgVideoEdit.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_DlgCheckConfig.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ DlgCheckConfig/DlgCheckConfig.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgCheckConfig\DlgCheckConfig.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgCheckConfig.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_DlgInfoFile.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
+ DlgInfoFile/DlgInfoFile.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgInfoFile\DlgInfoFile.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgInfoFile.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_DlgffDPjrProperties.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
+ DlgffDPjrProperties/DlgffDPjrProperties.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgffDPjrProperties\DlgffDPjrProperties.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgffDPjrProperties.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_QCustomRuller.cpp: ../engine/_GlobalDefines.h \
+ ../engine/QCustomRuller.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 ..\engine\QCustomRuller.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomRuller.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc__QCustomDialog.cpp: ../engine/_GlobalDefines.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/_QCustomDialog.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 ..\engine\_QCustomDialog.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc__QCustomDialog.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_QCustomFileInfoLabel.cpp: ../engine/_GlobalDefines.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
+ ../engine/QCustomFileInfoLabel.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 ..\engine\QCustomFileInfoLabel.h -o ..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomFileInfoLabel.cpp
compiler_rcc_make_all: ../../../windebugbuild/src/ffDiaporama/qrc_RSCffDiaporama.cpp
compiler_rcc_clean:
@@ -631,14 +682,14 @@ compiler_rcc_clean:
../../img/player_pause.png \
../../img/DISPLAY_JUKEBOX_S.png \
../../img/undo.png \
- ../../img/text_bold.png \
../../img/FILTER_MUSIC_S.png \
../../img/kmultiple.png \
- ../../img/text_align_vup.png \
../../img/player_fwd.png \
../../img/SmallGreen.png \
- ../../img/arrow_down.png \
+ ../../img/ScrollX.png \
../../img/FILTER_VIDEO_S.png \
+ ../../img/arrow_down.png \
+ ../../img/ScrollY.png \
../../img/Action_Open.png \
../../img/PosEnd.png \
../../img/Distance.png \
@@ -650,16 +701,17 @@ compiler_rcc_clean:
../../img/Refresh.png \
../../img/trash.png \
../../img/PrjProperties.png \
+ ../../img/aoright.png \
../../img/PosStart.png \
../../img/Geometry_Lock.png \
../../img/Red.png \
../../img/EditText.png \
../../img/color_fill.png \
- ../../img/Transform.png \
../../img/FILTER_IMAGE_S.png \
- ../../img/db_menu.png \
+ ../../img/Transform.png \
+ ../../img/Camera.png \
../../img/VideoMask_120x180.png \
- ../../img/text_align_vcenter.png \
+ ../../img/db_menu.png \
../../img/Brightness.png \
../../img/EditImage.png \
../../img/Smartphone.png \
@@ -669,18 +721,18 @@ compiler_rcc_clean:
../../img/add_project.png \
../../img/help.png \
../../img/TimelineBlocks.png \
+ ../../img/aotop.png \
../../img/Geometry.png \
../../img/pattern_fill.png \
../../img/player_end.png \
../../img/Geometry_ImageLock.png \
../../img/PosSize_Height.png \
- ../../img/exit.png \
../../img/VideoMask_150x200.png \
+ ../../img/exit.png \
../../img/color.png \
../../img/editpaste.png \
../../img/Geometry_Unlock.png \
../../img/Alignment.png \
- ../../img/text_align_left.png \
../../img/Chapter.png \
../../img/db_update.png \
../../img/colorize.png \
@@ -693,15 +745,15 @@ compiler_rcc_clean:
../../img/DISPLAY_WEB_S.png \
../../img/zoom.png \
../../img/splash.png \
+ ../../img/Lock24.png \
../../img/rotationg.png \
+ ../../img/aoleft.png \
../../img/FolderMask_200.png \
../../img/file_temporary.png \
../../img/zoomdown.png \
../../img/db_add.png \
- ../../img/text_align_center.png \
../../img/filenew.png \
../../img/ruler_ko.png \
- ../../img/text_align_vbottom.png \
../../img/PosSize_X.png \
../../img/PosSize_Y.png \
../../img/add_image.png \
@@ -718,19 +770,16 @@ compiler_rcc_clean:
../../img/AddFolder.png \
../../img/db_status.png \
../../img/Radius.png \
+ ../../img/undo24.png \
../../img/AdjustW.png \
../../img/tv.png \
../../img/DISPLAY_DATA_S.png \
../../img/Gamma.png \
- ../../img/text_align_justif.png \
../../img/EditMovie.png \
- ../../img/text_underline.png \
../../img/filesave.png \
../../img/Blue.png \
- ../../img/text_italic.png \
../../img/arrow_right.png \
../../img/object_sound.png \
- ../../img/text_align_right.png \
../../img/object_imageHide.png \
../../img/random.png \
../../img/editcopy.png \
@@ -754,7 +803,9 @@ compiler_rcc_clean:
../../img/AdjustWH.png \
../../img/DISPLAY_WEB.png \
../../img/DISPLAY_JUKEBOX.png \
+ ../../img/arrange.png \
../../img/ConvertAudio.png \
+ ../../img/aocenterv.png \
../../img/FILTER_FFD_S.png \
../../img/TimelineShots.png \
../../img/sound_KO.png \
@@ -763,7 +814,9 @@ compiler_rcc_clean:
../../img/filter.png \
../../img/add_text.png \
../../img/Action_Info.png \
+ ../../img/aocenterh.png \
../../img/fifteenpieces.png \
+ ../../img/aobottom.png \
../../img/Transitions/tr-01-01.png \
../../img/Transitions/tr-03-06.png \
../../img/Transitions/tr-10-03.png \
@@ -823,19 +876,22 @@ compiler_rcc_clean:
../../img/Transitions/tr-03-03.png \
../../img/Transitions/tr-01-06.png \
../../img/Transitions/tr-10-00.png \
- ../../img/MediaIcons/200x200/video.png \
- ../../img/MediaIcons/200x200/delayed.png \
- ../../img/MediaIcons/200x200/image.png \
- ../../img/MediaIcons/200x200/cdrom.png \
- ../../img/MediaIcons/200x200/file.png \
- ../../img/MediaIcons/200x200/hdd-lan.png \
- ../../img/MediaIcons/200x200/directory.png \
- ../../img/MediaIcons/200x200/usb.png \
- ../../img/MediaIcons/200x200/Thumbnails.png \
- ../../img/MediaIcons/200x200/hdd.png \
- ../../img/MediaIcons/200x200/folder_home.png \
- ../../img/MediaIcons/200x200/audio.png \
- ../../img/MediaIcons/200x200/ffDiaporama.png \
+ ../../img/Text/text_align_vcenter.png \
+ ../../img/Text/text_italic.png \
+ ../../img/Text/text_super.png \
+ ../../img/Text/text_align_right.png \
+ ../../img/Text/text_indent_in.png \
+ ../../img/Text/text_align_vbottom.png \
+ ../../img/Text/text_indent_out.png \
+ ../../img/Text/text_align_justif.png \
+ ../../img/Text/text_underline.png \
+ ../../img/Text/text_align_left.png \
+ ../../img/Text/text_align_vup.png \
+ ../../img/Text/text_bold.png \
+ ../../img/Text/text_sub.png \
+ ../../img/Text/text_align_center.png \
+ ../../img/Text/text_list.png \
+ ../../img/Text/text_list_nbr.png \
../../img/MediaIcons/100x100/video.png \
../../img/MediaIcons/100x100/delayed.png \
../../img/MediaIcons/100x100/image.png \
@@ -851,6 +907,7 @@ compiler_rcc_clean:
../../img/MediaIcons/100x100/audio.png \
../../img/MediaIcons/100x100/ffDiaporama.png \
../../img/MediaIcons/48x48/video.png \
+ ../../img/MediaIcons/48x48/Text.png \
../../img/MediaIcons/48x48/delayed.png \
../../img/MediaIcons/48x48/image.png \
../../img/MediaIcons/48x48/cdrom.png \
@@ -899,331 +956,354 @@ compiler_image_collection_clean:
-$(DEL_FILE) ..\..\..\windebugbuild\src\ffDiaporama\qmake_image_collection.cpp
compiler_moc_source_make_all:
compiler_moc_source_clean:
-compiler_uic_make_all: ../../../windebugbuild/src/ffDiaporama/ui_mainwindow.h ../../../windebugbuild/src/ffDiaporama/ui_wgt_QVideoPlayer.h ../../../windebugbuild/src/ffDiaporama/ui_DlgApplicationSettings.h ../../../windebugbuild/src/ffDiaporama/ui_DlgBackgroundProperties.h ../../../windebugbuild/src/ffDiaporama/ui_DlgMusicProperties.h ../../../windebugbuild/src/ffDiaporama/ui_DlgRenderVideo.h ../../../windebugbuild/src/ffDiaporama/ui_DlgTransitionProperties.h ../../../windebugbuild/src/ffDiaporama/ui_DlgAbout.h ../../../windebugbuild/src/ffDiaporama/ui_DlgSlideProperties.h ../../../windebugbuild/src/ffDiaporama/ui_DlgImageCorrection.h ../../../windebugbuild/src/ffDiaporama/ui_DlgVideoEdit.h ../../../windebugbuild/src/ffDiaporama/ui_DlgTextEdit.h ../../../windebugbuild/src/ffDiaporama/ui_DlgManageStyle.h ../../../windebugbuild/src/ffDiaporama/ui_DlgCheckConfig.h ../../../windebugbuild/src/ffDiaporama/ui_DlgManageDevices.h ../../../windebugbuild/src/ffDiaporama/ui_DlgffDPjrProperties.h ../../../windebugbuild/src/ffDiaporama/ui_DlgInfoFile.h
+compiler_uic_make_all: ../../../windebugbuild/src/ffDiaporama/ui_mainwindow.h ../../../windebugbuild/src/ffDiaporama/ui_wgt_QVideoPlayer.h ../../../windebugbuild/src/ffDiaporama/ui_DlgRenderVideo.h ../../../windebugbuild/src/ffDiaporama/ui_DlgManageStyle.h ../../../windebugbuild/src/ffDiaporama/ui_DlgAbout.h ../../../windebugbuild/src/ffDiaporama/ui_DlgTransitionProperties.h ../../../windebugbuild/src/ffDiaporama/ui_DlgMusicProperties.h ../../../windebugbuild/src/ffDiaporama/ui_DlgBackgroundProperties.h ../../../windebugbuild/src/ffDiaporama/ui_DlgManageDevices.h ../../../windebugbuild/src/ffDiaporama/ui_DlgApplicationSettings.h ../../../windebugbuild/src/ffDiaporama/ui_DlgImageCorrection.h ../../../windebugbuild/src/ffDiaporama/ui_DlgSlideProperties.h ../../../windebugbuild/src/ffDiaporama/ui_DlgRulerDef.h ../../../windebugbuild/src/ffDiaporama/ui_DlgTextEdit.h ../../../windebugbuild/src/ffDiaporama/ui_DlgVideoEdit.h ../../../windebugbuild/src/ffDiaporama/ui_DlgCheckConfig.h ../../../windebugbuild/src/ffDiaporama/ui_DlgInfoFile.h ../../../windebugbuild/src/ffDiaporama/ui_DlgffDPjrProperties.h
compiler_uic_clean:
- -$(DEL_FILE) ..\..\..\windebugbuild\src\ffDiaporama\ui_mainwindow.h ..\..\..\windebugbuild\src\ffDiaporama\ui_wgt_QVideoPlayer.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgApplicationSettings.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgBackgroundProperties.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgMusicProperties.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgRenderVideo.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgTransitionProperties.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgAbout.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgSlideProperties.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgImageCorrection.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgVideoEdit.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgTextEdit.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgManageStyle.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgCheckConfig.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgManageDevices.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgffDPjrProperties.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgInfoFile.h
+ -$(DEL_FILE) ..\..\..\windebugbuild\src\ffDiaporama\ui_mainwindow.h ..\..\..\windebugbuild\src\ffDiaporama\ui_wgt_QVideoPlayer.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgRenderVideo.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgManageStyle.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgAbout.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgTransitionProperties.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgMusicProperties.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgBackgroundProperties.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgManageDevices.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgApplicationSettings.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgImageCorrection.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgSlideProperties.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgRulerDef.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgTextEdit.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgVideoEdit.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgCheckConfig.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgInfoFile.h ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgffDPjrProperties.h
../../../windebugbuild/src/ffDiaporama/ui_mainwindow.h: mainwindow.ui \
wgt_QVideoPlayer.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h \
+ cCustomSlideTable.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h
+ ../engine/cBrushDefinition.h
c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe mainwindow.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_mainwindow.h
../../../windebugbuild/src/ffDiaporama/ui_wgt_QVideoPlayer.h: wgt_QVideoPlayer.ui \
wgt_QVideoPlayer.h \
- ../sharedfiles/QCustomRuller.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/QCustomRuller.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h
c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe wgt_QVideoPlayer.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_wgt_QVideoPlayer.h
-../../../windebugbuild/src/ffDiaporama/ui_DlgApplicationSettings.h: DlgApplicationSettings.ui
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgApplicationSettings.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgApplicationSettings.h
+../../../windebugbuild/src/ffDiaporama/ui_DlgRenderVideo.h: DlgRenderVideo/DlgRenderVideo.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgRenderVideo\DlgRenderVideo.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgRenderVideo.h
+
+../../../windebugbuild/src/ffDiaporama/ui_DlgManageStyle.h: DlgManageStyle/DlgManageStyle.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgManageStyle\DlgManageStyle.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgManageStyle.h
+
+../../../windebugbuild/src/ffDiaporama/ui_DlgAbout.h: DlgAbout/DlgAbout.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgAbout\DlgAbout.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgAbout.h
+
+../../../windebugbuild/src/ffDiaporama/ui_DlgTransitionProperties.h: DlgTransition/DlgTransitionProperties.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgTransition\DlgTransitionProperties.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgTransitionProperties.h
-../../../windebugbuild/src/ffDiaporama/ui_DlgBackgroundProperties.h: DlgBackgroundProperties.ui \
+../../../windebugbuild/src/ffDiaporama/ui_DlgMusicProperties.h: DlgMusic/DlgMusicProperties.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgMusic\DlgMusicProperties.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgMusicProperties.h
+
+../../../windebugbuild/src/ffDiaporama/ui_DlgBackgroundProperties.h: DlgBackground/DlgBackgroundProperties.ui \
cCustomComboBox.h \
cCustomComboBox.h \
cCustomComboBox.h \
cCustomComboBox.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgBackgroundProperties.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgBackgroundProperties.h
-
-../../../windebugbuild/src/ffDiaporama/ui_DlgMusicProperties.h: DlgMusicProperties.ui
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgMusicProperties.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgMusicProperties.h
-
-../../../windebugbuild/src/ffDiaporama/ui_DlgRenderVideo.h: DlgRenderVideo.ui
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgRenderVideo.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgRenderVideo.h
+ ../engine/cBrushDefinition.h
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgBackground\DlgBackgroundProperties.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgBackgroundProperties.h
-../../../windebugbuild/src/ffDiaporama/ui_DlgTransitionProperties.h: DlgTransitionProperties.ui
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgTransitionProperties.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgTransitionProperties.h
+../../../windebugbuild/src/ffDiaporama/ui_DlgManageDevices.h: DlgAppSettings/DlgManageDevices/DlgManageDevices.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgAppSettings\DlgManageDevices\DlgManageDevices.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgManageDevices.h
-../../../windebugbuild/src/ffDiaporama/ui_DlgAbout.h: DlgAbout.ui
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgAbout.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgAbout.h
+../../../windebugbuild/src/ffDiaporama/ui_DlgApplicationSettings.h: DlgAppSettings/DlgApplicationSettings.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgAppSettings\DlgApplicationSettings.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgApplicationSettings.h
-../../../windebugbuild/src/ffDiaporama/ui_DlgSlideProperties.h: DlgSlideProperties.ui \
+../../../windebugbuild/src/ffDiaporama/ui_DlgImageCorrection.h: DlgImage/DlgImageCorrection.ui \
cCustomComboBox.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h \
+ DlgImage/cImgInteractiveZone.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgSlideProperties.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgSlideProperties.h
+ ../engine/cBrushDefinition.h
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgImage\DlgImageCorrection.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgImageCorrection.h
-../../../windebugbuild/src/ffDiaporama/ui_DlgImageCorrection.h: DlgImageCorrection.ui \
+../../../windebugbuild/src/ffDiaporama/ui_DlgSlideProperties.h: DlgSlide/DlgSlideProperties.ui \
cCustomComboBox.h \
- ../sharedfiles/_GlobalDefines.h \
+ DlgSlide/cCustomBlockTable.h \
+ DlgSlide/cInteractiveZone.h \
+ DlgSlide/cCustomShotTable.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgImageCorrection.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgImageCorrection.h
-
-../../../windebugbuild/src/ffDiaporama/ui_DlgVideoEdit.h: DlgVideoEdit.ui \
- wgt_QVideoPlayer.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _Diaporama.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
+ _ApplicationDefinitions.h \
+ _StyleDefinitions.h \
+ _ImagesDefinitions.h \
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgVideoEdit.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgVideoEdit.h
+ ../engine/cBrushDefinition.h \
+ DlgSlide/cCustomBlockTable.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _Diaporama.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
+ _ApplicationDefinitions.h \
+ _StyleDefinitions.h \
+ _ImagesDefinitions.h \
+ ../engine/cBrushDefinition.h
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgSlide\DlgSlideProperties.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgSlideProperties.h
+
+../../../windebugbuild/src/ffDiaporama/ui_DlgRulerDef.h: DlgSlide/DlgRuler/DlgRulerDef.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgSlide\DlgRuler\DlgRulerDef.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgRulerDef.h
-../../../windebugbuild/src/ffDiaporama/ui_DlgTextEdit.h: DlgTextEdit.ui \
+../../../windebugbuild/src/ffDiaporama/ui_DlgTextEdit.h: DlgText/DlgTextEdit.ui \
cCustomComboBox.h \
cCustomComboBox.h \
cCustomComboBox.h \
cCustomComboBox.h \
- ../sharedfiles/_GlobalDefines.h \
+ DlgText/cCustomTextEdit.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgTextEdit.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgTextEdit.h
+ ../engine/cBrushDefinition.h
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgText\DlgTextEdit.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgTextEdit.h
-../../../windebugbuild/src/ffDiaporama/ui_DlgManageStyle.h: DlgManageStyle.ui
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgManageStyle.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgManageStyle.h
-
-../../../windebugbuild/src/ffDiaporama/ui_DlgCheckConfig.h: ../sharedfiles/DlgCheckConfig.ui
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe ..\sharedfiles\DlgCheckConfig.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgCheckConfig.h
+../../../windebugbuild/src/ffDiaporama/ui_DlgVideoEdit.h: DlgVideo/DlgVideoEdit.ui \
+ wgt_QVideoPlayer.h \
+ ../engine/_GlobalDefines.h \
+ _Diaporama.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
+ _ApplicationDefinitions.h \
+ _StyleDefinitions.h \
+ _ImagesDefinitions.h \
+ ../engine/cBrushDefinition.h
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgVideo\DlgVideoEdit.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgVideoEdit.h
-../../../windebugbuild/src/ffDiaporama/ui_DlgManageDevices.h: ../sharedfiles/DlgManageDevices.ui
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe ..\sharedfiles\DlgManageDevices.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgManageDevices.h
+../../../windebugbuild/src/ffDiaporama/ui_DlgCheckConfig.h: DlgCheckConfig/DlgCheckConfig.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgCheckConfig\DlgCheckConfig.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgCheckConfig.h
-../../../windebugbuild/src/ffDiaporama/ui_DlgffDPjrProperties.h: ../sharedfiles/DlgffDPjrProperties.ui
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe ..\sharedfiles\DlgffDPjrProperties.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgffDPjrProperties.h
+../../../windebugbuild/src/ffDiaporama/ui_DlgInfoFile.h: DlgInfoFile/DlgInfoFile.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgInfoFile\DlgInfoFile.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgInfoFile.h
-../../../windebugbuild/src/ffDiaporama/ui_DlgInfoFile.h: ../sharedfiles/DlgInfoFile.ui
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe ..\sharedfiles\DlgInfoFile.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgInfoFile.h
+../../../windebugbuild/src/ffDiaporama/ui_DlgffDPjrProperties.h: DlgffDPjrProperties/DlgffDPjrProperties.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgffDPjrProperties\DlgffDPjrProperties.ui -o ..\..\..\windebugbuild\src\ffDiaporama\ui_DlgffDPjrProperties.h
compiler_yacc_decl_make_all:
compiler_yacc_decl_clean:
@@ -1238,744 +1318,744 @@ compiler_clean: compiler_moc_header_clean compiler_rcc_clean compiler_uic_clean
####### Compile
../../../windebugbuild/src/ffDiaporama/_ApplicationDefinitions.o: _ApplicationDefinitions.cpp _ApplicationDefinitions.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
_StyleDefinitions.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cSoundBlockList.h \
_Diaporama.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h
+ ../engine/cBrushDefinition.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\_ApplicationDefinitions.o _ApplicationDefinitions.cpp
-../../../windebugbuild/src/ffDiaporama/_SoundDefinitions.o: _SoundDefinitions.cpp _SoundDefinitions.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/_SDL_Support.h \
- ../sharedfiles/cBaseMediaFile.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\_SoundDefinitions.o _SoundDefinitions.cpp
-
../../../windebugbuild/src/ffDiaporama/_ImagesDefinitions.o: _ImagesDefinitions.cpp _ImagesDefinitions.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/cBrushDefinition.h
+ ../engine/_GlobalDefines.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
+ ../engine/cBrushDefinition.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\_ImagesDefinitions.o _ImagesDefinitions.cpp
-../../../windebugbuild/src/ffDiaporama/_Diaporama.o: _Diaporama.cpp ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+../../../windebugbuild/src/ffDiaporama/_Diaporama.o: _Diaporama.cpp ../engine/_QCustomDialog.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- mainwindow.h
+ ../engine/cBrushDefinition.h \
+ mainwindow.h \
+ ../engine/_SDL_Support.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\_Diaporama.o _Diaporama.cpp
../../../windebugbuild/src/ffDiaporama/wgt_QVideoPlayer.o: wgt_QVideoPlayer.cpp wgt_QVideoPlayer.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
+ ../engine/cBrushDefinition.h \
mainwindow.h \
- ../../../windebugbuild/src/ffDiaporama/ui_wgt_QVideoPlayer.h \
- ../sharedfiles/QCustomRuller.h
+ ../engine/_SDL_Support.h \
+ ../../../windebugbuild/src/ffDiaporama/ui_wgt_QVideoPlayer.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\wgt_QVideoPlayer.o wgt_QVideoPlayer.cpp
-../../../windebugbuild/src/ffDiaporama/wgt_QCustomThumbnails.o: wgt_QCustomThumbnails.cpp wgt_QCustomThumbnails.h \
- ../sharedfiles/_GlobalDefines.h \
+../../../windebugbuild/src/ffDiaporama/cCustomComboBox.o: cCustomComboBox.cpp cCustomComboBox.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- mainwindow.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\wgt_QCustomThumbnails.o wgt_QCustomThumbnails.cpp
-
-../../../windebugbuild/src/ffDiaporama/DlgApplicationSettings.o: DlgApplicationSettings.cpp ../sharedfiles/DlgCheckConfig.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/DlgManageDevices.h \
- DlgApplicationSettings.h \
+ ../engine/cBrushDefinition.h \
+ ../fmt_filters/fmt_filters.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cCustomComboBox.o cCustomComboBox.cpp
+
+../../../windebugbuild/src/ffDiaporama/mainwindow.o: mainwindow.cpp _StyleDefinitions.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cSoundBlockList.h \
+ _ImagesDefinitions.h \
+ ../engine/cBrushDefinition.h \
_ApplicationDefinitions.h \
- _StyleDefinitions.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cSoundBlockList.h \
- ../../../windebugbuild/src/ffDiaporama/ui_DlgApplicationSettings.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgApplicationSettings.o DlgApplicationSettings.cpp
-
-../../../windebugbuild/src/ffDiaporama/DlgBackgroundProperties.o: DlgBackgroundProperties.cpp DlgBackgroundProperties.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ cCustomSlideTable.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
- _ApplicationDefinitions.h \
- _StyleDefinitions.h \
- _ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- DlgImageCorrection.h \
- cCustomGraphicsRectItem.h \
- ../../../windebugbuild/src/ffDiaporama/ui_DlgBackgroundProperties.h \
- cCustomComboBox.h \
- mainwindow.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgBackgroundProperties.o DlgBackgroundProperties.cpp
+ mainwindow.h \
+ ../engine/_SDL_Support.h \
+ ../../../windebugbuild/src/ffDiaporama/ui_mainwindow.h \
+ DlgCheckConfig/DlgCheckConfig.h \
+ DlgffDPjrProperties/DlgffDPjrProperties.h \
+ DlgRenderVideo/DlgRenderVideo.h \
+ DlgAbout/DlgAbout.h \
+ DlgTransition/DlgTransitionProperties.h \
+ DlgMusic/DlgMusicProperties.h \
+ DlgBackground/DlgBackgroundProperties.h \
+ DlgSlide/DlgSlideProperties.h \
+ DlgAppSettings/DlgApplicationSettings.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\mainwindow.o mainwindow.cpp
-../../../windebugbuild/src/ffDiaporama/cCustomGraphicsRectItem.o: cCustomGraphicsRectItem.cpp cCustomGraphicsRectItem.h \
- ../sharedfiles/_GlobalDefines.h \
+../../../windebugbuild/src/ffDiaporama/main.o: main.cpp mainwindow.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_SDL_Support.h \
+ ../engine/cSoundBlockList.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- DlgSlideProperties.h \
- ../sharedfiles/_QCustomDialog.h \
- DlgImageCorrection.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cCustomGraphicsRectItem.o cCustomGraphicsRectItem.cpp
+ ../engine/cBrushDefinition.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\main.o main.cpp
-../../../windebugbuild/src/ffDiaporama/cCustomComboBox.o: cCustomComboBox.cpp cCustomComboBox.h \
- ../sharedfiles/_GlobalDefines.h \
+../../../windebugbuild/src/ffDiaporama/cCustomSlideTable.o: cCustomSlideTable.cpp mainwindow.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_SDL_Support.h \
+ ../engine/cSoundBlockList.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../fmt_filters/fmt_filters.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cCustomComboBox.o cCustomComboBox.cpp
+ ../engine/cBrushDefinition.h \
+ cCustomSlideTable.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cCustomSlideTable.o cCustomSlideTable.cpp
+
+../../../windebugbuild/src/ffDiaporama/_StyleDefinitions.o: _StyleDefinitions.cpp DlgManageStyle/DlgManageStyle.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _StyleDefinitions.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cSoundBlockList.h \
+ _ApplicationDefinitions.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\_StyleDefinitions.o _StyleDefinitions.cpp
-../../../windebugbuild/src/ffDiaporama/DlgMusicProperties.o: DlgMusicProperties.cpp DlgMusicProperties.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+../../../windebugbuild/src/ffDiaporama/DlgRenderVideo.o: DlgRenderVideo/DlgRenderVideo.cpp _ApplicationDefinitions.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ _StyleDefinitions.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cSoundBlockList.h \
+ DlgffDPjrProperties/DlgffDPjrProperties.h \
+ DlgRenderVideo/DlgRenderVideo.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ _ImagesDefinitions.h \
+ ../engine/cBrushDefinition.h \
+ ../../../windebugbuild/src/ffDiaporama/ui_DlgRenderVideo.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgRenderVideo.o DlgRenderVideo\DlgRenderVideo.cpp
+
+../../../windebugbuild/src/ffDiaporama/DlgManageStyle.o: DlgManageStyle/DlgManageStyle.cpp DlgManageStyle/DlgManageStyle.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _StyleDefinitions.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cSoundBlockList.h \
+ ../../../windebugbuild/src/ffDiaporama/ui_DlgManageStyle.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgManageStyle.o DlgManageStyle\DlgManageStyle.cpp
+
+../../../windebugbuild/src/ffDiaporama/DlgAbout.o: DlgAbout/DlgAbout.cpp DlgAbout/DlgAbout.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../../../windebugbuild/src/ffDiaporama/ui_DlgAbout.h \
_ApplicationDefinitions.h \
+ ../engine/cDeviceModelDef.h \
_StyleDefinitions.h \
- _ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../../../windebugbuild/src/ffDiaporama/ui_DlgMusicProperties.h \
- mainwindow.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgMusicProperties.o DlgMusicProperties.cpp
-
-../../../windebugbuild/src/ffDiaporama/DlgRenderVideo.o: DlgRenderVideo.cpp ../sharedfiles/DlgffDPjrProperties.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
- DlgRenderVideo.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cSoundBlockList.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgAbout.o DlgAbout\DlgAbout.cpp
+
+../../../windebugbuild/src/ffDiaporama/DlgTransitionProperties.o: DlgTransition/DlgTransitionProperties.cpp DlgTransition/DlgTransitionProperties.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../../../windebugbuild/src/ffDiaporama/ui_DlgRenderVideo.h \
- mainwindow.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgRenderVideo.o DlgRenderVideo.cpp
-
-../../../windebugbuild/src/ffDiaporama/DlgTransitionProperties.o: DlgTransitionProperties.cpp DlgTransitionProperties.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ ../../../windebugbuild/src/ffDiaporama/ui_DlgTransitionProperties.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgTransitionProperties.o DlgTransition\DlgTransitionProperties.cpp
+
+../../../windebugbuild/src/ffDiaporama/DlgMusicProperties.o: DlgMusic/DlgMusicProperties.cpp DlgMusic/DlgMusicProperties.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../../../windebugbuild/src/ffDiaporama/ui_DlgTransitionProperties.h \
- mainwindow.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgTransitionProperties.o DlgTransitionProperties.cpp
-
-../../../windebugbuild/src/ffDiaporama/DlgAbout.o: DlgAbout.cpp DlgAbout.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../../../windebugbuild/src/ffDiaporama/ui_DlgAbout.h \
+ ../engine/cBrushDefinition.h \
+ ../../../windebugbuild/src/ffDiaporama/ui_DlgMusicProperties.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgMusicProperties.o DlgMusic\DlgMusicProperties.cpp
+
+../../../windebugbuild/src/ffDiaporama/DlgBackgroundProperties.o: DlgBackground/DlgBackgroundProperties.cpp DlgImage/DlgImageCorrection.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _Diaporama.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
- ../sharedfiles/cDeviceModelDef.h \
_StyleDefinitions.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cSoundBlockList.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgAbout.o DlgAbout.cpp
-
-../../../windebugbuild/src/ffDiaporama/mainwindow.o: mainwindow.cpp _StyleDefinitions.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cSoundBlockList.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
+ ../engine/cBrushDefinition.h \
+ DlgBackground/DlgBackgroundProperties.h \
+ ../../../windebugbuild/src/ffDiaporama/ui_DlgBackgroundProperties.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgBackgroundProperties.o DlgBackground\DlgBackgroundProperties.cpp
+
+../../../windebugbuild/src/ffDiaporama/DlgManageDevices.o: DlgAppSettings/DlgManageDevices/DlgManageDevices.cpp DlgAppSettings/DlgManageDevices/DlgManageDevices.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../../../windebugbuild/src/ffDiaporama/ui_DlgManageDevices.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgManageDevices.o DlgAppSettings\DlgManageDevices\DlgManageDevices.cpp
+
+../../../windebugbuild/src/ffDiaporama/DlgApplicationSettings.o: DlgAppSettings/DlgApplicationSettings.cpp DlgCheckConfig/DlgCheckConfig.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ DlgAppSettings/DlgManageDevices/DlgManageDevices.h \
+ DlgAppSettings/DlgApplicationSettings.h \
_ApplicationDefinitions.h \
- ../sharedfiles/DlgCheckConfig.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/DlgffDPjrProperties.h \
- mainwindow.h \
- _Diaporama.h \
- cCustomTableWidget.h \
- ../../../windebugbuild/src/ffDiaporama/ui_mainwindow.h \
- wgt_QVideoPlayer.h \
- wgt_QCustomThumbnails.h \
- DlgAbout.h \
- DlgBackgroundProperties.h \
- DlgMusicProperties.h \
- DlgSlideProperties.h \
- cCustomGraphicsRectItem.h \
- DlgTransitionProperties.h \
- DlgApplicationSettings.h \
- DlgRenderVideo.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\mainwindow.o mainwindow.cpp
+ _StyleDefinitions.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cSoundBlockList.h \
+ ../../../windebugbuild/src/ffDiaporama/ui_DlgApplicationSettings.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgApplicationSettings.o DlgAppSettings\DlgApplicationSettings.cpp
-../../../windebugbuild/src/ffDiaporama/main.o: main.cpp mainwindow.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_SDL_Support.h \
- ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+../../../windebugbuild/src/ffDiaporama/cImgInteractiveZone.o: DlgImage/cImgInteractiveZone.cpp DlgImage/cImgInteractiveZone.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- cCustomTableWidget.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\main.o main.cpp
-
-../../../windebugbuild/src/ffDiaporama/DlgSlideProperties.o: DlgSlideProperties.cpp DlgSlideProperties.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cImgInteractiveZone.o DlgImage\cImgInteractiveZone.cpp
+
+../../../windebugbuild/src/ffDiaporama/DlgImageCorrection.o: DlgImage/DlgImageCorrection.cpp DlgImage/DlgImageCorrection.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- cCustomGraphicsRectItem.h \
- ../../../windebugbuild/src/ffDiaporama/ui_DlgSlideProperties.h \
- cCustomComboBox.h \
- wgt_QCustomThumbnails.h \
- DlgImageCorrection.h \
- DlgVideoEdit.h \
- DlgTextEdit.h \
- mainwindow.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgSlideProperties.o DlgSlideProperties.cpp
-
-../../../windebugbuild/src/ffDiaporama/DlgImageCorrection.o: DlgImageCorrection.cpp DlgImageCorrection.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ ../../../windebugbuild/src/ffDiaporama/ui_DlgImageCorrection.h \
+ DlgImage/cImgInteractiveZone.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgImageCorrection.o DlgImage\DlgImageCorrection.cpp
+
+../../../windebugbuild/src/ffDiaporama/cCustomBlockTable.o: DlgSlide/cCustomBlockTable.cpp DlgSlide/cCustomBlockTable.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- cCustomGraphicsRectItem.h \
- ../../../windebugbuild/src/ffDiaporama/ui_DlgImageCorrection.h \
- cCustomComboBox.h \
- mainwindow.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgImageCorrection.o DlgImageCorrection.cpp
-
-../../../windebugbuild/src/ffDiaporama/DlgVideoEdit.o: DlgVideoEdit.cpp DlgVideoEdit.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cCustomBlockTable.o DlgSlide\cCustomBlockTable.cpp
+
+../../../windebugbuild/src/ffDiaporama/DlgSlideProperties.o: DlgSlide/DlgSlideProperties.cpp DlgSlide/cCustomShotTable.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../../../windebugbuild/src/ffDiaporama/ui_DlgVideoEdit.h \
- wgt_QVideoPlayer.h \
- mainwindow.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgVideoEdit.o DlgVideoEdit.cpp
-
-../../../windebugbuild/src/ffDiaporama/DlgTextEdit.o: DlgTextEdit.cpp DlgTextEdit.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ DlgSlide/cCustomBlockTable.h \
+ DlgSlide/cInteractiveZone.h \
+ DlgSlide/DlgSlideProperties.h \
+ ../../../windebugbuild/src/ffDiaporama/ui_DlgSlideProperties.h \
+ DlgInfoFile/DlgInfoFile.h \
+ DlgImage/DlgImageCorrection.h \
+ DlgVideo/DlgVideoEdit.h \
+ DlgText/DlgTextEdit.h \
+ DlgSlide/DlgRuler/DlgRulerDef.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgSlideProperties.o DlgSlide\DlgSlideProperties.cpp
+
+../../../windebugbuild/src/ffDiaporama/cInteractiveZone.o: DlgSlide/cInteractiveZone.cpp DlgSlide/cInteractiveZone.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../../../windebugbuild/src/ffDiaporama/ui_DlgTextEdit.h \
- cCustomComboBox.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgTextEdit.o DlgTextEdit.cpp
-
-../../../windebugbuild/src/ffDiaporama/cCustomTableWidget.o: cCustomTableWidget.cpp mainwindow.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_SDL_Support.h \
- ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ DlgSlide/cCustomBlockTable.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cInteractiveZone.o DlgSlide\cInteractiveZone.cpp
+
+../../../windebugbuild/src/ffDiaporama/cCustomShotTable.o: DlgSlide/cCustomShotTable.cpp DlgSlide/cCustomShotTable.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- cCustomTableWidget.h \
- wgt_QCustomThumbnails.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cCustomTableWidget.o cCustomTableWidget.cpp
-
-../../../windebugbuild/src/ffDiaporama/DlgManageStyle.o: DlgManageStyle.cpp DlgManageStyle.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- _StyleDefinitions.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cSoundBlockList.h \
- ../../../windebugbuild/src/ffDiaporama/ui_DlgManageStyle.h \
- mainwindow.h \
- ../sharedfiles/_SDL_Support.h \
+ ../engine/cBrushDefinition.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cCustomShotTable.o DlgSlide\cCustomShotTable.cpp
+
+../../../windebugbuild/src/ffDiaporama/DlgRulerDef.o: DlgSlide/DlgRuler/DlgRulerDef.cpp DlgSlide/DlgRuler/DlgRulerDef.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../../../windebugbuild/src/ffDiaporama/ui_DlgRulerDef.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgRulerDef.o DlgSlide\DlgRuler\DlgRulerDef.cpp
+
+../../../windebugbuild/src/ffDiaporama/cCustomTextEdit.o: DlgText/cCustomTextEdit.cpp DlgText/cCustomTextEdit.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cCustomTextEdit.o DlgText\cCustomTextEdit.cpp
+
+../../../windebugbuild/src/ffDiaporama/DlgTextEdit.o: DlgText/DlgTextEdit.cpp DlgText/DlgTextEdit.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
+ _StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- cCustomTableWidget.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgManageStyle.o DlgManageStyle.cpp
-
-../../../windebugbuild/src/ffDiaporama/_StyleDefinitions.o: _StyleDefinitions.cpp ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- DlgManageStyle.h \
+ ../engine/cBrushDefinition.h \
+ ../../../windebugbuild/src/ffDiaporama/ui_DlgTextEdit.h \
+ DlgText/cCustomTextEdit.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgTextEdit.o DlgText\DlgTextEdit.cpp
+
+../../../windebugbuild/src/ffDiaporama/DlgVideoEdit.o: DlgVideo/DlgVideoEdit.cpp DlgVideo/DlgVideoEdit.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _Diaporama.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
+ _ApplicationDefinitions.h \
_StyleDefinitions.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cSoundBlockList.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\_StyleDefinitions.o _StyleDefinitions.cpp
-
-../../../windebugbuild/src/ffDiaporama/_GlobalDefines.o: ../sharedfiles/_GlobalDefines.cpp ../sharedfiles/_GlobalDefines.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\_GlobalDefines.o ..\sharedfiles\_GlobalDefines.cpp
-
-../../../windebugbuild/src/ffDiaporama/QCustomRuller.o: ../sharedfiles/QCustomRuller.cpp ../sharedfiles/QCustomRuller.h \
- ../sharedfiles/_GlobalDefines.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\QCustomRuller.o ..\sharedfiles\QCustomRuller.cpp
-
-../../../windebugbuild/src/ffDiaporama/DlgCheckConfig.o: ../sharedfiles/DlgCheckConfig.cpp ../sharedfiles/DlgCheckConfig.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
+ _ImagesDefinitions.h \
+ ../engine/cBrushDefinition.h \
+ ../../../windebugbuild/src/ffDiaporama/ui_DlgVideoEdit.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgVideoEdit.o DlgVideo\DlgVideoEdit.cpp
+
+../../../windebugbuild/src/ffDiaporama/DlgCheckConfig.o: DlgCheckConfig/DlgCheckConfig.cpp DlgCheckConfig/DlgCheckConfig.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
../../../windebugbuild/src/ffDiaporama/ui_DlgCheckConfig.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cSoundBlockList.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgCheckConfig.o ..\sharedfiles\DlgCheckConfig.cpp
-
-../../../windebugbuild/src/ffDiaporama/cSaveWindowPosition.o: ../sharedfiles/cSaveWindowPosition.cpp ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/_GlobalDefines.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cSaveWindowPosition.o ..\sharedfiles\cSaveWindowPosition.cpp
-
-../../../windebugbuild/src/ffDiaporama/cBaseApplicationConfig.o: ../sharedfiles/cBaseApplicationConfig.cpp ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cBaseApplicationConfig.o ..\sharedfiles\cBaseApplicationConfig.cpp
-
-../../../windebugbuild/src/ffDiaporama/cFilterTransformObject.o: ../sharedfiles/cFilterTransformObject.cpp ../fmt_filters/fmt_filters.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cFilterTransformObject.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cFilterTransformObject.o ..\sharedfiles\cFilterTransformObject.cpp
+ ../engine/cBaseMediaFile.h \
+ ../engine/cSoundBlockList.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgCheckConfig.o DlgCheckConfig\DlgCheckConfig.cpp
+
+../../../windebugbuild/src/ffDiaporama/DlgInfoFile.o: DlgInfoFile/DlgInfoFile.cpp DlgInfoFile/DlgInfoFile.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
+ ../../../windebugbuild/src/ffDiaporama/ui_DlgInfoFile.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgInfoFile.o DlgInfoFile\DlgInfoFile.cpp
+
+../../../windebugbuild/src/ffDiaporama/DlgffDPjrProperties.o: DlgffDPjrProperties/DlgffDPjrProperties.cpp DlgffDPjrProperties/DlgffDPjrProperties.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
+ ../../../windebugbuild/src/ffDiaporama/ui_DlgffDPjrProperties.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgffDPjrProperties.o DlgffDPjrProperties\DlgffDPjrProperties.cpp
+
+../../../windebugbuild/src/ffDiaporama/_GlobalDefines.o: ../engine/_GlobalDefines.cpp ../engine/_GlobalDefines.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\_GlobalDefines.o ..\engine\_GlobalDefines.cpp
+
+../../../windebugbuild/src/ffDiaporama/QCustomRuller.o: ../engine/QCustomRuller.cpp ../engine/QCustomRuller.h \
+ ../engine/_GlobalDefines.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\QCustomRuller.o ..\engine\QCustomRuller.cpp
+
+../../../windebugbuild/src/ffDiaporama/cSaveWindowPosition.o: ../engine/cSaveWindowPosition.cpp ../engine/cSaveWindowPosition.h \
+ ../engine/_GlobalDefines.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cSaveWindowPosition.o ..\engine\cSaveWindowPosition.cpp
+
+../../../windebugbuild/src/ffDiaporama/cBaseApplicationConfig.o: ../engine/cBaseApplicationConfig.cpp ../engine/cBaseApplicationConfig.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cBaseApplicationConfig.o ..\engine\cBaseApplicationConfig.cpp
+
+../../../windebugbuild/src/ffDiaporama/cFilterTransformObject.o: ../engine/cFilterTransformObject.cpp ../fmt_filters/fmt_filters.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cFilterTransformObject.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cFilterTransformObject.o ..\engine\cFilterTransformObject.cpp
+
+../../../windebugbuild/src/ffDiaporama/cLuLoImageCache.o: ../engine/cLuLoImageCache.cpp ../engine/cLuLoImageCache.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cLuLoImageCache.o ..\engine\cLuLoImageCache.cpp
+
+../../../windebugbuild/src/ffDiaporama/cDeviceModelDef.o: ../engine/cDeviceModelDef.cpp ../engine/cDeviceModelDef.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cDeviceModelDef.o ..\engine\cDeviceModelDef.cpp
+
+../../../windebugbuild/src/ffDiaporama/cSoundBlockList.o: ../engine/cSoundBlockList.cpp ../engine/cSoundBlockList.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cSoundBlockList.o ..\engine\cSoundBlockList.cpp
+
+../../../windebugbuild/src/ffDiaporama/cBaseMediaFile.o: ../engine/cBaseMediaFile.cpp ../engine/cBaseApplicationConfig.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cBaseMediaFile.o ..\engine\cBaseMediaFile.cpp
+
+../../../windebugbuild/src/ffDiaporama/_SDL_Support.o: ../engine/_SDL_Support.cpp ../engine/_SDL_Support.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cSoundBlockList.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\_SDL_Support.o ..\engine\_SDL_Support.cpp
+
+../../../windebugbuild/src/ffDiaporama/_QCustomDialog.o: ../engine/_QCustomDialog.cpp ../engine/_QCustomDialog.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\_QCustomDialog.o ..\engine\_QCustomDialog.cpp
+
+../../../windebugbuild/src/ffDiaporama/QCustomFileInfoLabel.o: ../engine/QCustomFileInfoLabel.cpp ../engine/QCustomFileInfoLabel.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\QCustomFileInfoLabel.o ..\engine\QCustomFileInfoLabel.cpp
+
+../../../windebugbuild/src/ffDiaporama/cBrushDefinition.o: ../engine/cBrushDefinition.cpp ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
+ ../fmt_filters/fmt_filters.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cBrushDefinition.o ..\engine\cBrushDefinition.cpp
+
+../../../windebugbuild/src/ffDiaporama/cCustomIcon.o: ../engine/cCustomIcon.cpp ../engine/cCustomIcon.h \
+ ../engine/_GlobalDefines.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cCustomIcon.o ..\engine\cCustomIcon.cpp
../../../windebugbuild/src/ffDiaporama/fmt_filters.o: ../fmt_filters/fmt_filters.cpp ../fmt_filters/fmt_filters.h \
- ../sharedfiles/_GlobalDefines.h
+ ../engine/_GlobalDefines.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\fmt_filters.o ..\fmt_filters\fmt_filters.cpp
-../../../windebugbuild/src/ffDiaporama/cLuLoImageCache.o: ../sharedfiles/cLuLoImageCache.cpp ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cLuLoImageCache.o ..\sharedfiles\cLuLoImageCache.cpp
-
-../../../windebugbuild/src/ffDiaporama/cDeviceModelDef.o: ../sharedfiles/cDeviceModelDef.cpp ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cDeviceModelDef.o ..\sharedfiles\cDeviceModelDef.cpp
-
-../../../windebugbuild/src/ffDiaporama/cSoundBlockList.o: ../sharedfiles/cSoundBlockList.cpp ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cSoundBlockList.o ..\sharedfiles\cSoundBlockList.cpp
-
-../../../windebugbuild/src/ffDiaporama/cBaseMediaFile.o: ../sharedfiles/cBaseMediaFile.cpp ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cBaseMediaFile.o ..\sharedfiles\cBaseMediaFile.cpp
-
-../../../windebugbuild/src/ffDiaporama/_SDL_Support.o: ../sharedfiles/_SDL_Support.cpp ../sharedfiles/_SDL_Support.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\_SDL_Support.o ..\sharedfiles\_SDL_Support.cpp
-
-../../../windebugbuild/src/ffDiaporama/_QCustomDialog.o: ../sharedfiles/_QCustomDialog.cpp ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\_QCustomDialog.o ..\sharedfiles\_QCustomDialog.cpp
-
-../../../windebugbuild/src/ffDiaporama/DlgManageDevices.o: ../sharedfiles/DlgManageDevices.cpp ../sharedfiles/DlgManageDevices.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../../../windebugbuild/src/ffDiaporama/ui_DlgManageDevices.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgManageDevices.o ..\sharedfiles\DlgManageDevices.cpp
-
-../../../windebugbuild/src/ffDiaporama/QCustomFileInfoLabel.o: ../sharedfiles/QCustomFileInfoLabel.cpp ../sharedfiles/QCustomFileInfoLabel.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\QCustomFileInfoLabel.o ..\sharedfiles\QCustomFileInfoLabel.cpp
-
-../../../windebugbuild/src/ffDiaporama/DlgffDPjrProperties.o: ../sharedfiles/DlgffDPjrProperties.cpp ../sharedfiles/DlgffDPjrProperties.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
- ../../../windebugbuild/src/ffDiaporama/ui_DlgffDPjrProperties.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgffDPjrProperties.o ..\sharedfiles\DlgffDPjrProperties.cpp
-
-../../../windebugbuild/src/ffDiaporama/cBrushDefinition.o: ../sharedfiles/cBrushDefinition.cpp ../sharedfiles/cBrushDefinition.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
- ../fmt_filters/fmt_filters.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cBrushDefinition.o ..\sharedfiles\cBrushDefinition.cpp
-
-../../../windebugbuild/src/ffDiaporama/cCustomIcon.o: ../sharedfiles/cCustomIcon.cpp ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/_GlobalDefines.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\cCustomIcon.o ..\sharedfiles\cCustomIcon.cpp
-
-../../../windebugbuild/src/ffDiaporama/DlgInfoFile.o: ../sharedfiles/DlgInfoFile.cpp ../sharedfiles/DlgInfoFile.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
- ../../../windebugbuild/src/ffDiaporama/ui_DlgInfoFile.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\DlgInfoFile.o ..\sharedfiles\DlgInfoFile.cpp
-
../../../windebugbuild/src/ffDiaporama/moc_wgt_QVideoPlayer.o: ../../../windebugbuild/src/ffDiaporama/moc_wgt_QVideoPlayer.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_wgt_QVideoPlayer.o ..\..\..\windebugbuild\src\ffDiaporama\moc_wgt_QVideoPlayer.cpp
-../../../windebugbuild/src/ffDiaporama/moc_wgt_QCustomThumbnails.o: ../../../windebugbuild/src/ffDiaporama/moc_wgt_QCustomThumbnails.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_wgt_QCustomThumbnails.o ..\..\..\windebugbuild\src\ffDiaporama\moc_wgt_QCustomThumbnails.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc_DlgApplicationSettings.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgApplicationSettings.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgApplicationSettings.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgApplicationSettings.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc_DlgBackgroundProperties.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgBackgroundProperties.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgBackgroundProperties.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgBackgroundProperties.cpp
-
../../../windebugbuild/src/ffDiaporama/moc_cCustomComboBox.o: ../../../windebugbuild/src/ffDiaporama/moc_cCustomComboBox.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomComboBox.o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomComboBox.cpp
-../../../windebugbuild/src/ffDiaporama/moc_DlgMusicProperties.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgMusicProperties.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgMusicProperties.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgMusicProperties.cpp
+../../../windebugbuild/src/ffDiaporama/moc_cCustomSlideTable.o: ../../../windebugbuild/src/ffDiaporama/moc_cCustomSlideTable.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomSlideTable.o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomSlideTable.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_mainwindow.o: ../../../windebugbuild/src/ffDiaporama/moc_mainwindow.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_mainwindow.o ..\..\..\windebugbuild\src\ffDiaporama\moc_mainwindow.cpp
../../../windebugbuild/src/ffDiaporama/moc_DlgRenderVideo.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgRenderVideo.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgRenderVideo.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgRenderVideo.cpp
-../../../windebugbuild/src/ffDiaporama/moc_DlgTransitionProperties.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgTransitionProperties.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTransitionProperties.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTransitionProperties.cpp
+../../../windebugbuild/src/ffDiaporama/moc_DlgManageStyle.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgManageStyle.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageStyle.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageStyle.cpp
../../../windebugbuild/src/ffDiaporama/moc_DlgAbout.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgAbout.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgAbout.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgAbout.cpp
-../../../windebugbuild/src/ffDiaporama/moc_mainwindow.o: ../../../windebugbuild/src/ffDiaporama/moc_mainwindow.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_mainwindow.o ..\..\..\windebugbuild\src\ffDiaporama\moc_mainwindow.cpp
+../../../windebugbuild/src/ffDiaporama/moc_DlgTransitionProperties.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgTransitionProperties.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTransitionProperties.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTransitionProperties.cpp
-../../../windebugbuild/src/ffDiaporama/moc_DlgSlideProperties.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgSlideProperties.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgSlideProperties.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgSlideProperties.cpp
+../../../windebugbuild/src/ffDiaporama/moc_DlgMusicProperties.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgMusicProperties.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgMusicProperties.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgMusicProperties.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_DlgBackgroundProperties.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgBackgroundProperties.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgBackgroundProperties.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgBackgroundProperties.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_DlgManageDevices.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgManageDevices.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageDevices.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageDevices.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_DlgApplicationSettings.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgApplicationSettings.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgApplicationSettings.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgApplicationSettings.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_cImgInteractiveZone.o: ../../../windebugbuild/src/ffDiaporama/moc_cImgInteractiveZone.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_cImgInteractiveZone.o ..\..\..\windebugbuild\src\ffDiaporama\moc_cImgInteractiveZone.cpp
../../../windebugbuild/src/ffDiaporama/moc_DlgImageCorrection.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgImageCorrection.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgImageCorrection.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgImageCorrection.cpp
-../../../windebugbuild/src/ffDiaporama/moc_DlgVideoEdit.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgVideoEdit.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgVideoEdit.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgVideoEdit.cpp
+../../../windebugbuild/src/ffDiaporama/moc_DlgSlideProperties.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgSlideProperties.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgSlideProperties.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgSlideProperties.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_cCustomBlockTable.o: ../../../windebugbuild/src/ffDiaporama/moc_cCustomBlockTable.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomBlockTable.o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomBlockTable.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_cInteractiveZone.o: ../../../windebugbuild/src/ffDiaporama/moc_cInteractiveZone.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_cInteractiveZone.o ..\..\..\windebugbuild\src\ffDiaporama\moc_cInteractiveZone.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_cCustomShotTable.o: ../../../windebugbuild/src/ffDiaporama/moc_cCustomShotTable.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomShotTable.o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomShotTable.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_DlgRulerDef.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgRulerDef.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgRulerDef.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgRulerDef.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_cCustomTextEdit.o: ../../../windebugbuild/src/ffDiaporama/moc_cCustomTextEdit.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomTextEdit.o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomTextEdit.cpp
../../../windebugbuild/src/ffDiaporama/moc_DlgTextEdit.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgTextEdit.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTextEdit.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTextEdit.cpp
-../../../windebugbuild/src/ffDiaporama/moc_cCustomTableWidget.o: ../../../windebugbuild/src/ffDiaporama/moc_cCustomTableWidget.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomTableWidget.o ..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomTableWidget.cpp
+../../../windebugbuild/src/ffDiaporama/moc_DlgVideoEdit.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgVideoEdit.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgVideoEdit.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgVideoEdit.cpp
-../../../windebugbuild/src/ffDiaporama/moc_DlgManageStyle.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgManageStyle.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageStyle.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageStyle.cpp
+../../../windebugbuild/src/ffDiaporama/moc_DlgCheckConfig.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgCheckConfig.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgCheckConfig.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgCheckConfig.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_DlgInfoFile.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgInfoFile.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgInfoFile.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgInfoFile.cpp
+
+../../../windebugbuild/src/ffDiaporama/moc_DlgffDPjrProperties.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgffDPjrProperties.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgffDPjrProperties.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgffDPjrProperties.cpp
../../../windebugbuild/src/ffDiaporama/moc_QCustomRuller.o: ../../../windebugbuild/src/ffDiaporama/moc_QCustomRuller.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomRuller.o ..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomRuller.cpp
-../../../windebugbuild/src/ffDiaporama/moc_DlgCheckConfig.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgCheckConfig.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgCheckConfig.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgCheckConfig.cpp
-
../../../windebugbuild/src/ffDiaporama/moc__QCustomDialog.o: ../../../windebugbuild/src/ffDiaporama/moc__QCustomDialog.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc__QCustomDialog.o ..\..\..\windebugbuild\src\ffDiaporama\moc__QCustomDialog.cpp
-../../../windebugbuild/src/ffDiaporama/moc_DlgManageDevices.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgManageDevices.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageDevices.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageDevices.cpp
-
../../../windebugbuild/src/ffDiaporama/moc_QCustomFileInfoLabel.o: ../../../windebugbuild/src/ffDiaporama/moc_QCustomFileInfoLabel.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomFileInfoLabel.o ..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomFileInfoLabel.cpp
-../../../windebugbuild/src/ffDiaporama/moc_DlgffDPjrProperties.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgffDPjrProperties.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgffDPjrProperties.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgffDPjrProperties.cpp
-
-../../../windebugbuild/src/ffDiaporama/moc_DlgInfoFile.o: ../../../windebugbuild/src/ffDiaporama/moc_DlgInfoFile.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgInfoFile.o ..\..\..\windebugbuild\src\ffDiaporama\moc_DlgInfoFile.cpp
-
../../../windebugbuild/src/ffDiaporama/qrc_RSCffDiaporama.o: ../../../windebugbuild/src/ffDiaporama/qrc_RSCffDiaporama.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\windebugbuild\src\ffDiaporama\qrc_RSCffDiaporama.o ..\..\..\windebugbuild\src\ffDiaporama\qrc_RSCffDiaporama.cpp
diff --git a/src/ffDiaporama/Makefile.Release b/src/ffDiaporama/Makefile.Release
index 1671d54..1238275 100755
--- a/src/ffDiaporama/Makefile.Release
+++ b/src/ffDiaporama/Makefile.Release
@@ -1,6 +1,6 @@
#############################################################################
# Makefile for building: ffDiaporama
-# Generated by qmake (2.01a) (Qt 4.8.0) on: lun. 5. mars 21:49:59 2012
+# Generated by qmake (2.01a) (Qt 4.8.0) on: sam. 26. mai 07:55:47 2012
# Project: ffDiaporama.pro
# Template: app
#############################################################################
@@ -12,10 +12,10 @@ CXX = g++
DEFINES = -DUNICODE -DQT_LARGEFILE_SUPPORT -DHAVE_CONFIG_H -DTAGLIB_STATIC -DSHARE_DIR=\"/usr\" -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_NEEDS_QMAIN
CFLAGS = -O2 -Wall $(DEFINES)
CXXFLAGS = -O2 -frtti -fexceptions -mthreads -Wall $(DEFINES)
-INCPATH = -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtCore" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtNetwork" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtGui" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtXml" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include" -I"c:\Qt\ffmpeg-win32-dev\include" -I"c:\Qt\SDL-1.2.14\include" -I"c:\Qt\ThirdLib\include" -I"." -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\ActiveQt" -I"..\..\..\winbuild\src\ffDiaporama" -I"..\..\..\winbuild\src\ffDiaporama" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\win32-g++"
+INCPATH = -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtCore" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtNetwork" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtGui" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtXml" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include" -I"c:\Qt\libav-win32\usr\include" -I"c:\Qt\SDL-1.2.14\include" -I"c:\Qt\ThirdLib\include" -I"." -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\ActiveQt" -I"..\..\..\winbuild\src\ffDiaporama" -I"..\..\..\winbuild\src\ffDiaporama" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\win32-g++"
LINK = g++
LFLAGS = -Wl,-s -mthreads -Wl,-subsystem,windows
-LIBS = -L"c:\QtSDK\Desktop\Qt\4.8.0\mingw\lib" -lmingw32 -lqtmain ..\..\..\winbuild\src\ffDiaporama\ffDiaporama_res.o -Lc:\Qt\ffmpeg-win32-dev\lib -Lc:\Qt\SDL-1.2.14\lib -Lc:\Qt\ThirdLib\lib -lgdi32 -lkernel32 -lavformat -lavcodec -lavutil -lswscale -ltag -lSDL -lQtXml4 -lQtGui4 -lQtNetwork4 -lQtCore4
+LIBS = -L"c:\QtSDK\Desktop\Qt\4.8.0\mingw\lib" -lmingw32 -lqtmain ..\..\..\winbuild\src\ffDiaporama\ffDiaporama_res.o -LC:\Qt\libav-win32\usr\lib -Lc:\Qt\SDL-1.2.14\lib -Lc:\Qt\ThirdLib\lib -lgdi32 -lkernel32 -lavformat -lavcodec -lavutil -lswscale -lexiv2 -ltag -lSDL -lQtXml4 -lQtGui4 -lQtNetwork4 -lQtCore4
QMAKE = c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\qmake
IDC = c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\idc.exe
IDL = midl
@@ -41,135 +41,151 @@ OBJECTS_DIR = ..\..\..\winbuild\src\ffDiaporama
####### Files
SOURCES = _ApplicationDefinitions.cpp \
- _SoundDefinitions.cpp \
_ImagesDefinitions.cpp \
_Diaporama.cpp \
wgt_QVideoPlayer.cpp \
- wgt_QCustomThumbnails.cpp \
- DlgApplicationSettings.cpp \
- DlgBackgroundProperties.cpp \
- cCustomGraphicsRectItem.cpp \
cCustomComboBox.cpp \
- DlgMusicProperties.cpp \
- DlgRenderVideo.cpp \
- DlgTransitionProperties.cpp \
- DlgAbout.cpp \
mainwindow.cpp \
main.cpp \
- DlgSlideProperties.cpp \
- DlgImageCorrection.cpp \
- DlgVideoEdit.cpp \
- DlgTextEdit.cpp \
- cCustomTableWidget.cpp \
- DlgManageStyle.cpp \
+ cCustomSlideTable.cpp \
_StyleDefinitions.cpp \
- ..\sharedfiles\_GlobalDefines.cpp \
- ..\sharedfiles\QCustomRuller.cpp \
- ..\sharedfiles\DlgCheckConfig.cpp \
- ..\sharedfiles\cSaveWindowPosition.cpp \
- ..\sharedfiles\cBaseApplicationConfig.cpp \
- ..\sharedfiles\cFilterTransformObject.cpp \
- ..\fmt_filters\fmt_filters.cpp \
- ..\sharedfiles\cLuLoImageCache.cpp \
- ..\sharedfiles\cDeviceModelDef.cpp \
- ..\sharedfiles\cSoundBlockList.cpp \
- ..\sharedfiles\cBaseMediaFile.cpp \
- ..\sharedfiles\_SDL_Support.cpp \
- ..\sharedfiles\_QCustomDialog.cpp \
- ..\sharedfiles\DlgManageDevices.cpp \
- ..\sharedfiles\QCustomFileInfoLabel.cpp \
- ..\sharedfiles\DlgffDPjrProperties.cpp \
- ..\sharedfiles\cBrushDefinition.cpp \
- ..\sharedfiles\cCustomIcon.cpp \
- ..\sharedfiles\DlgInfoFile.cpp ..\..\..\winbuild\src\ffDiaporama\moc_wgt_QVideoPlayer.cpp \
- ..\..\..\winbuild\src\ffDiaporama\moc_wgt_QCustomThumbnails.cpp \
- ..\..\..\winbuild\src\ffDiaporama\moc_DlgApplicationSettings.cpp \
- ..\..\..\winbuild\src\ffDiaporama\moc_DlgBackgroundProperties.cpp \
+ DlgRenderVideo\DlgRenderVideo.cpp \
+ DlgManageStyle\DlgManageStyle.cpp \
+ DlgAbout\DlgAbout.cpp \
+ DlgTransition\DlgTransitionProperties.cpp \
+ DlgMusic\DlgMusicProperties.cpp \
+ DlgBackground\DlgBackgroundProperties.cpp \
+ DlgAppSettings\DlgManageDevices\DlgManageDevices.cpp \
+ DlgAppSettings\DlgApplicationSettings.cpp \
+ DlgImage\cImgInteractiveZone.cpp \
+ DlgImage\DlgImageCorrection.cpp \
+ DlgSlide\cCustomBlockTable.cpp \
+ DlgSlide\DlgSlideProperties.cpp \
+ DlgSlide\cInteractiveZone.cpp \
+ DlgSlide\cCustomShotTable.cpp \
+ DlgSlide\DlgRuler\DlgRulerDef.cpp \
+ DlgText\cCustomTextEdit.cpp \
+ DlgText\DlgTextEdit.cpp \
+ DlgVideo\DlgVideoEdit.cpp \
+ DlgCheckConfig\DlgCheckConfig.cpp \
+ DlgInfoFile\DlgInfoFile.cpp \
+ DlgffDPjrProperties\DlgffDPjrProperties.cpp \
+ ..\engine\_GlobalDefines.cpp \
+ ..\engine\QCustomRuller.cpp \
+ ..\engine\cSaveWindowPosition.cpp \
+ ..\engine\cBaseApplicationConfig.cpp \
+ ..\engine\cFilterTransformObject.cpp \
+ ..\engine\cLuLoImageCache.cpp \
+ ..\engine\cDeviceModelDef.cpp \
+ ..\engine\cSoundBlockList.cpp \
+ ..\engine\cBaseMediaFile.cpp \
+ ..\engine\_SDL_Support.cpp \
+ ..\engine\_QCustomDialog.cpp \
+ ..\engine\QCustomFileInfoLabel.cpp \
+ ..\engine\cBrushDefinition.cpp \
+ ..\engine\cCustomIcon.cpp \
+ ..\fmt_filters\fmt_filters.cpp ..\..\..\winbuild\src\ffDiaporama\moc_wgt_QVideoPlayer.cpp \
..\..\..\winbuild\src\ffDiaporama\moc_cCustomComboBox.cpp \
- ..\..\..\winbuild\src\ffDiaporama\moc_DlgMusicProperties.cpp \
+ ..\..\..\winbuild\src\ffDiaporama\moc_cCustomSlideTable.cpp \
+ ..\..\..\winbuild\src\ffDiaporama\moc_mainwindow.cpp \
..\..\..\winbuild\src\ffDiaporama\moc_DlgRenderVideo.cpp \
- ..\..\..\winbuild\src\ffDiaporama\moc_DlgTransitionProperties.cpp \
+ ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageStyle.cpp \
..\..\..\winbuild\src\ffDiaporama\moc_DlgAbout.cpp \
- ..\..\..\winbuild\src\ffDiaporama\moc_mainwindow.cpp \
- ..\..\..\winbuild\src\ffDiaporama\moc_DlgSlideProperties.cpp \
+ ..\..\..\winbuild\src\ffDiaporama\moc_DlgTransitionProperties.cpp \
+ ..\..\..\winbuild\src\ffDiaporama\moc_DlgMusicProperties.cpp \
+ ..\..\..\winbuild\src\ffDiaporama\moc_DlgBackgroundProperties.cpp \
+ ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageDevices.cpp \
+ ..\..\..\winbuild\src\ffDiaporama\moc_DlgApplicationSettings.cpp \
+ ..\..\..\winbuild\src\ffDiaporama\moc_cImgInteractiveZone.cpp \
..\..\..\winbuild\src\ffDiaporama\moc_DlgImageCorrection.cpp \
- ..\..\..\winbuild\src\ffDiaporama\moc_DlgVideoEdit.cpp \
+ ..\..\..\winbuild\src\ffDiaporama\moc_DlgSlideProperties.cpp \
+ ..\..\..\winbuild\src\ffDiaporama\moc_cCustomBlockTable.cpp \
+ ..\..\..\winbuild\src\ffDiaporama\moc_cInteractiveZone.cpp \
+ ..\..\..\winbuild\src\ffDiaporama\moc_cCustomShotTable.cpp \
+ ..\..\..\winbuild\src\ffDiaporama\moc_DlgRulerDef.cpp \
+ ..\..\..\winbuild\src\ffDiaporama\moc_cCustomTextEdit.cpp \
..\..\..\winbuild\src\ffDiaporama\moc_DlgTextEdit.cpp \
- ..\..\..\winbuild\src\ffDiaporama\moc_cCustomTableWidget.cpp \
- ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageStyle.cpp \
- ..\..\..\winbuild\src\ffDiaporama\moc_QCustomRuller.cpp \
+ ..\..\..\winbuild\src\ffDiaporama\moc_DlgVideoEdit.cpp \
..\..\..\winbuild\src\ffDiaporama\moc_DlgCheckConfig.cpp \
+ ..\..\..\winbuild\src\ffDiaporama\moc_DlgInfoFile.cpp \
+ ..\..\..\winbuild\src\ffDiaporama\moc_DlgffDPjrProperties.cpp \
+ ..\..\..\winbuild\src\ffDiaporama\moc_QCustomRuller.cpp \
..\..\..\winbuild\src\ffDiaporama\moc__QCustomDialog.cpp \
- ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageDevices.cpp \
..\..\..\winbuild\src\ffDiaporama\moc_QCustomFileInfoLabel.cpp \
- ..\..\..\winbuild\src\ffDiaporama\moc_DlgffDPjrProperties.cpp \
- ..\..\..\winbuild\src\ffDiaporama\moc_DlgInfoFile.cpp \
..\..\..\winbuild\src\ffDiaporama\qrc_RSCffDiaporama.cpp
OBJECTS = ../../../winbuild/src/ffDiaporama/_ApplicationDefinitions.o \
- ../../../winbuild/src/ffDiaporama/_SoundDefinitions.o \
../../../winbuild/src/ffDiaporama/_ImagesDefinitions.o \
../../../winbuild/src/ffDiaporama/_Diaporama.o \
../../../winbuild/src/ffDiaporama/wgt_QVideoPlayer.o \
- ../../../winbuild/src/ffDiaporama/wgt_QCustomThumbnails.o \
- ../../../winbuild/src/ffDiaporama/DlgApplicationSettings.o \
- ../../../winbuild/src/ffDiaporama/DlgBackgroundProperties.o \
- ../../../winbuild/src/ffDiaporama/cCustomGraphicsRectItem.o \
../../../winbuild/src/ffDiaporama/cCustomComboBox.o \
- ../../../winbuild/src/ffDiaporama/DlgMusicProperties.o \
- ../../../winbuild/src/ffDiaporama/DlgRenderVideo.o \
- ../../../winbuild/src/ffDiaporama/DlgTransitionProperties.o \
- ../../../winbuild/src/ffDiaporama/DlgAbout.o \
../../../winbuild/src/ffDiaporama/mainwindow.o \
../../../winbuild/src/ffDiaporama/main.o \
- ../../../winbuild/src/ffDiaporama/DlgSlideProperties.o \
+ ../../../winbuild/src/ffDiaporama/cCustomSlideTable.o \
+ ../../../winbuild/src/ffDiaporama/_StyleDefinitions.o \
+ ../../../winbuild/src/ffDiaporama/DlgRenderVideo.o \
+ ../../../winbuild/src/ffDiaporama/DlgManageStyle.o \
+ ../../../winbuild/src/ffDiaporama/DlgAbout.o \
+ ../../../winbuild/src/ffDiaporama/DlgTransitionProperties.o \
+ ../../../winbuild/src/ffDiaporama/DlgMusicProperties.o \
+ ../../../winbuild/src/ffDiaporama/DlgBackgroundProperties.o \
+ ../../../winbuild/src/ffDiaporama/DlgManageDevices.o \
+ ../../../winbuild/src/ffDiaporama/DlgApplicationSettings.o \
+ ../../../winbuild/src/ffDiaporama/cImgInteractiveZone.o \
../../../winbuild/src/ffDiaporama/DlgImageCorrection.o \
- ../../../winbuild/src/ffDiaporama/DlgVideoEdit.o \
+ ../../../winbuild/src/ffDiaporama/cCustomBlockTable.o \
+ ../../../winbuild/src/ffDiaporama/DlgSlideProperties.o \
+ ../../../winbuild/src/ffDiaporama/cInteractiveZone.o \
+ ../../../winbuild/src/ffDiaporama/cCustomShotTable.o \
+ ../../../winbuild/src/ffDiaporama/DlgRulerDef.o \
+ ../../../winbuild/src/ffDiaporama/cCustomTextEdit.o \
../../../winbuild/src/ffDiaporama/DlgTextEdit.o \
- ../../../winbuild/src/ffDiaporama/cCustomTableWidget.o \
- ../../../winbuild/src/ffDiaporama/DlgManageStyle.o \
- ../../../winbuild/src/ffDiaporama/_StyleDefinitions.o \
+ ../../../winbuild/src/ffDiaporama/DlgVideoEdit.o \
+ ../../../winbuild/src/ffDiaporama/DlgCheckConfig.o \
+ ../../../winbuild/src/ffDiaporama/DlgInfoFile.o \
+ ../../../winbuild/src/ffDiaporama/DlgffDPjrProperties.o \
../../../winbuild/src/ffDiaporama/_GlobalDefines.o \
../../../winbuild/src/ffDiaporama/QCustomRuller.o \
- ../../../winbuild/src/ffDiaporama/DlgCheckConfig.o \
../../../winbuild/src/ffDiaporama/cSaveWindowPosition.o \
../../../winbuild/src/ffDiaporama/cBaseApplicationConfig.o \
../../../winbuild/src/ffDiaporama/cFilterTransformObject.o \
- ../../../winbuild/src/ffDiaporama/fmt_filters.o \
../../../winbuild/src/ffDiaporama/cLuLoImageCache.o \
../../../winbuild/src/ffDiaporama/cDeviceModelDef.o \
../../../winbuild/src/ffDiaporama/cSoundBlockList.o \
../../../winbuild/src/ffDiaporama/cBaseMediaFile.o \
../../../winbuild/src/ffDiaporama/_SDL_Support.o \
../../../winbuild/src/ffDiaporama/_QCustomDialog.o \
- ../../../winbuild/src/ffDiaporama/DlgManageDevices.o \
../../../winbuild/src/ffDiaporama/QCustomFileInfoLabel.o \
- ../../../winbuild/src/ffDiaporama/DlgffDPjrProperties.o \
../../../winbuild/src/ffDiaporama/cBrushDefinition.o \
../../../winbuild/src/ffDiaporama/cCustomIcon.o \
- ../../../winbuild/src/ffDiaporama/DlgInfoFile.o \
+ ../../../winbuild/src/ffDiaporama/fmt_filters.o \
../../../winbuild/src/ffDiaporama/moc_wgt_QVideoPlayer.o \
- ../../../winbuild/src/ffDiaporama/moc_wgt_QCustomThumbnails.o \
- ../../../winbuild/src/ffDiaporama/moc_DlgApplicationSettings.o \
- ../../../winbuild/src/ffDiaporama/moc_DlgBackgroundProperties.o \
../../../winbuild/src/ffDiaporama/moc_cCustomComboBox.o \
- ../../../winbuild/src/ffDiaporama/moc_DlgMusicProperties.o \
+ ../../../winbuild/src/ffDiaporama/moc_cCustomSlideTable.o \
+ ../../../winbuild/src/ffDiaporama/moc_mainwindow.o \
../../../winbuild/src/ffDiaporama/moc_DlgRenderVideo.o \
- ../../../winbuild/src/ffDiaporama/moc_DlgTransitionProperties.o \
+ ../../../winbuild/src/ffDiaporama/moc_DlgManageStyle.o \
../../../winbuild/src/ffDiaporama/moc_DlgAbout.o \
- ../../../winbuild/src/ffDiaporama/moc_mainwindow.o \
- ../../../winbuild/src/ffDiaporama/moc_DlgSlideProperties.o \
+ ../../../winbuild/src/ffDiaporama/moc_DlgTransitionProperties.o \
+ ../../../winbuild/src/ffDiaporama/moc_DlgMusicProperties.o \
+ ../../../winbuild/src/ffDiaporama/moc_DlgBackgroundProperties.o \
+ ../../../winbuild/src/ffDiaporama/moc_DlgManageDevices.o \
+ ../../../winbuild/src/ffDiaporama/moc_DlgApplicationSettings.o \
+ ../../../winbuild/src/ffDiaporama/moc_cImgInteractiveZone.o \
../../../winbuild/src/ffDiaporama/moc_DlgImageCorrection.o \
- ../../../winbuild/src/ffDiaporama/moc_DlgVideoEdit.o \
+ ../../../winbuild/src/ffDiaporama/moc_DlgSlideProperties.o \
+ ../../../winbuild/src/ffDiaporama/moc_cCustomBlockTable.o \
+ ../../../winbuild/src/ffDiaporama/moc_cInteractiveZone.o \
+ ../../../winbuild/src/ffDiaporama/moc_cCustomShotTable.o \
+ ../../../winbuild/src/ffDiaporama/moc_DlgRulerDef.o \
+ ../../../winbuild/src/ffDiaporama/moc_cCustomTextEdit.o \
../../../winbuild/src/ffDiaporama/moc_DlgTextEdit.o \
- ../../../winbuild/src/ffDiaporama/moc_cCustomTableWidget.o \
- ../../../winbuild/src/ffDiaporama/moc_DlgManageStyle.o \
- ../../../winbuild/src/ffDiaporama/moc_QCustomRuller.o \
+ ../../../winbuild/src/ffDiaporama/moc_DlgVideoEdit.o \
../../../winbuild/src/ffDiaporama/moc_DlgCheckConfig.o \
+ ../../../winbuild/src/ffDiaporama/moc_DlgInfoFile.o \
+ ../../../winbuild/src/ffDiaporama/moc_DlgffDPjrProperties.o \
+ ../../../winbuild/src/ffDiaporama/moc_QCustomRuller.o \
../../../winbuild/src/ffDiaporama/moc__QCustomDialog.o \
- ../../../winbuild/src/ffDiaporama/moc_DlgManageDevices.o \
../../../winbuild/src/ffDiaporama/moc_QCustomFileInfoLabel.o \
- ../../../winbuild/src/ffDiaporama/moc_DlgffDPjrProperties.o \
- ../../../winbuild/src/ffDiaporama/moc_DlgInfoFile.o \
../../../winbuild/src/ffDiaporama/qrc_RSCffDiaporama.o
DIST =
QMAKE_TARGET = ffDiaporama
@@ -198,7 +214,7 @@ DESTDIR_TARGET = ..\..\..\winbuild\ffDiaporama.exe
first: all
all: Makefile.Release $(DESTDIR_TARGET)
-$(DESTDIR_TARGET): ../../../winbuild/src/ffDiaporama/ui_mainwindow.h ../../../winbuild/src/ffDiaporama/ui_wgt_QVideoPlayer.h ../../../winbuild/src/ffDiaporama/ui_DlgApplicationSettings.h ../../../winbuild/src/ffDiaporama/ui_DlgBackgroundProperties.h ../../../winbuild/src/ffDiaporama/ui_DlgMusicProperties.h ../../../winbuild/src/ffDiaporama/ui_DlgRenderVideo.h ../../../winbuild/src/ffDiaporama/ui_DlgTransitionProperties.h ../../../winbuild/src/ffDiaporama/ui_DlgAbout.h ../../../winbuild/src/ffDiaporama/ui_DlgSlideProperties.h ../../../winbuild/src/ffDiaporama/ui_DlgImageCorrection.h ../../../winbuild/src/ffDiaporama/ui_DlgVideoEdit.h ../../../winbuild/src/ffDiaporama/ui_DlgTextEdit.h ../../../winbuild/src/ffDiaporama/ui_DlgManageStyle.h ../../../winbuild/src/ffDiaporama/ui_DlgCheckConfig.h ../../../winbuild/src/ffDiaporama/ui_DlgManageDevices.h ../../../winbuild/src/ffDiaporama/ui_DlgffDPjrProperties.h ../../../winbuild/src/ffDiaporama/ui_DlgInfoFile.h $(OBJECTS) ../../../winbuild/src/ffDiaporama/ffDiaporama_res.o
+$(DESTDIR_TARGET): ../../../winbuild/src/ffDiaporama/ui_mainwindow.h ../../../winbuild/src/ffDiaporama/ui_wgt_QVideoPlayer.h ../../../winbuild/src/ffDiaporama/ui_DlgRenderVideo.h ../../../winbuild/src/ffDiaporama/ui_DlgManageStyle.h ../../../winbuild/src/ffDiaporama/ui_DlgAbout.h ../../../winbuild/src/ffDiaporama/ui_DlgTransitionProperties.h ../../../winbuild/src/ffDiaporama/ui_DlgMusicProperties.h ../../../winbuild/src/ffDiaporama/ui_DlgBackgroundProperties.h ../../../winbuild/src/ffDiaporama/ui_DlgManageDevices.h ../../../winbuild/src/ffDiaporama/ui_DlgApplicationSettings.h ../../../winbuild/src/ffDiaporama/ui_DlgImageCorrection.h ../../../winbuild/src/ffDiaporama/ui_DlgSlideProperties.h ../../../winbuild/src/ffDiaporama/ui_DlgRulerDef.h ../../../winbuild/src/ffDiaporama/ui_DlgTextEdit.h ../../../winbuild/src/ffDiaporama/ui_DlgVideoEdit.h ../../../winbuild/src/ffDiaporama/ui_DlgCheckConfig.h ../../../winbuild/src/ffDiaporama/ui_DlgInfoFile.h ../../../winbuild/src/ffDiaporama/ui_DlgffDPjrProperties.h $(OBJECTS) ../../../winbuild/src/ffDiaporama/ffDiaporama_res.o
$(LINK) $(LFLAGS) -o $(DESTDIR_TARGET) object_script.ffDiaporama.Release $(LIBS)
../../../winbuild/src/ffDiaporama/ffDiaporama_res.o: ..\..\ffDiaporama.rc
@@ -211,8 +227,8 @@ dist:
$(ZIP) ffDiaporama.zip $(SOURCES) $(DIST) ffDiaporama.pro c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\qconfig.pri c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\modules\qt_webkit_version.pri c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\qt_functions.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\qt_config.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\exclusive_builds.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\default_pre.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\win32\default_pre.prf ..\common.pri c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\release.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\debug_and_release.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\default_post.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\win32\default_post.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\build_pass.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\win32\thread.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\win32\rtti.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\win32\exceptions.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\win32\stl.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\shared.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\warn_on.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\qt.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\moc.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\win32\windows.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\resources.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\uic.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\yacc.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\features\lex.prf c:\QtSDK\Desktop\Qt\4.8.0\mingw\lib\qtmain.prl ..\..\locale\ffDiaporama_fr.ts ..\..\locale\ffDiaporama_it.ts ..\..\locale\ffDiaporama_de.ts ..\..\locale\ffDiaporama_nl.ts ..\..\locale\ffDiaporama_es.ts ..\..\locale\ffDiaporama_pt.ts ..\..\locale\ffDiaporama_ru.ts ..\..\locale\ffDiaporama_el.ts ..\..\locale\ffDiaporama_cz.ts ..\..\locale\ffDiaporama_fr.ts ..\..\locale\ffDiaporama_it.ts ..\..\locale\ffDiaporama_de.ts ..\..\locale\ffDiaporama_nl.ts ..\..\locale\ffDiaporama_es.ts ..\..\locale\ffDiaporama_pt.ts ..\..\locale\ffDiaporama_ru.ts ..\..\locale\ffDiaporama_el.ts ..\..\locale\ffDiaporama_cz.ts HEADERS RESOURCES IMAGES SOURCES OBJECTIVE_SOURCES FORMS YACCSOURCES YACCSOURCES LEXSOURCES
clean: compiler_clean
- -$(DEL_FILE) ..\..\..\winbuild\src\ffDiaporama\_ApplicationDefinitions.o ..\..\..\winbuild\src\ffDiaporama\_SoundDefinitions.o ..\..\..\winbuild\src\ffDiaporama\_ImagesDefinitions.o ..\..\..\winbuild\src\ffDiaporama\_Diaporama.o ..\..\..\winbuild\src\ffDiaporama\wgt_QVideoPlayer.o ..\..\..\winbuild\src\ffDiaporama\wgt_QCustomThumbnails.o ..\..\..\winbuild\src\ffDiaporama\DlgApplicationSettings.o ..\..\..\winbuild\src\ffDiaporama\DlgBackgroundProperties.o ..\..\..\winbuild\src\ffDiaporama\cCustomGraphicsRectItem.o ..\..\..\winbuild\src\ffDiaporama\cCustomComboBox.o ..\..\..\winbuild\src\ffDiaporama\DlgMusicProperties.o ..\..\..\winbuild\src\ffDiaporama\DlgRenderVideo.o ..\..\..\winbuild\src\ffDiaporama\DlgTransitionProperties.o ..\..\..\winbuild\src\ffDiaporama\DlgAbout.o ..\..\..\winbuild\src\ffDiaporama\mainwindow.o ..\..\..\winbuild\src\ffDiaporama\main.o ..\..\..\winbuild\src\ffDiaporama\DlgSlideProperties.o ..\..\..\winbuild\src\ffDiaporama\DlgImageCorrection.o ..\..\..\winbuild\src\ffDiaporama\DlgVideoEdit.o ..\..\..\winbuild\src\ffDiaporama\DlgTextEdit.o ..\..\..\winbuild\src\ffDiaporama\cCustomTableWidget.o ..\..\..\winbuild\src\ffDiaporama\DlgManageStyle.o ..\..\..\winbuild\src\ffDiaporama\_StyleDefinitions.o ..\..\..\winbuild\src\ffDiaporama\_GlobalDefines.o ..\..\..\winbuild\src\ffDiaporama\QCustomRuller.o ..\..\..\winbuild\src\ffDiaporama\DlgCheckConfig.o ..\..\..\winbuild\src\ffDiaporama\cSaveWindowPosition.o ..\..\..\winbuild\src\ffDiaporama\cBaseApplicationConfig.o ..\..\..\winbuild\src\ffDiaporama\cFilterTransformObject.o ..\..\..\winbuild\src\ffDiaporama\fmt_filters.o ..\..\..\winbuild\src\ffDiaporama\cLuLoImageCache.o ..\..\..\winbuild\src\ffDiaporama\cDeviceModelDef.o ..\..\..\winbuild\src\ffDiaporama\cSoundBlockList.o ..\..\..\winbuild\src\ffDiaporama\cBaseMediaFile.o ..\..\..\winbuild\src\ffDiaporama\_SDL_Support.o ..\..\..\winbuild\src\ffDiaporama\_QCustomDialog.o ..\..\..\winbuild\src\ffDiaporama\DlgManageDevices.o ..\..\..\winbuild\src\ffDiaporama\QCustomFileInfoLabel.o
- -$(DEL_FILE) ..\..\..\winbuild\src\ffDiaporama\DlgffDPjrProperties.o ..\..\..\winbuild\src\ffDiaporama\cBrushDefinition.o ..\..\..\winbuild\src\ffDiaporama\cCustomIcon.o ..\..\..\winbuild\src\ffDiaporama\DlgInfoFile.o ..\..\..\winbuild\src\ffDiaporama\moc_wgt_QVideoPlayer.o ..\..\..\winbuild\src\ffDiaporama\moc_wgt_QCustomThumbnails.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgApplicationSettings.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgBackgroundProperties.o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomComboBox.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgMusicProperties.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgRenderVideo.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgTransitionProperties.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgAbout.o ..\..\..\winbuild\src\ffDiaporama\moc_mainwindow.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgSlideProperties.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgImageCorrection.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgVideoEdit.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgTextEdit.o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomTableWidget.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageStyle.o ..\..\..\winbuild\src\ffDiaporama\moc_QCustomRuller.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgCheckConfig.o ..\..\..\winbuild\src\ffDiaporama\moc__QCustomDialog.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageDevices.o ..\..\..\winbuild\src\ffDiaporama\moc_QCustomFileInfoLabel.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgffDPjrProperties.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgInfoFile.o ..\..\..\winbuild\src\ffDiaporama\qrc_RSCffDiaporama.o
+ -$(DEL_FILE) ..\..\..\winbuild\src\ffDiaporama\_ApplicationDefinitions.o ..\..\..\winbuild\src\ffDiaporama\_ImagesDefinitions.o ..\..\..\winbuild\src\ffDiaporama\_Diaporama.o ..\..\..\winbuild\src\ffDiaporama\wgt_QVideoPlayer.o ..\..\..\winbuild\src\ffDiaporama\cCustomComboBox.o ..\..\..\winbuild\src\ffDiaporama\mainwindow.o ..\..\..\winbuild\src\ffDiaporama\main.o ..\..\..\winbuild\src\ffDiaporama\cCustomSlideTable.o ..\..\..\winbuild\src\ffDiaporama\_StyleDefinitions.o ..\..\..\winbuild\src\ffDiaporama\DlgRenderVideo.o ..\..\..\winbuild\src\ffDiaporama\DlgManageStyle.o ..\..\..\winbuild\src\ffDiaporama\DlgAbout.o ..\..\..\winbuild\src\ffDiaporama\DlgTransitionProperties.o ..\..\..\winbuild\src\ffDiaporama\DlgMusicProperties.o ..\..\..\winbuild\src\ffDiaporama\DlgBackgroundProperties.o ..\..\..\winbuild\src\ffDiaporama\DlgManageDevices.o ..\..\..\winbuild\src\ffDiaporama\DlgApplicationSettings.o ..\..\..\winbuild\src\ffDiaporama\cImgInteractiveZone.o ..\..\..\winbuild\src\ffDiaporama\DlgImageCorrection.o ..\..\..\winbuild\src\ffDiaporama\cCustomBlockTable.o ..\..\..\winbuild\src\ffDiaporama\DlgSlideProperties.o ..\..\..\winbuild\src\ffDiaporama\cInteractiveZone.o ..\..\..\winbuild\src\ffDiaporama\cCustomShotTable.o ..\..\..\winbuild\src\ffDiaporama\DlgRulerDef.o ..\..\..\winbuild\src\ffDiaporama\cCustomTextEdit.o ..\..\..\winbuild\src\ffDiaporama\DlgTextEdit.o ..\..\..\winbuild\src\ffDiaporama\DlgVideoEdit.o ..\..\..\winbuild\src\ffDiaporama\DlgCheckConfig.o ..\..\..\winbuild\src\ffDiaporama\DlgInfoFile.o ..\..\..\winbuild\src\ffDiaporama\DlgffDPjrProperties.o ..\..\..\winbuild\src\ffDiaporama\_GlobalDefines.o ..\..\..\winbuild\src\ffDiaporama\QCustomRuller.o ..\..\..\winbuild\src\ffDiaporama\cSaveWindowPosition.o ..\..\..\winbuild\src\ffDiaporama\cBaseApplicationConfig.o ..\..\..\winbuild\src\ffDiaporama\cFilterTransformObject.o ..\..\..\winbuild\src\ffDiaporama\cLuLoImageCache.o ..\..\..\winbuild\src\ffDiaporama\cDeviceModelDef.o ..\..\..\winbuild\src\ffDiaporama\cSoundBlockList.o
+ -$(DEL_FILE) ..\..\..\winbuild\src\ffDiaporama\cBaseMediaFile.o ..\..\..\winbuild\src\ffDiaporama\_SDL_Support.o ..\..\..\winbuild\src\ffDiaporama\_QCustomDialog.o ..\..\..\winbuild\src\ffDiaporama\QCustomFileInfoLabel.o ..\..\..\winbuild\src\ffDiaporama\cBrushDefinition.o ..\..\..\winbuild\src\ffDiaporama\cCustomIcon.o ..\..\..\winbuild\src\ffDiaporama\fmt_filters.o ..\..\..\winbuild\src\ffDiaporama\moc_wgt_QVideoPlayer.o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomComboBox.o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomSlideTable.o ..\..\..\winbuild\src\ffDiaporama\moc_mainwindow.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgRenderVideo.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageStyle.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgAbout.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgTransitionProperties.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgMusicProperties.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgBackgroundProperties.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageDevices.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgApplicationSettings.o ..\..\..\winbuild\src\ffDiaporama\moc_cImgInteractiveZone.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgImageCorrection.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgSlideProperties.o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomBlockTable.o ..\..\..\winbuild\src\ffDiaporama\moc_cInteractiveZone.o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomShotTable.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgRulerDef.o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomTextEdit.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgTextEdit.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgVideoEdit.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgCheckConfig.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgInfoFile.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgffDPjrProperties.o ..\..\..\winbuild\src\ffDiaporama\moc_QCustomRuller.o ..\..\..\winbuild\src\ffDiaporama\moc__QCustomDialog.o ..\..\..\winbuild\src\ffDiaporama\moc_QCustomFileInfoLabel.o ..\..\..\winbuild\src\ffDiaporama\qrc_RSCffDiaporama.o
-$(DEL_FILE) ..\..\..\winbuild\src\ffDiaporama\ffDiaporama_res.o
distclean: clean
@@ -225,390 +241,424 @@ mocclean: compiler_moc_header_clean compiler_moc_source_clean
mocables: compiler_moc_header_make_all compiler_moc_source_make_all
-compiler_moc_header_make_all: ../../../winbuild/src/ffDiaporama/moc_wgt_QVideoPlayer.cpp ../../../winbuild/src/ffDiaporama/moc_wgt_QCustomThumbnails.cpp ../../../winbuild/src/ffDiaporama/moc_DlgApplicationSettings.cpp ../../../winbuild/src/ffDiaporama/moc_DlgBackgroundProperties.cpp ../../../winbuild/src/ffDiaporama/moc_cCustomComboBox.cpp ../../../winbuild/src/ffDiaporama/moc_DlgMusicProperties.cpp ../../../winbuild/src/ffDiaporama/moc_DlgRenderVideo.cpp ../../../winbuild/src/ffDiaporama/moc_DlgTransitionProperties.cpp ../../../winbuild/src/ffDiaporama/moc_DlgAbout.cpp ../../../winbuild/src/ffDiaporama/moc_mainwindow.cpp ../../../winbuild/src/ffDiaporama/moc_DlgSlideProperties.cpp ../../../winbuild/src/ffDiaporama/moc_DlgImageCorrection.cpp ../../../winbuild/src/ffDiaporama/moc_DlgVideoEdit.cpp ../../../winbuild/src/ffDiaporama/moc_DlgTextEdit.cpp ../../../winbuild/src/ffDiaporama/moc_cCustomTableWidget.cpp ../../../winbuild/src/ffDiaporama/moc_DlgManageStyle.cpp ../../../winbuild/src/ffDiaporama/moc_QCustomRuller.cpp ../../../winbuild/src/ffDiaporama/moc_DlgCheckConfig.cpp ../../../winbuild/src/ffDiaporama/moc__QCustomDialog.cpp ../../../winbuild/src/ffDiaporama/moc_DlgManageDevices.cpp ../../../winbuild/src/ffDiaporama/moc_QCustomFileInfoLabel.cpp ../../../winbuild/src/ffDiaporama/moc_DlgffDPjrProperties.cpp ../../../winbuild/src/ffDiaporama/moc_DlgInfoFile.cpp
+compiler_moc_header_make_all: ../../../winbuild/src/ffDiaporama/moc_wgt_QVideoPlayer.cpp ../../../winbuild/src/ffDiaporama/moc_cCustomComboBox.cpp ../../../winbuild/src/ffDiaporama/moc_cCustomSlideTable.cpp ../../../winbuild/src/ffDiaporama/moc_mainwindow.cpp ../../../winbuild/src/ffDiaporama/moc_DlgRenderVideo.cpp ../../../winbuild/src/ffDiaporama/moc_DlgManageStyle.cpp ../../../winbuild/src/ffDiaporama/moc_DlgAbout.cpp ../../../winbuild/src/ffDiaporama/moc_DlgTransitionProperties.cpp ../../../winbuild/src/ffDiaporama/moc_DlgMusicProperties.cpp ../../../winbuild/src/ffDiaporama/moc_DlgBackgroundProperties.cpp ../../../winbuild/src/ffDiaporama/moc_DlgManageDevices.cpp ../../../winbuild/src/ffDiaporama/moc_DlgApplicationSettings.cpp ../../../winbuild/src/ffDiaporama/moc_cImgInteractiveZone.cpp ../../../winbuild/src/ffDiaporama/moc_DlgImageCorrection.cpp ../../../winbuild/src/ffDiaporama/moc_DlgSlideProperties.cpp ../../../winbuild/src/ffDiaporama/moc_cCustomBlockTable.cpp ../../../winbuild/src/ffDiaporama/moc_cInteractiveZone.cpp ../../../winbuild/src/ffDiaporama/moc_cCustomShotTable.cpp ../../../winbuild/src/ffDiaporama/moc_DlgRulerDef.cpp ../../../winbuild/src/ffDiaporama/moc_cCustomTextEdit.cpp ../../../winbuild/src/ffDiaporama/moc_DlgTextEdit.cpp ../../../winbuild/src/ffDiaporama/moc_DlgVideoEdit.cpp ../../../winbuild/src/ffDiaporama/moc_DlgCheckConfig.cpp ../../../winbuild/src/ffDiaporama/moc_DlgInfoFile.cpp ../../../winbuild/src/ffDiaporama/moc_DlgffDPjrProperties.cpp ../../../winbuild/src/ffDiaporama/moc_QCustomRuller.cpp ../../../winbuild/src/ffDiaporama/moc__QCustomDialog.cpp ../../../winbuild/src/ffDiaporama/moc_QCustomFileInfoLabel.cpp
compiler_moc_header_clean:
- -$(DEL_FILE) ..\..\..\winbuild\src\ffDiaporama\moc_wgt_QVideoPlayer.cpp ..\..\..\winbuild\src\ffDiaporama\moc_wgt_QCustomThumbnails.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgApplicationSettings.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgBackgroundProperties.cpp ..\..\..\winbuild\src\ffDiaporama\moc_cCustomComboBox.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgMusicProperties.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgRenderVideo.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgTransitionProperties.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgAbout.cpp ..\..\..\winbuild\src\ffDiaporama\moc_mainwindow.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgSlideProperties.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgImageCorrection.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgVideoEdit.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgTextEdit.cpp ..\..\..\winbuild\src\ffDiaporama\moc_cCustomTableWidget.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageStyle.cpp ..\..\..\winbuild\src\ffDiaporama\moc_QCustomRuller.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgCheckConfig.cpp ..\..\..\winbuild\src\ffDiaporama\moc__QCustomDialog.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageDevices.cpp ..\..\..\winbuild\src\ffDiaporama\moc_QCustomFileInfoLabel.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgffDPjrProperties.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgInfoFile.cpp
-../../../winbuild/src/ffDiaporama/moc_wgt_QVideoPlayer.cpp: ../sharedfiles/_GlobalDefines.h \
+ -$(DEL_FILE) ..\..\..\winbuild\src\ffDiaporama\moc_wgt_QVideoPlayer.cpp ..\..\..\winbuild\src\ffDiaporama\moc_cCustomComboBox.cpp ..\..\..\winbuild\src\ffDiaporama\moc_cCustomSlideTable.cpp ..\..\..\winbuild\src\ffDiaporama\moc_mainwindow.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgRenderVideo.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageStyle.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgAbout.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgTransitionProperties.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgMusicProperties.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgBackgroundProperties.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageDevices.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgApplicationSettings.cpp ..\..\..\winbuild\src\ffDiaporama\moc_cImgInteractiveZone.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgImageCorrection.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgSlideProperties.cpp ..\..\..\winbuild\src\ffDiaporama\moc_cCustomBlockTable.cpp ..\..\..\winbuild\src\ffDiaporama\moc_cInteractiveZone.cpp ..\..\..\winbuild\src\ffDiaporama\moc_cCustomShotTable.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgRulerDef.cpp ..\..\..\winbuild\src\ffDiaporama\moc_cCustomTextEdit.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgTextEdit.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgVideoEdit.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgCheckConfig.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgInfoFile.cpp ..\..\..\winbuild\src\ffDiaporama\moc_DlgffDPjrProperties.cpp ..\..\..\winbuild\src\ffDiaporama\moc_QCustomRuller.cpp ..\..\..\winbuild\src\ffDiaporama\moc__QCustomDialog.cpp ..\..\..\winbuild\src\ffDiaporama\moc_QCustomFileInfoLabel.cpp
+../../../winbuild/src/ffDiaporama/moc_wgt_QVideoPlayer.cpp: ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
+ ../engine/cBrushDefinition.h \
wgt_QVideoPlayer.h
C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 wgt_QVideoPlayer.h -o ..\..\..\winbuild\src\ffDiaporama\moc_wgt_QVideoPlayer.cpp
-../../../winbuild/src/ffDiaporama/moc_wgt_QCustomThumbnails.cpp: ../sharedfiles/_GlobalDefines.h \
+../../../winbuild/src/ffDiaporama/moc_cCustomComboBox.cpp: ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- wgt_QCustomThumbnails.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 wgt_QCustomThumbnails.h -o ..\..\..\winbuild\src\ffDiaporama\moc_wgt_QCustomThumbnails.cpp
-
-../../../winbuild/src/ffDiaporama/moc_DlgApplicationSettings.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- _ApplicationDefinitions.h \
- ../sharedfiles/cDeviceModelDef.h \
- _StyleDefinitions.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cSoundBlockList.h \
- DlgApplicationSettings.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgApplicationSettings.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgApplicationSettings.cpp
-
-../../../winbuild/src/ffDiaporama/moc_DlgBackgroundProperties.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ cCustomComboBox.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 cCustomComboBox.h -o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomComboBox.cpp
+
+../../../winbuild/src/ffDiaporama/moc_cCustomSlideTable.cpp: ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- DlgBackgroundProperties.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgBackgroundProperties.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgBackgroundProperties.cpp
-
-../../../winbuild/src/ffDiaporama/moc_cCustomComboBox.cpp: ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ cCustomSlideTable.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 cCustomSlideTable.h -o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomSlideTable.cpp
+
+../../../winbuild/src/ffDiaporama/moc_mainwindow.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_SDL_Support.h \
+ ../engine/cSoundBlockList.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- cCustomComboBox.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 cCustomComboBox.h -o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomComboBox.cpp
+ ../engine/cBrushDefinition.h \
+ mainwindow.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 mainwindow.h -o ..\..\..\winbuild\src\ffDiaporama\moc_mainwindow.cpp
-../../../winbuild/src/ffDiaporama/moc_DlgMusicProperties.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+../../../winbuild/src/ffDiaporama/moc_DlgRenderVideo.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- DlgMusicProperties.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgMusicProperties.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgMusicProperties.cpp
-
-../../../winbuild/src/ffDiaporama/moc_DlgRenderVideo.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ DlgRenderVideo/DlgRenderVideo.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgRenderVideo\DlgRenderVideo.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgRenderVideo.cpp
+
+../../../winbuild/src/ffDiaporama/moc_DlgManageStyle.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _StyleDefinitions.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cSoundBlockList.h \
+ DlgManageStyle/DlgManageStyle.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgManageStyle\DlgManageStyle.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageStyle.cpp
+
+../../../winbuild/src/ffDiaporama/moc_DlgAbout.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ DlgAbout/DlgAbout.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgAbout\DlgAbout.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgAbout.cpp
+
+../../../winbuild/src/ffDiaporama/moc_DlgTransitionProperties.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- DlgRenderVideo.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgRenderVideo.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgRenderVideo.cpp
-
-../../../winbuild/src/ffDiaporama/moc_DlgTransitionProperties.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ DlgTransition/DlgTransitionProperties.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgTransition\DlgTransitionProperties.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgTransitionProperties.cpp
+
+../../../winbuild/src/ffDiaporama/moc_DlgMusicProperties.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- DlgTransitionProperties.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgTransitionProperties.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgTransitionProperties.cpp
-
-../../../winbuild/src/ffDiaporama/moc_DlgAbout.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- DlgAbout.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgAbout.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgAbout.cpp
-
-../../../winbuild/src/ffDiaporama/moc_mainwindow.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_SDL_Support.h \
- ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ DlgMusic/DlgMusicProperties.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgMusic\DlgMusicProperties.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgMusicProperties.cpp
+
+../../../winbuild/src/ffDiaporama/moc_DlgBackgroundProperties.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- cCustomTableWidget.h \
- mainwindow.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 mainwindow.h -o ..\..\..\winbuild\src\ffDiaporama\moc_mainwindow.cpp
+ ../engine/cBrushDefinition.h \
+ DlgBackground/DlgBackgroundProperties.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgBackground\DlgBackgroundProperties.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgBackgroundProperties.cpp
+
+../../../winbuild/src/ffDiaporama/moc_DlgManageDevices.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ DlgAppSettings/DlgManageDevices/DlgManageDevices.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgAppSettings\DlgManageDevices\DlgManageDevices.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageDevices.cpp
+
+../../../winbuild/src/ffDiaporama/moc_DlgApplicationSettings.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _ApplicationDefinitions.h \
+ ../engine/cDeviceModelDef.h \
+ _StyleDefinitions.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cSoundBlockList.h \
+ DlgAppSettings/DlgApplicationSettings.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgAppSettings\DlgApplicationSettings.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgApplicationSettings.cpp
-../../../winbuild/src/ffDiaporama/moc_DlgSlideProperties.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+../../../winbuild/src/ffDiaporama/moc_cImgInteractiveZone.cpp: ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- cCustomGraphicsRectItem.h \
- DlgSlideProperties.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgSlideProperties.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgSlideProperties.cpp
-
-../../../winbuild/src/ffDiaporama/moc_DlgImageCorrection.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ DlgImage/cImgInteractiveZone.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgImage\cImgInteractiveZone.h -o ..\..\..\winbuild\src\ffDiaporama\moc_cImgInteractiveZone.cpp
+
+../../../winbuild/src/ffDiaporama/moc_DlgImageCorrection.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- cCustomGraphicsRectItem.h \
- DlgImageCorrection.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgImageCorrection.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgImageCorrection.cpp
-
-../../../winbuild/src/ffDiaporama/moc_DlgVideoEdit.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ DlgImage/DlgImageCorrection.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgImage\DlgImageCorrection.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgImageCorrection.cpp
+
+../../../winbuild/src/ffDiaporama/moc_DlgSlideProperties.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- DlgVideoEdit.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgVideoEdit.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgVideoEdit.cpp
-
-../../../winbuild/src/ffDiaporama/moc_DlgTextEdit.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ DlgSlide/DlgSlideProperties.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgSlide\DlgSlideProperties.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgSlideProperties.cpp
+
+../../../winbuild/src/ffDiaporama/moc_cCustomBlockTable.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- DlgTextEdit.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgTextEdit.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgTextEdit.cpp
-
-../../../winbuild/src/ffDiaporama/moc_cCustomTableWidget.cpp: ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ DlgSlide/cCustomBlockTable.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgSlide\cCustomBlockTable.h -o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomBlockTable.cpp
+
+../../../winbuild/src/ffDiaporama/moc_cInteractiveZone.cpp: ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- cCustomTableWidget.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 cCustomTableWidget.h -o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomTableWidget.cpp
-
-../../../winbuild/src/ffDiaporama/moc_DlgManageStyle.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ DlgSlide/cCustomBlockTable.h \
+ DlgSlide/cInteractiveZone.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgSlide\cInteractiveZone.h -o ..\..\..\winbuild\src\ffDiaporama\moc_cInteractiveZone.cpp
+
+../../../winbuild/src/ffDiaporama/moc_cCustomShotTable.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _Diaporama.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
+ _ApplicationDefinitions.h \
_StyleDefinitions.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cSoundBlockList.h \
- DlgManageStyle.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgManageStyle.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageStyle.cpp
-
-../../../winbuild/src/ffDiaporama/moc_QCustomRuller.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/QCustomRuller.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 ..\sharedfiles\QCustomRuller.h -o ..\..\..\winbuild\src\ffDiaporama\moc_QCustomRuller.cpp
-
-../../../winbuild/src/ffDiaporama/moc_DlgCheckConfig.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/DlgCheckConfig.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 ..\sharedfiles\DlgCheckConfig.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgCheckConfig.cpp
-
-../../../winbuild/src/ffDiaporama/moc__QCustomDialog.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/_QCustomDialog.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 ..\sharedfiles\_QCustomDialog.h -o ..\..\..\winbuild\src\ffDiaporama\moc__QCustomDialog.cpp
-
-../../../winbuild/src/ffDiaporama/moc_DlgManageDevices.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/DlgManageDevices.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 ..\sharedfiles\DlgManageDevices.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageDevices.cpp
-
-../../../winbuild/src/ffDiaporama/moc_QCustomFileInfoLabel.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/QCustomFileInfoLabel.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 ..\sharedfiles\QCustomFileInfoLabel.h -o ..\..\..\winbuild\src\ffDiaporama\moc_QCustomFileInfoLabel.cpp
-
-../../../winbuild/src/ffDiaporama/moc_DlgffDPjrProperties.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/DlgffDPjrProperties.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 ..\sharedfiles\DlgffDPjrProperties.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgffDPjrProperties.cpp
-
-../../../winbuild/src/ffDiaporama/moc_DlgInfoFile.cpp: ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/DlgInfoFile.h
- C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 ..\sharedfiles\DlgInfoFile.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgInfoFile.cpp
+ _ImagesDefinitions.h \
+ ../engine/cBrushDefinition.h \
+ DlgSlide/cCustomShotTable.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgSlide\cCustomShotTable.h -o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomShotTable.cpp
+
+../../../winbuild/src/ffDiaporama/moc_DlgRulerDef.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ DlgSlide/DlgRuler/DlgRulerDef.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgSlide\DlgRuler\DlgRulerDef.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgRulerDef.cpp
+
+../../../winbuild/src/ffDiaporama/moc_cCustomTextEdit.cpp: DlgText/cCustomTextEdit.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgText\cCustomTextEdit.h -o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomTextEdit.cpp
+
+../../../winbuild/src/ffDiaporama/moc_DlgTextEdit.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _Diaporama.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
+ _ApplicationDefinitions.h \
+ _StyleDefinitions.h \
+ _ImagesDefinitions.h \
+ ../engine/cBrushDefinition.h \
+ DlgText/DlgTextEdit.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgText\DlgTextEdit.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgTextEdit.cpp
+
+../../../winbuild/src/ffDiaporama/moc_DlgVideoEdit.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _Diaporama.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
+ _ApplicationDefinitions.h \
+ _StyleDefinitions.h \
+ _ImagesDefinitions.h \
+ ../engine/cBrushDefinition.h \
+ DlgVideo/DlgVideoEdit.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgVideo\DlgVideoEdit.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgVideoEdit.cpp
+
+../../../winbuild/src/ffDiaporama/moc_DlgCheckConfig.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ DlgCheckConfig/DlgCheckConfig.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgCheckConfig\DlgCheckConfig.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgCheckConfig.cpp
+
+../../../winbuild/src/ffDiaporama/moc_DlgInfoFile.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
+ DlgInfoFile/DlgInfoFile.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgInfoFile\DlgInfoFile.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgInfoFile.cpp
+
+../../../winbuild/src/ffDiaporama/moc_DlgffDPjrProperties.cpp: ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
+ DlgffDPjrProperties/DlgffDPjrProperties.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 DlgffDPjrProperties\DlgffDPjrProperties.h -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgffDPjrProperties.cpp
+
+../../../winbuild/src/ffDiaporama/moc_QCustomRuller.cpp: ../engine/_GlobalDefines.h \
+ ../engine/QCustomRuller.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 ..\engine\QCustomRuller.h -o ..\..\..\winbuild\src\ffDiaporama\moc_QCustomRuller.cpp
+
+../../../winbuild/src/ffDiaporama/moc__QCustomDialog.cpp: ../engine/_GlobalDefines.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/_QCustomDialog.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 ..\engine\_QCustomDialog.h -o ..\..\..\winbuild\src\ffDiaporama\moc__QCustomDialog.cpp
+
+../../../winbuild/src/ffDiaporama/moc_QCustomFileInfoLabel.cpp: ../engine/_GlobalDefines.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
+ ../engine/QCustomFileInfoLabel.h
+ C:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\moc.exe $(DEFINES) $(INCPATH) -D__GNUC__ -DWIN32 ..\engine\QCustomFileInfoLabel.h -o ..\..\..\winbuild\src\ffDiaporama\moc_QCustomFileInfoLabel.cpp
compiler_rcc_make_all: ../../../winbuild/src/ffDiaporama/qrc_RSCffDiaporama.cpp
compiler_rcc_clean:
@@ -631,14 +681,14 @@ compiler_rcc_clean:
../../img/player_pause.png \
../../img/DISPLAY_JUKEBOX_S.png \
../../img/undo.png \
- ../../img/text_bold.png \
../../img/FILTER_MUSIC_S.png \
../../img/kmultiple.png \
- ../../img/text_align_vup.png \
../../img/player_fwd.png \
../../img/SmallGreen.png \
- ../../img/arrow_down.png \
+ ../../img/ScrollX.png \
../../img/FILTER_VIDEO_S.png \
+ ../../img/arrow_down.png \
+ ../../img/ScrollY.png \
../../img/Action_Open.png \
../../img/PosEnd.png \
../../img/Distance.png \
@@ -650,16 +700,17 @@ compiler_rcc_clean:
../../img/Refresh.png \
../../img/trash.png \
../../img/PrjProperties.png \
+ ../../img/aoright.png \
../../img/PosStart.png \
../../img/Geometry_Lock.png \
../../img/Red.png \
../../img/EditText.png \
../../img/color_fill.png \
- ../../img/Transform.png \
../../img/FILTER_IMAGE_S.png \
- ../../img/db_menu.png \
+ ../../img/Transform.png \
+ ../../img/Camera.png \
../../img/VideoMask_120x180.png \
- ../../img/text_align_vcenter.png \
+ ../../img/db_menu.png \
../../img/Brightness.png \
../../img/EditImage.png \
../../img/Smartphone.png \
@@ -669,18 +720,18 @@ compiler_rcc_clean:
../../img/add_project.png \
../../img/help.png \
../../img/TimelineBlocks.png \
+ ../../img/aotop.png \
../../img/Geometry.png \
../../img/pattern_fill.png \
../../img/player_end.png \
../../img/Geometry_ImageLock.png \
../../img/PosSize_Height.png \
- ../../img/exit.png \
../../img/VideoMask_150x200.png \
+ ../../img/exit.png \
../../img/color.png \
../../img/editpaste.png \
../../img/Geometry_Unlock.png \
../../img/Alignment.png \
- ../../img/text_align_left.png \
../../img/Chapter.png \
../../img/db_update.png \
../../img/colorize.png \
@@ -693,15 +744,15 @@ compiler_rcc_clean:
../../img/DISPLAY_WEB_S.png \
../../img/zoom.png \
../../img/splash.png \
+ ../../img/Lock24.png \
../../img/rotationg.png \
+ ../../img/aoleft.png \
../../img/FolderMask_200.png \
../../img/file_temporary.png \
../../img/zoomdown.png \
../../img/db_add.png \
- ../../img/text_align_center.png \
../../img/filenew.png \
../../img/ruler_ko.png \
- ../../img/text_align_vbottom.png \
../../img/PosSize_X.png \
../../img/PosSize_Y.png \
../../img/add_image.png \
@@ -718,19 +769,16 @@ compiler_rcc_clean:
../../img/AddFolder.png \
../../img/db_status.png \
../../img/Radius.png \
+ ../../img/undo24.png \
../../img/AdjustW.png \
../../img/tv.png \
../../img/DISPLAY_DATA_S.png \
../../img/Gamma.png \
- ../../img/text_align_justif.png \
../../img/EditMovie.png \
- ../../img/text_underline.png \
../../img/filesave.png \
../../img/Blue.png \
- ../../img/text_italic.png \
../../img/arrow_right.png \
../../img/object_sound.png \
- ../../img/text_align_right.png \
../../img/object_imageHide.png \
../../img/random.png \
../../img/editcopy.png \
@@ -754,7 +802,9 @@ compiler_rcc_clean:
../../img/AdjustWH.png \
../../img/DISPLAY_WEB.png \
../../img/DISPLAY_JUKEBOX.png \
+ ../../img/arrange.png \
../../img/ConvertAudio.png \
+ ../../img/aocenterv.png \
../../img/FILTER_FFD_S.png \
../../img/TimelineShots.png \
../../img/sound_KO.png \
@@ -763,7 +813,9 @@ compiler_rcc_clean:
../../img/filter.png \
../../img/add_text.png \
../../img/Action_Info.png \
+ ../../img/aocenterh.png \
../../img/fifteenpieces.png \
+ ../../img/aobottom.png \
../../img/Transitions/tr-01-01.png \
../../img/Transitions/tr-03-06.png \
../../img/Transitions/tr-10-03.png \
@@ -823,19 +875,22 @@ compiler_rcc_clean:
../../img/Transitions/tr-03-03.png \
../../img/Transitions/tr-01-06.png \
../../img/Transitions/tr-10-00.png \
- ../../img/MediaIcons/200x200/video.png \
- ../../img/MediaIcons/200x200/delayed.png \
- ../../img/MediaIcons/200x200/image.png \
- ../../img/MediaIcons/200x200/cdrom.png \
- ../../img/MediaIcons/200x200/file.png \
- ../../img/MediaIcons/200x200/hdd-lan.png \
- ../../img/MediaIcons/200x200/directory.png \
- ../../img/MediaIcons/200x200/usb.png \
- ../../img/MediaIcons/200x200/Thumbnails.png \
- ../../img/MediaIcons/200x200/hdd.png \
- ../../img/MediaIcons/200x200/folder_home.png \
- ../../img/MediaIcons/200x200/audio.png \
- ../../img/MediaIcons/200x200/ffDiaporama.png \
+ ../../img/Text/text_align_vcenter.png \
+ ../../img/Text/text_italic.png \
+ ../../img/Text/text_super.png \
+ ../../img/Text/text_align_right.png \
+ ../../img/Text/text_indent_in.png \
+ ../../img/Text/text_align_vbottom.png \
+ ../../img/Text/text_indent_out.png \
+ ../../img/Text/text_align_justif.png \
+ ../../img/Text/text_underline.png \
+ ../../img/Text/text_align_left.png \
+ ../../img/Text/text_align_vup.png \
+ ../../img/Text/text_bold.png \
+ ../../img/Text/text_sub.png \
+ ../../img/Text/text_align_center.png \
+ ../../img/Text/text_list.png \
+ ../../img/Text/text_list_nbr.png \
../../img/MediaIcons/100x100/video.png \
../../img/MediaIcons/100x100/delayed.png \
../../img/MediaIcons/100x100/image.png \
@@ -851,6 +906,7 @@ compiler_rcc_clean:
../../img/MediaIcons/100x100/audio.png \
../../img/MediaIcons/100x100/ffDiaporama.png \
../../img/MediaIcons/48x48/video.png \
+ ../../img/MediaIcons/48x48/Text.png \
../../img/MediaIcons/48x48/delayed.png \
../../img/MediaIcons/48x48/image.png \
../../img/MediaIcons/48x48/cdrom.png \
@@ -899,331 +955,354 @@ compiler_image_collection_clean:
-$(DEL_FILE) ..\..\..\winbuild\src\ffDiaporama\qmake_image_collection.cpp
compiler_moc_source_make_all:
compiler_moc_source_clean:
-compiler_uic_make_all: ../../../winbuild/src/ffDiaporama/ui_mainwindow.h ../../../winbuild/src/ffDiaporama/ui_wgt_QVideoPlayer.h ../../../winbuild/src/ffDiaporama/ui_DlgApplicationSettings.h ../../../winbuild/src/ffDiaporama/ui_DlgBackgroundProperties.h ../../../winbuild/src/ffDiaporama/ui_DlgMusicProperties.h ../../../winbuild/src/ffDiaporama/ui_DlgRenderVideo.h ../../../winbuild/src/ffDiaporama/ui_DlgTransitionProperties.h ../../../winbuild/src/ffDiaporama/ui_DlgAbout.h ../../../winbuild/src/ffDiaporama/ui_DlgSlideProperties.h ../../../winbuild/src/ffDiaporama/ui_DlgImageCorrection.h ../../../winbuild/src/ffDiaporama/ui_DlgVideoEdit.h ../../../winbuild/src/ffDiaporama/ui_DlgTextEdit.h ../../../winbuild/src/ffDiaporama/ui_DlgManageStyle.h ../../../winbuild/src/ffDiaporama/ui_DlgCheckConfig.h ../../../winbuild/src/ffDiaporama/ui_DlgManageDevices.h ../../../winbuild/src/ffDiaporama/ui_DlgffDPjrProperties.h ../../../winbuild/src/ffDiaporama/ui_DlgInfoFile.h
+compiler_uic_make_all: ../../../winbuild/src/ffDiaporama/ui_mainwindow.h ../../../winbuild/src/ffDiaporama/ui_wgt_QVideoPlayer.h ../../../winbuild/src/ffDiaporama/ui_DlgRenderVideo.h ../../../winbuild/src/ffDiaporama/ui_DlgManageStyle.h ../../../winbuild/src/ffDiaporama/ui_DlgAbout.h ../../../winbuild/src/ffDiaporama/ui_DlgTransitionProperties.h ../../../winbuild/src/ffDiaporama/ui_DlgMusicProperties.h ../../../winbuild/src/ffDiaporama/ui_DlgBackgroundProperties.h ../../../winbuild/src/ffDiaporama/ui_DlgManageDevices.h ../../../winbuild/src/ffDiaporama/ui_DlgApplicationSettings.h ../../../winbuild/src/ffDiaporama/ui_DlgImageCorrection.h ../../../winbuild/src/ffDiaporama/ui_DlgSlideProperties.h ../../../winbuild/src/ffDiaporama/ui_DlgRulerDef.h ../../../winbuild/src/ffDiaporama/ui_DlgTextEdit.h ../../../winbuild/src/ffDiaporama/ui_DlgVideoEdit.h ../../../winbuild/src/ffDiaporama/ui_DlgCheckConfig.h ../../../winbuild/src/ffDiaporama/ui_DlgInfoFile.h ../../../winbuild/src/ffDiaporama/ui_DlgffDPjrProperties.h
compiler_uic_clean:
- -$(DEL_FILE) ..\..\..\winbuild\src\ffDiaporama\ui_mainwindow.h ..\..\..\winbuild\src\ffDiaporama\ui_wgt_QVideoPlayer.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgApplicationSettings.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgBackgroundProperties.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgMusicProperties.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgRenderVideo.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgTransitionProperties.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgAbout.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgSlideProperties.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgImageCorrection.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgVideoEdit.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgTextEdit.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgManageStyle.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgCheckConfig.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgManageDevices.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgffDPjrProperties.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgInfoFile.h
+ -$(DEL_FILE) ..\..\..\winbuild\src\ffDiaporama\ui_mainwindow.h ..\..\..\winbuild\src\ffDiaporama\ui_wgt_QVideoPlayer.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgRenderVideo.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgManageStyle.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgAbout.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgTransitionProperties.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgMusicProperties.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgBackgroundProperties.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgManageDevices.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgApplicationSettings.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgImageCorrection.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgSlideProperties.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgRulerDef.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgTextEdit.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgVideoEdit.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgCheckConfig.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgInfoFile.h ..\..\..\winbuild\src\ffDiaporama\ui_DlgffDPjrProperties.h
../../../winbuild/src/ffDiaporama/ui_mainwindow.h: mainwindow.ui \
wgt_QVideoPlayer.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h \
+ cCustomSlideTable.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h
+ ../engine/cBrushDefinition.h
c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe mainwindow.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_mainwindow.h
../../../winbuild/src/ffDiaporama/ui_wgt_QVideoPlayer.h: wgt_QVideoPlayer.ui \
wgt_QVideoPlayer.h \
- ../sharedfiles/QCustomRuller.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/QCustomRuller.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h
c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe wgt_QVideoPlayer.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_wgt_QVideoPlayer.h
-../../../winbuild/src/ffDiaporama/ui_DlgApplicationSettings.h: DlgApplicationSettings.ui
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgApplicationSettings.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgApplicationSettings.h
+../../../winbuild/src/ffDiaporama/ui_DlgRenderVideo.h: DlgRenderVideo/DlgRenderVideo.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgRenderVideo\DlgRenderVideo.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgRenderVideo.h
+
+../../../winbuild/src/ffDiaporama/ui_DlgManageStyle.h: DlgManageStyle/DlgManageStyle.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgManageStyle\DlgManageStyle.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgManageStyle.h
+
+../../../winbuild/src/ffDiaporama/ui_DlgAbout.h: DlgAbout/DlgAbout.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgAbout\DlgAbout.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgAbout.h
+
+../../../winbuild/src/ffDiaporama/ui_DlgTransitionProperties.h: DlgTransition/DlgTransitionProperties.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgTransition\DlgTransitionProperties.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgTransitionProperties.h
-../../../winbuild/src/ffDiaporama/ui_DlgBackgroundProperties.h: DlgBackgroundProperties.ui \
+../../../winbuild/src/ffDiaporama/ui_DlgMusicProperties.h: DlgMusic/DlgMusicProperties.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgMusic\DlgMusicProperties.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgMusicProperties.h
+
+../../../winbuild/src/ffDiaporama/ui_DlgBackgroundProperties.h: DlgBackground/DlgBackgroundProperties.ui \
cCustomComboBox.h \
cCustomComboBox.h \
cCustomComboBox.h \
cCustomComboBox.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgBackgroundProperties.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgBackgroundProperties.h
-
-../../../winbuild/src/ffDiaporama/ui_DlgMusicProperties.h: DlgMusicProperties.ui
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgMusicProperties.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgMusicProperties.h
-
-../../../winbuild/src/ffDiaporama/ui_DlgRenderVideo.h: DlgRenderVideo.ui
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgRenderVideo.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgRenderVideo.h
+ ../engine/cBrushDefinition.h
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgBackground\DlgBackgroundProperties.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgBackgroundProperties.h
-../../../winbuild/src/ffDiaporama/ui_DlgTransitionProperties.h: DlgTransitionProperties.ui
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgTransitionProperties.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgTransitionProperties.h
+../../../winbuild/src/ffDiaporama/ui_DlgManageDevices.h: DlgAppSettings/DlgManageDevices/DlgManageDevices.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgAppSettings\DlgManageDevices\DlgManageDevices.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgManageDevices.h
-../../../winbuild/src/ffDiaporama/ui_DlgAbout.h: DlgAbout.ui
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgAbout.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgAbout.h
+../../../winbuild/src/ffDiaporama/ui_DlgApplicationSettings.h: DlgAppSettings/DlgApplicationSettings.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgAppSettings\DlgApplicationSettings.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgApplicationSettings.h
-../../../winbuild/src/ffDiaporama/ui_DlgSlideProperties.h: DlgSlideProperties.ui \
+../../../winbuild/src/ffDiaporama/ui_DlgImageCorrection.h: DlgImage/DlgImageCorrection.ui \
cCustomComboBox.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h \
+ DlgImage/cImgInteractiveZone.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgSlideProperties.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgSlideProperties.h
+ ../engine/cBrushDefinition.h
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgImage\DlgImageCorrection.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgImageCorrection.h
-../../../winbuild/src/ffDiaporama/ui_DlgImageCorrection.h: DlgImageCorrection.ui \
+../../../winbuild/src/ffDiaporama/ui_DlgSlideProperties.h: DlgSlide/DlgSlideProperties.ui \
cCustomComboBox.h \
- ../sharedfiles/_GlobalDefines.h \
+ DlgSlide/cCustomBlockTable.h \
+ DlgSlide/cInteractiveZone.h \
+ DlgSlide/cCustomShotTable.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgImageCorrection.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgImageCorrection.h
-
-../../../winbuild/src/ffDiaporama/ui_DlgVideoEdit.h: DlgVideoEdit.ui \
- wgt_QVideoPlayer.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _Diaporama.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
+ _ApplicationDefinitions.h \
+ _StyleDefinitions.h \
+ _ImagesDefinitions.h \
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgVideoEdit.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgVideoEdit.h
+ ../engine/cBrushDefinition.h \
+ DlgSlide/cCustomBlockTable.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _Diaporama.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
+ _ApplicationDefinitions.h \
+ _StyleDefinitions.h \
+ _ImagesDefinitions.h \
+ ../engine/cBrushDefinition.h
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgSlide\DlgSlideProperties.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgSlideProperties.h
+
+../../../winbuild/src/ffDiaporama/ui_DlgRulerDef.h: DlgSlide/DlgRuler/DlgRulerDef.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgSlide\DlgRuler\DlgRulerDef.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgRulerDef.h
-../../../winbuild/src/ffDiaporama/ui_DlgTextEdit.h: DlgTextEdit.ui \
+../../../winbuild/src/ffDiaporama/ui_DlgTextEdit.h: DlgText/DlgTextEdit.ui \
cCustomComboBox.h \
cCustomComboBox.h \
cCustomComboBox.h \
cCustomComboBox.h \
- ../sharedfiles/_GlobalDefines.h \
+ DlgText/cCustomTextEdit.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgTextEdit.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgTextEdit.h
+ ../engine/cBrushDefinition.h
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgText\DlgTextEdit.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgTextEdit.h
-../../../winbuild/src/ffDiaporama/ui_DlgManageStyle.h: DlgManageStyle.ui
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgManageStyle.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgManageStyle.h
-
-../../../winbuild/src/ffDiaporama/ui_DlgCheckConfig.h: ../sharedfiles/DlgCheckConfig.ui
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe ..\sharedfiles\DlgCheckConfig.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgCheckConfig.h
+../../../winbuild/src/ffDiaporama/ui_DlgVideoEdit.h: DlgVideo/DlgVideoEdit.ui \
+ wgt_QVideoPlayer.h \
+ ../engine/_GlobalDefines.h \
+ _Diaporama.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
+ _ApplicationDefinitions.h \
+ _StyleDefinitions.h \
+ _ImagesDefinitions.h \
+ ../engine/cBrushDefinition.h
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgVideo\DlgVideoEdit.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgVideoEdit.h
-../../../winbuild/src/ffDiaporama/ui_DlgManageDevices.h: ../sharedfiles/DlgManageDevices.ui
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe ..\sharedfiles\DlgManageDevices.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgManageDevices.h
+../../../winbuild/src/ffDiaporama/ui_DlgCheckConfig.h: DlgCheckConfig/DlgCheckConfig.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgCheckConfig\DlgCheckConfig.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgCheckConfig.h
-../../../winbuild/src/ffDiaporama/ui_DlgffDPjrProperties.h: ../sharedfiles/DlgffDPjrProperties.ui
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe ..\sharedfiles\DlgffDPjrProperties.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgffDPjrProperties.h
+../../../winbuild/src/ffDiaporama/ui_DlgInfoFile.h: DlgInfoFile/DlgInfoFile.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgInfoFile\DlgInfoFile.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgInfoFile.h
-../../../winbuild/src/ffDiaporama/ui_DlgInfoFile.h: ../sharedfiles/DlgInfoFile.ui
- c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe ..\sharedfiles\DlgInfoFile.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgInfoFile.h
+../../../winbuild/src/ffDiaporama/ui_DlgffDPjrProperties.h: DlgffDPjrProperties/DlgffDPjrProperties.ui
+ c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe DlgffDPjrProperties\DlgffDPjrProperties.ui -o ..\..\..\winbuild\src\ffDiaporama\ui_DlgffDPjrProperties.h
compiler_yacc_decl_make_all:
compiler_yacc_decl_clean:
@@ -1238,744 +1317,744 @@ compiler_clean: compiler_moc_header_clean compiler_rcc_clean compiler_uic_clean
####### Compile
../../../winbuild/src/ffDiaporama/_ApplicationDefinitions.o: _ApplicationDefinitions.cpp _ApplicationDefinitions.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
_StyleDefinitions.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cSoundBlockList.h \
_Diaporama.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h
+ ../engine/cBrushDefinition.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\_ApplicationDefinitions.o _ApplicationDefinitions.cpp
-../../../winbuild/src/ffDiaporama/_SoundDefinitions.o: _SoundDefinitions.cpp _SoundDefinitions.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/_SDL_Support.h \
- ../sharedfiles/cBaseMediaFile.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\_SoundDefinitions.o _SoundDefinitions.cpp
-
../../../winbuild/src/ffDiaporama/_ImagesDefinitions.o: _ImagesDefinitions.cpp _ImagesDefinitions.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/cBrushDefinition.h
+ ../engine/_GlobalDefines.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
+ ../engine/cBrushDefinition.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\_ImagesDefinitions.o _ImagesDefinitions.cpp
-../../../winbuild/src/ffDiaporama/_Diaporama.o: _Diaporama.cpp ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+../../../winbuild/src/ffDiaporama/_Diaporama.o: _Diaporama.cpp ../engine/_QCustomDialog.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- mainwindow.h
+ ../engine/cBrushDefinition.h \
+ mainwindow.h \
+ ../engine/_SDL_Support.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\_Diaporama.o _Diaporama.cpp
../../../winbuild/src/ffDiaporama/wgt_QVideoPlayer.o: wgt_QVideoPlayer.cpp wgt_QVideoPlayer.h \
- ../sharedfiles/_GlobalDefines.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
+ ../engine/cBrushDefinition.h \
mainwindow.h \
- ../../../winbuild/src/ffDiaporama/ui_wgt_QVideoPlayer.h \
- ../sharedfiles/QCustomRuller.h
+ ../engine/_SDL_Support.h \
+ ../../../winbuild/src/ffDiaporama/ui_wgt_QVideoPlayer.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\wgt_QVideoPlayer.o wgt_QVideoPlayer.cpp
-../../../winbuild/src/ffDiaporama/wgt_QCustomThumbnails.o: wgt_QCustomThumbnails.cpp wgt_QCustomThumbnails.h \
- ../sharedfiles/_GlobalDefines.h \
+../../../winbuild/src/ffDiaporama/cCustomComboBox.o: cCustomComboBox.cpp cCustomComboBox.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- mainwindow.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\wgt_QCustomThumbnails.o wgt_QCustomThumbnails.cpp
-
-../../../winbuild/src/ffDiaporama/DlgApplicationSettings.o: DlgApplicationSettings.cpp ../sharedfiles/DlgCheckConfig.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/DlgManageDevices.h \
- DlgApplicationSettings.h \
+ ../engine/cBrushDefinition.h \
+ ../fmt_filters/fmt_filters.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cCustomComboBox.o cCustomComboBox.cpp
+
+../../../winbuild/src/ffDiaporama/mainwindow.o: mainwindow.cpp _StyleDefinitions.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cSoundBlockList.h \
+ _ImagesDefinitions.h \
+ ../engine/cBrushDefinition.h \
_ApplicationDefinitions.h \
- _StyleDefinitions.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cSoundBlockList.h \
- ../../../winbuild/src/ffDiaporama/ui_DlgApplicationSettings.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgApplicationSettings.o DlgApplicationSettings.cpp
-
-../../../winbuild/src/ffDiaporama/DlgBackgroundProperties.o: DlgBackgroundProperties.cpp DlgBackgroundProperties.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ cCustomSlideTable.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
- _ApplicationDefinitions.h \
- _StyleDefinitions.h \
- _ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- DlgImageCorrection.h \
- cCustomGraphicsRectItem.h \
- ../../../winbuild/src/ffDiaporama/ui_DlgBackgroundProperties.h \
- cCustomComboBox.h \
- mainwindow.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgBackgroundProperties.o DlgBackgroundProperties.cpp
+ mainwindow.h \
+ ../engine/_SDL_Support.h \
+ ../../../winbuild/src/ffDiaporama/ui_mainwindow.h \
+ DlgCheckConfig/DlgCheckConfig.h \
+ DlgffDPjrProperties/DlgffDPjrProperties.h \
+ DlgRenderVideo/DlgRenderVideo.h \
+ DlgAbout/DlgAbout.h \
+ DlgTransition/DlgTransitionProperties.h \
+ DlgMusic/DlgMusicProperties.h \
+ DlgBackground/DlgBackgroundProperties.h \
+ DlgSlide/DlgSlideProperties.h \
+ DlgAppSettings/DlgApplicationSettings.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\mainwindow.o mainwindow.cpp
-../../../winbuild/src/ffDiaporama/cCustomGraphicsRectItem.o: cCustomGraphicsRectItem.cpp cCustomGraphicsRectItem.h \
- ../sharedfiles/_GlobalDefines.h \
+../../../winbuild/src/ffDiaporama/main.o: main.cpp mainwindow.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_SDL_Support.h \
+ ../engine/cSoundBlockList.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- DlgSlideProperties.h \
- ../sharedfiles/_QCustomDialog.h \
- DlgImageCorrection.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cCustomGraphicsRectItem.o cCustomGraphicsRectItem.cpp
+ ../engine/cBrushDefinition.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\main.o main.cpp
-../../../winbuild/src/ffDiaporama/cCustomComboBox.o: cCustomComboBox.cpp cCustomComboBox.h \
- ../sharedfiles/_GlobalDefines.h \
+../../../winbuild/src/ffDiaporama/cCustomSlideTable.o: cCustomSlideTable.cpp mainwindow.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_SDL_Support.h \
+ ../engine/cSoundBlockList.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../fmt_filters/fmt_filters.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cCustomComboBox.o cCustomComboBox.cpp
+ ../engine/cBrushDefinition.h \
+ cCustomSlideTable.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cCustomSlideTable.o cCustomSlideTable.cpp
+
+../../../winbuild/src/ffDiaporama/_StyleDefinitions.o: _StyleDefinitions.cpp DlgManageStyle/DlgManageStyle.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _StyleDefinitions.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cSoundBlockList.h \
+ _ApplicationDefinitions.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\_StyleDefinitions.o _StyleDefinitions.cpp
-../../../winbuild/src/ffDiaporama/DlgMusicProperties.o: DlgMusicProperties.cpp DlgMusicProperties.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+../../../winbuild/src/ffDiaporama/DlgRenderVideo.o: DlgRenderVideo/DlgRenderVideo.cpp _ApplicationDefinitions.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ _StyleDefinitions.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cSoundBlockList.h \
+ DlgffDPjrProperties/DlgffDPjrProperties.h \
+ DlgRenderVideo/DlgRenderVideo.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ _ImagesDefinitions.h \
+ ../engine/cBrushDefinition.h \
+ ../../../winbuild/src/ffDiaporama/ui_DlgRenderVideo.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgRenderVideo.o DlgRenderVideo\DlgRenderVideo.cpp
+
+../../../winbuild/src/ffDiaporama/DlgManageStyle.o: DlgManageStyle/DlgManageStyle.cpp DlgManageStyle/DlgManageStyle.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _StyleDefinitions.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cSoundBlockList.h \
+ ../../../winbuild/src/ffDiaporama/ui_DlgManageStyle.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgManageStyle.o DlgManageStyle\DlgManageStyle.cpp
+
+../../../winbuild/src/ffDiaporama/DlgAbout.o: DlgAbout/DlgAbout.cpp DlgAbout/DlgAbout.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../../../winbuild/src/ffDiaporama/ui_DlgAbout.h \
_ApplicationDefinitions.h \
+ ../engine/cDeviceModelDef.h \
_StyleDefinitions.h \
- _ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../../../winbuild/src/ffDiaporama/ui_DlgMusicProperties.h \
- mainwindow.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgMusicProperties.o DlgMusicProperties.cpp
-
-../../../winbuild/src/ffDiaporama/DlgRenderVideo.o: DlgRenderVideo.cpp ../sharedfiles/DlgffDPjrProperties.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
- DlgRenderVideo.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cSoundBlockList.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgAbout.o DlgAbout\DlgAbout.cpp
+
+../../../winbuild/src/ffDiaporama/DlgTransitionProperties.o: DlgTransition/DlgTransitionProperties.cpp DlgTransition/DlgTransitionProperties.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../../../winbuild/src/ffDiaporama/ui_DlgRenderVideo.h \
- mainwindow.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgRenderVideo.o DlgRenderVideo.cpp
-
-../../../winbuild/src/ffDiaporama/DlgTransitionProperties.o: DlgTransitionProperties.cpp DlgTransitionProperties.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ ../../../winbuild/src/ffDiaporama/ui_DlgTransitionProperties.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgTransitionProperties.o DlgTransition\DlgTransitionProperties.cpp
+
+../../../winbuild/src/ffDiaporama/DlgMusicProperties.o: DlgMusic/DlgMusicProperties.cpp DlgMusic/DlgMusicProperties.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../../../winbuild/src/ffDiaporama/ui_DlgTransitionProperties.h \
- mainwindow.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgTransitionProperties.o DlgTransitionProperties.cpp
-
-../../../winbuild/src/ffDiaporama/DlgAbout.o: DlgAbout.cpp DlgAbout.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../../../winbuild/src/ffDiaporama/ui_DlgAbout.h \
+ ../engine/cBrushDefinition.h \
+ ../../../winbuild/src/ffDiaporama/ui_DlgMusicProperties.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgMusicProperties.o DlgMusic\DlgMusicProperties.cpp
+
+../../../winbuild/src/ffDiaporama/DlgBackgroundProperties.o: DlgBackground/DlgBackgroundProperties.cpp DlgImage/DlgImageCorrection.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _Diaporama.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
- ../sharedfiles/cDeviceModelDef.h \
_StyleDefinitions.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cSoundBlockList.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgAbout.o DlgAbout.cpp
-
-../../../winbuild/src/ffDiaporama/mainwindow.o: mainwindow.cpp _StyleDefinitions.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cSoundBlockList.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
+ ../engine/cBrushDefinition.h \
+ DlgBackground/DlgBackgroundProperties.h \
+ ../../../winbuild/src/ffDiaporama/ui_DlgBackgroundProperties.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgBackgroundProperties.o DlgBackground\DlgBackgroundProperties.cpp
+
+../../../winbuild/src/ffDiaporama/DlgManageDevices.o: DlgAppSettings/DlgManageDevices/DlgManageDevices.cpp DlgAppSettings/DlgManageDevices/DlgManageDevices.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../../../winbuild/src/ffDiaporama/ui_DlgManageDevices.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgManageDevices.o DlgAppSettings\DlgManageDevices\DlgManageDevices.cpp
+
+../../../winbuild/src/ffDiaporama/DlgApplicationSettings.o: DlgAppSettings/DlgApplicationSettings.cpp DlgCheckConfig/DlgCheckConfig.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ DlgAppSettings/DlgManageDevices/DlgManageDevices.h \
+ DlgAppSettings/DlgApplicationSettings.h \
_ApplicationDefinitions.h \
- ../sharedfiles/DlgCheckConfig.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/DlgffDPjrProperties.h \
- mainwindow.h \
- _Diaporama.h \
- cCustomTableWidget.h \
- ../../../winbuild/src/ffDiaporama/ui_mainwindow.h \
- wgt_QVideoPlayer.h \
- wgt_QCustomThumbnails.h \
- DlgAbout.h \
- DlgBackgroundProperties.h \
- DlgMusicProperties.h \
- DlgSlideProperties.h \
- cCustomGraphicsRectItem.h \
- DlgTransitionProperties.h \
- DlgApplicationSettings.h \
- DlgRenderVideo.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\mainwindow.o mainwindow.cpp
+ _StyleDefinitions.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cSoundBlockList.h \
+ ../../../winbuild/src/ffDiaporama/ui_DlgApplicationSettings.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgApplicationSettings.o DlgAppSettings\DlgApplicationSettings.cpp
-../../../winbuild/src/ffDiaporama/main.o: main.cpp mainwindow.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_SDL_Support.h \
- ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+../../../winbuild/src/ffDiaporama/cImgInteractiveZone.o: DlgImage/cImgInteractiveZone.cpp DlgImage/cImgInteractiveZone.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- cCustomTableWidget.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\main.o main.cpp
-
-../../../winbuild/src/ffDiaporama/DlgSlideProperties.o: DlgSlideProperties.cpp DlgSlideProperties.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cImgInteractiveZone.o DlgImage\cImgInteractiveZone.cpp
+
+../../../winbuild/src/ffDiaporama/DlgImageCorrection.o: DlgImage/DlgImageCorrection.cpp DlgImage/DlgImageCorrection.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- cCustomGraphicsRectItem.h \
- ../../../winbuild/src/ffDiaporama/ui_DlgSlideProperties.h \
- cCustomComboBox.h \
- wgt_QCustomThumbnails.h \
- DlgImageCorrection.h \
- DlgVideoEdit.h \
- DlgTextEdit.h \
- mainwindow.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgSlideProperties.o DlgSlideProperties.cpp
-
-../../../winbuild/src/ffDiaporama/DlgImageCorrection.o: DlgImageCorrection.cpp DlgImageCorrection.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ ../../../winbuild/src/ffDiaporama/ui_DlgImageCorrection.h \
+ DlgImage/cImgInteractiveZone.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgImageCorrection.o DlgImage\DlgImageCorrection.cpp
+
+../../../winbuild/src/ffDiaporama/cCustomBlockTable.o: DlgSlide/cCustomBlockTable.cpp DlgSlide/cCustomBlockTable.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- cCustomGraphicsRectItem.h \
- ../../../winbuild/src/ffDiaporama/ui_DlgImageCorrection.h \
- cCustomComboBox.h \
- mainwindow.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgImageCorrection.o DlgImageCorrection.cpp
-
-../../../winbuild/src/ffDiaporama/DlgVideoEdit.o: DlgVideoEdit.cpp DlgVideoEdit.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cCustomBlockTable.o DlgSlide\cCustomBlockTable.cpp
+
+../../../winbuild/src/ffDiaporama/DlgSlideProperties.o: DlgSlide/DlgSlideProperties.cpp DlgSlide/cCustomShotTable.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../../../winbuild/src/ffDiaporama/ui_DlgVideoEdit.h \
- wgt_QVideoPlayer.h \
- mainwindow.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgVideoEdit.o DlgVideoEdit.cpp
-
-../../../winbuild/src/ffDiaporama/DlgTextEdit.o: DlgTextEdit.cpp DlgTextEdit.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ DlgSlide/cCustomBlockTable.h \
+ DlgSlide/cInteractiveZone.h \
+ DlgSlide/DlgSlideProperties.h \
+ ../../../winbuild/src/ffDiaporama/ui_DlgSlideProperties.h \
+ DlgInfoFile/DlgInfoFile.h \
+ DlgImage/DlgImageCorrection.h \
+ DlgVideo/DlgVideoEdit.h \
+ DlgText/DlgTextEdit.h \
+ DlgSlide/DlgRuler/DlgRulerDef.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgSlideProperties.o DlgSlide\DlgSlideProperties.cpp
+
+../../../winbuild/src/ffDiaporama/cInteractiveZone.o: DlgSlide/cInteractiveZone.cpp DlgSlide/cInteractiveZone.h \
+ ../engine/_GlobalDefines.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- ../sharedfiles/_SDL_Support.h \
- cCustomTableWidget.h \
- ../../../winbuild/src/ffDiaporama/ui_DlgTextEdit.h \
- cCustomComboBox.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgTextEdit.o DlgTextEdit.cpp
-
-../../../winbuild/src/ffDiaporama/cCustomTableWidget.o: cCustomTableWidget.cpp mainwindow.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_SDL_Support.h \
- ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
+ ../engine/cBrushDefinition.h \
+ DlgSlide/cCustomBlockTable.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cInteractiveZone.o DlgSlide\cInteractiveZone.cpp
+
+../../../winbuild/src/ffDiaporama/cCustomShotTable.o: DlgSlide/cCustomShotTable.cpp DlgSlide/cCustomShotTable.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
- ../sharedfiles/cBaseMediaFile.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
_StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- cCustomTableWidget.h \
- wgt_QCustomThumbnails.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cCustomTableWidget.o cCustomTableWidget.cpp
-
-../../../winbuild/src/ffDiaporama/DlgManageStyle.o: DlgManageStyle.cpp DlgManageStyle.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- _StyleDefinitions.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cSoundBlockList.h \
- ../../../winbuild/src/ffDiaporama/ui_DlgManageStyle.h \
- mainwindow.h \
- ../sharedfiles/_SDL_Support.h \
+ ../engine/cBrushDefinition.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cCustomShotTable.o DlgSlide\cCustomShotTable.cpp
+
+../../../winbuild/src/ffDiaporama/DlgRulerDef.o: DlgSlide/DlgRuler/DlgRulerDef.cpp DlgSlide/DlgRuler/DlgRulerDef.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../../../winbuild/src/ffDiaporama/ui_DlgRulerDef.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgRulerDef.o DlgSlide\DlgRuler\DlgRulerDef.cpp
+
+../../../winbuild/src/ffDiaporama/cCustomTextEdit.o: DlgText/cCustomTextEdit.cpp DlgText/cCustomTextEdit.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cCustomTextEdit.o DlgText\cCustomTextEdit.cpp
+
+../../../winbuild/src/ffDiaporama/DlgTextEdit.o: DlgText/DlgTextEdit.cpp DlgText/DlgTextEdit.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
_Diaporama.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
_ApplicationDefinitions.h \
+ _StyleDefinitions.h \
_ImagesDefinitions.h \
- ../sharedfiles/cBrushDefinition.h \
- _SoundDefinitions.h \
- cCustomTableWidget.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgManageStyle.o DlgManageStyle.cpp
-
-../../../winbuild/src/ffDiaporama/_StyleDefinitions.o: _StyleDefinitions.cpp ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- DlgManageStyle.h \
+ ../engine/cBrushDefinition.h \
+ ../../../winbuild/src/ffDiaporama/ui_DlgTextEdit.h \
+ DlgText/cCustomTextEdit.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgTextEdit.o DlgText\DlgTextEdit.cpp
+
+../../../winbuild/src/ffDiaporama/DlgVideoEdit.o: DlgVideo/DlgVideoEdit.cpp DlgVideo/DlgVideoEdit.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ _Diaporama.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
+ _ApplicationDefinitions.h \
_StyleDefinitions.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cSoundBlockList.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\_StyleDefinitions.o _StyleDefinitions.cpp
-
-../../../winbuild/src/ffDiaporama/_GlobalDefines.o: ../sharedfiles/_GlobalDefines.cpp ../sharedfiles/_GlobalDefines.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\_GlobalDefines.o ..\sharedfiles\_GlobalDefines.cpp
-
-../../../winbuild/src/ffDiaporama/QCustomRuller.o: ../sharedfiles/QCustomRuller.cpp ../sharedfiles/QCustomRuller.h \
- ../sharedfiles/_GlobalDefines.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\QCustomRuller.o ..\sharedfiles\QCustomRuller.cpp
-
-../../../winbuild/src/ffDiaporama/DlgCheckConfig.o: ../sharedfiles/DlgCheckConfig.cpp ../sharedfiles/DlgCheckConfig.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
+ _ImagesDefinitions.h \
+ ../engine/cBrushDefinition.h \
+ ../../../winbuild/src/ffDiaporama/ui_DlgVideoEdit.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgVideoEdit.o DlgVideo\DlgVideoEdit.cpp
+
+../../../winbuild/src/ffDiaporama/DlgCheckConfig.o: DlgCheckConfig/DlgCheckConfig.cpp DlgCheckConfig/DlgCheckConfig.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
../../../winbuild/src/ffDiaporama/ui_DlgCheckConfig.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cSoundBlockList.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgCheckConfig.o ..\sharedfiles\DlgCheckConfig.cpp
-
-../../../winbuild/src/ffDiaporama/cSaveWindowPosition.o: ../sharedfiles/cSaveWindowPosition.cpp ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/_GlobalDefines.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cSaveWindowPosition.o ..\sharedfiles\cSaveWindowPosition.cpp
-
-../../../winbuild/src/ffDiaporama/cBaseApplicationConfig.o: ../sharedfiles/cBaseApplicationConfig.cpp ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cBaseApplicationConfig.o ..\sharedfiles\cBaseApplicationConfig.cpp
-
-../../../winbuild/src/ffDiaporama/cFilterTransformObject.o: ../sharedfiles/cFilterTransformObject.cpp ../fmt_filters/fmt_filters.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cFilterTransformObject.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cFilterTransformObject.o ..\sharedfiles\cFilterTransformObject.cpp
+ ../engine/cBaseMediaFile.h \
+ ../engine/cSoundBlockList.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgCheckConfig.o DlgCheckConfig\DlgCheckConfig.cpp
+
+../../../winbuild/src/ffDiaporama/DlgInfoFile.o: DlgInfoFile/DlgInfoFile.cpp DlgInfoFile/DlgInfoFile.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
+ ../../../winbuild/src/ffDiaporama/ui_DlgInfoFile.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgInfoFile.o DlgInfoFile\DlgInfoFile.cpp
+
+../../../winbuild/src/ffDiaporama/DlgffDPjrProperties.o: DlgffDPjrProperties/DlgffDPjrProperties.cpp DlgffDPjrProperties/DlgffDPjrProperties.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h \
+ ../../../winbuild/src/ffDiaporama/ui_DlgffDPjrProperties.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgffDPjrProperties.o DlgffDPjrProperties\DlgffDPjrProperties.cpp
+
+../../../winbuild/src/ffDiaporama/_GlobalDefines.o: ../engine/_GlobalDefines.cpp ../engine/_GlobalDefines.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\_GlobalDefines.o ..\engine\_GlobalDefines.cpp
+
+../../../winbuild/src/ffDiaporama/QCustomRuller.o: ../engine/QCustomRuller.cpp ../engine/QCustomRuller.h \
+ ../engine/_GlobalDefines.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\QCustomRuller.o ..\engine\QCustomRuller.cpp
+
+../../../winbuild/src/ffDiaporama/cSaveWindowPosition.o: ../engine/cSaveWindowPosition.cpp ../engine/cSaveWindowPosition.h \
+ ../engine/_GlobalDefines.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cSaveWindowPosition.o ..\engine\cSaveWindowPosition.cpp
+
+../../../winbuild/src/ffDiaporama/cBaseApplicationConfig.o: ../engine/cBaseApplicationConfig.cpp ../engine/cBaseApplicationConfig.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cBaseApplicationConfig.o ..\engine\cBaseApplicationConfig.cpp
+
+../../../winbuild/src/ffDiaporama/cFilterTransformObject.o: ../engine/cFilterTransformObject.cpp ../fmt_filters/fmt_filters.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cFilterTransformObject.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cFilterTransformObject.o ..\engine\cFilterTransformObject.cpp
+
+../../../winbuild/src/ffDiaporama/cLuLoImageCache.o: ../engine/cLuLoImageCache.cpp ../engine/cLuLoImageCache.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cLuLoImageCache.o ..\engine\cLuLoImageCache.cpp
+
+../../../winbuild/src/ffDiaporama/cDeviceModelDef.o: ../engine/cDeviceModelDef.cpp ../engine/cDeviceModelDef.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cDeviceModelDef.o ..\engine\cDeviceModelDef.cpp
+
+../../../winbuild/src/ffDiaporama/cSoundBlockList.o: ../engine/cSoundBlockList.cpp ../engine/cSoundBlockList.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cSoundBlockList.o ..\engine\cSoundBlockList.cpp
+
+../../../winbuild/src/ffDiaporama/cBaseMediaFile.o: ../engine/cBaseMediaFile.cpp ../engine/cBaseApplicationConfig.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/cSoundBlockList.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cBaseMediaFile.o ..\engine\cBaseMediaFile.cpp
+
+../../../winbuild/src/ffDiaporama/_SDL_Support.o: ../engine/_SDL_Support.cpp ../engine/_SDL_Support.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cSoundBlockList.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\_SDL_Support.o ..\engine\_SDL_Support.cpp
+
+../../../winbuild/src/ffDiaporama/_QCustomDialog.o: ../engine/_QCustomDialog.cpp ../engine/_QCustomDialog.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\_QCustomDialog.o ..\engine\_QCustomDialog.cpp
+
+../../../winbuild/src/ffDiaporama/QCustomFileInfoLabel.o: ../engine/QCustomFileInfoLabel.cpp ../engine/QCustomFileInfoLabel.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\QCustomFileInfoLabel.o ..\engine\QCustomFileInfoLabel.cpp
+
+../../../winbuild/src/ffDiaporama/cBrushDefinition.o: ../engine/cBrushDefinition.cpp ../engine/cBrushDefinition.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cCustomIcon.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/cSoundBlockList.h \
+ ../fmt_filters/fmt_filters.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cBrushDefinition.o ..\engine\cBrushDefinition.cpp
+
+../../../winbuild/src/ffDiaporama/cCustomIcon.o: ../engine/cCustomIcon.cpp ../engine/cCustomIcon.h \
+ ../engine/_GlobalDefines.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cCustomIcon.o ..\engine\cCustomIcon.cpp
../../../winbuild/src/ffDiaporama/fmt_filters.o: ../fmt_filters/fmt_filters.cpp ../fmt_filters/fmt_filters.h \
- ../sharedfiles/_GlobalDefines.h
+ ../engine/_GlobalDefines.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\fmt_filters.o ..\fmt_filters\fmt_filters.cpp
-../../../winbuild/src/ffDiaporama/cLuLoImageCache.o: ../sharedfiles/cLuLoImageCache.cpp ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cLuLoImageCache.o ..\sharedfiles\cLuLoImageCache.cpp
-
-../../../winbuild/src/ffDiaporama/cDeviceModelDef.o: ../sharedfiles/cDeviceModelDef.cpp ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cDeviceModelDef.o ..\sharedfiles\cDeviceModelDef.cpp
-
-../../../winbuild/src/ffDiaporama/cSoundBlockList.o: ../sharedfiles/cSoundBlockList.cpp ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cSoundBlockList.o ..\sharedfiles\cSoundBlockList.cpp
-
-../../../winbuild/src/ffDiaporama/cBaseMediaFile.o: ../sharedfiles/cBaseMediaFile.cpp ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cBaseMediaFile.o ..\sharedfiles\cBaseMediaFile.cpp
-
-../../../winbuild/src/ffDiaporama/_SDL_Support.o: ../sharedfiles/_SDL_Support.cpp ../sharedfiles/_SDL_Support.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\_SDL_Support.o ..\sharedfiles\_SDL_Support.cpp
-
-../../../winbuild/src/ffDiaporama/_QCustomDialog.o: ../sharedfiles/_QCustomDialog.cpp ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\_QCustomDialog.o ..\sharedfiles\_QCustomDialog.cpp
-
-../../../winbuild/src/ffDiaporama/DlgManageDevices.o: ../sharedfiles/DlgManageDevices.cpp ../sharedfiles/DlgManageDevices.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../../../winbuild/src/ffDiaporama/ui_DlgManageDevices.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgManageDevices.o ..\sharedfiles\DlgManageDevices.cpp
-
-../../../winbuild/src/ffDiaporama/QCustomFileInfoLabel.o: ../sharedfiles/QCustomFileInfoLabel.cpp ../sharedfiles/QCustomFileInfoLabel.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\QCustomFileInfoLabel.o ..\sharedfiles\QCustomFileInfoLabel.cpp
-
-../../../winbuild/src/ffDiaporama/DlgffDPjrProperties.o: ../sharedfiles/DlgffDPjrProperties.cpp ../sharedfiles/DlgffDPjrProperties.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
- ../../../winbuild/src/ffDiaporama/ui_DlgffDPjrProperties.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgffDPjrProperties.o ..\sharedfiles\DlgffDPjrProperties.cpp
-
-../../../winbuild/src/ffDiaporama/cBrushDefinition.o: ../sharedfiles/cBrushDefinition.cpp ../sharedfiles/cBrushDefinition.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
- ../fmt_filters/fmt_filters.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cBrushDefinition.o ..\sharedfiles\cBrushDefinition.cpp
-
-../../../winbuild/src/ffDiaporama/cCustomIcon.o: ../sharedfiles/cCustomIcon.cpp ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/_GlobalDefines.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\cCustomIcon.o ..\sharedfiles\cCustomIcon.cpp
-
-../../../winbuild/src/ffDiaporama/DlgInfoFile.o: ../sharedfiles/DlgInfoFile.cpp ../sharedfiles/DlgInfoFile.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cSoundBlockList.h \
- ../../../winbuild/src/ffDiaporama/ui_DlgInfoFile.h
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\DlgInfoFile.o ..\sharedfiles\DlgInfoFile.cpp
-
../../../winbuild/src/ffDiaporama/moc_wgt_QVideoPlayer.o: ../../../winbuild/src/ffDiaporama/moc_wgt_QVideoPlayer.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_wgt_QVideoPlayer.o ..\..\..\winbuild\src\ffDiaporama\moc_wgt_QVideoPlayer.cpp
-../../../winbuild/src/ffDiaporama/moc_wgt_QCustomThumbnails.o: ../../../winbuild/src/ffDiaporama/moc_wgt_QCustomThumbnails.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_wgt_QCustomThumbnails.o ..\..\..\winbuild\src\ffDiaporama\moc_wgt_QCustomThumbnails.cpp
-
-../../../winbuild/src/ffDiaporama/moc_DlgApplicationSettings.o: ../../../winbuild/src/ffDiaporama/moc_DlgApplicationSettings.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgApplicationSettings.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgApplicationSettings.cpp
-
-../../../winbuild/src/ffDiaporama/moc_DlgBackgroundProperties.o: ../../../winbuild/src/ffDiaporama/moc_DlgBackgroundProperties.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgBackgroundProperties.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgBackgroundProperties.cpp
-
../../../winbuild/src/ffDiaporama/moc_cCustomComboBox.o: ../../../winbuild/src/ffDiaporama/moc_cCustomComboBox.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomComboBox.o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomComboBox.cpp
-../../../winbuild/src/ffDiaporama/moc_DlgMusicProperties.o: ../../../winbuild/src/ffDiaporama/moc_DlgMusicProperties.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgMusicProperties.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgMusicProperties.cpp
+../../../winbuild/src/ffDiaporama/moc_cCustomSlideTable.o: ../../../winbuild/src/ffDiaporama/moc_cCustomSlideTable.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomSlideTable.o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomSlideTable.cpp
+
+../../../winbuild/src/ffDiaporama/moc_mainwindow.o: ../../../winbuild/src/ffDiaporama/moc_mainwindow.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_mainwindow.o ..\..\..\winbuild\src\ffDiaporama\moc_mainwindow.cpp
../../../winbuild/src/ffDiaporama/moc_DlgRenderVideo.o: ../../../winbuild/src/ffDiaporama/moc_DlgRenderVideo.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgRenderVideo.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgRenderVideo.cpp
-../../../winbuild/src/ffDiaporama/moc_DlgTransitionProperties.o: ../../../winbuild/src/ffDiaporama/moc_DlgTransitionProperties.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgTransitionProperties.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgTransitionProperties.cpp
+../../../winbuild/src/ffDiaporama/moc_DlgManageStyle.o: ../../../winbuild/src/ffDiaporama/moc_DlgManageStyle.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageStyle.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageStyle.cpp
../../../winbuild/src/ffDiaporama/moc_DlgAbout.o: ../../../winbuild/src/ffDiaporama/moc_DlgAbout.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgAbout.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgAbout.cpp
-../../../winbuild/src/ffDiaporama/moc_mainwindow.o: ../../../winbuild/src/ffDiaporama/moc_mainwindow.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_mainwindow.o ..\..\..\winbuild\src\ffDiaporama\moc_mainwindow.cpp
+../../../winbuild/src/ffDiaporama/moc_DlgTransitionProperties.o: ../../../winbuild/src/ffDiaporama/moc_DlgTransitionProperties.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgTransitionProperties.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgTransitionProperties.cpp
-../../../winbuild/src/ffDiaporama/moc_DlgSlideProperties.o: ../../../winbuild/src/ffDiaporama/moc_DlgSlideProperties.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgSlideProperties.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgSlideProperties.cpp
+../../../winbuild/src/ffDiaporama/moc_DlgMusicProperties.o: ../../../winbuild/src/ffDiaporama/moc_DlgMusicProperties.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgMusicProperties.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgMusicProperties.cpp
+
+../../../winbuild/src/ffDiaporama/moc_DlgBackgroundProperties.o: ../../../winbuild/src/ffDiaporama/moc_DlgBackgroundProperties.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgBackgroundProperties.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgBackgroundProperties.cpp
+
+../../../winbuild/src/ffDiaporama/moc_DlgManageDevices.o: ../../../winbuild/src/ffDiaporama/moc_DlgManageDevices.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageDevices.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageDevices.cpp
+
+../../../winbuild/src/ffDiaporama/moc_DlgApplicationSettings.o: ../../../winbuild/src/ffDiaporama/moc_DlgApplicationSettings.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgApplicationSettings.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgApplicationSettings.cpp
+
+../../../winbuild/src/ffDiaporama/moc_cImgInteractiveZone.o: ../../../winbuild/src/ffDiaporama/moc_cImgInteractiveZone.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_cImgInteractiveZone.o ..\..\..\winbuild\src\ffDiaporama\moc_cImgInteractiveZone.cpp
../../../winbuild/src/ffDiaporama/moc_DlgImageCorrection.o: ../../../winbuild/src/ffDiaporama/moc_DlgImageCorrection.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgImageCorrection.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgImageCorrection.cpp
-../../../winbuild/src/ffDiaporama/moc_DlgVideoEdit.o: ../../../winbuild/src/ffDiaporama/moc_DlgVideoEdit.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgVideoEdit.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgVideoEdit.cpp
+../../../winbuild/src/ffDiaporama/moc_DlgSlideProperties.o: ../../../winbuild/src/ffDiaporama/moc_DlgSlideProperties.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgSlideProperties.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgSlideProperties.cpp
+
+../../../winbuild/src/ffDiaporama/moc_cCustomBlockTable.o: ../../../winbuild/src/ffDiaporama/moc_cCustomBlockTable.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomBlockTable.o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomBlockTable.cpp
+
+../../../winbuild/src/ffDiaporama/moc_cInteractiveZone.o: ../../../winbuild/src/ffDiaporama/moc_cInteractiveZone.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_cInteractiveZone.o ..\..\..\winbuild\src\ffDiaporama\moc_cInteractiveZone.cpp
+
+../../../winbuild/src/ffDiaporama/moc_cCustomShotTable.o: ../../../winbuild/src/ffDiaporama/moc_cCustomShotTable.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomShotTable.o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomShotTable.cpp
+
+../../../winbuild/src/ffDiaporama/moc_DlgRulerDef.o: ../../../winbuild/src/ffDiaporama/moc_DlgRulerDef.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgRulerDef.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgRulerDef.cpp
+
+../../../winbuild/src/ffDiaporama/moc_cCustomTextEdit.o: ../../../winbuild/src/ffDiaporama/moc_cCustomTextEdit.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomTextEdit.o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomTextEdit.cpp
../../../winbuild/src/ffDiaporama/moc_DlgTextEdit.o: ../../../winbuild/src/ffDiaporama/moc_DlgTextEdit.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgTextEdit.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgTextEdit.cpp
-../../../winbuild/src/ffDiaporama/moc_cCustomTableWidget.o: ../../../winbuild/src/ffDiaporama/moc_cCustomTableWidget.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomTableWidget.o ..\..\..\winbuild\src\ffDiaporama\moc_cCustomTableWidget.cpp
+../../../winbuild/src/ffDiaporama/moc_DlgVideoEdit.o: ../../../winbuild/src/ffDiaporama/moc_DlgVideoEdit.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgVideoEdit.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgVideoEdit.cpp
-../../../winbuild/src/ffDiaporama/moc_DlgManageStyle.o: ../../../winbuild/src/ffDiaporama/moc_DlgManageStyle.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageStyle.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageStyle.cpp
+../../../winbuild/src/ffDiaporama/moc_DlgCheckConfig.o: ../../../winbuild/src/ffDiaporama/moc_DlgCheckConfig.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgCheckConfig.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgCheckConfig.cpp
+
+../../../winbuild/src/ffDiaporama/moc_DlgInfoFile.o: ../../../winbuild/src/ffDiaporama/moc_DlgInfoFile.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgInfoFile.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgInfoFile.cpp
+
+../../../winbuild/src/ffDiaporama/moc_DlgffDPjrProperties.o: ../../../winbuild/src/ffDiaporama/moc_DlgffDPjrProperties.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgffDPjrProperties.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgffDPjrProperties.cpp
../../../winbuild/src/ffDiaporama/moc_QCustomRuller.o: ../../../winbuild/src/ffDiaporama/moc_QCustomRuller.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_QCustomRuller.o ..\..\..\winbuild\src\ffDiaporama\moc_QCustomRuller.cpp
-../../../winbuild/src/ffDiaporama/moc_DlgCheckConfig.o: ../../../winbuild/src/ffDiaporama/moc_DlgCheckConfig.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgCheckConfig.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgCheckConfig.cpp
-
../../../winbuild/src/ffDiaporama/moc__QCustomDialog.o: ../../../winbuild/src/ffDiaporama/moc__QCustomDialog.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc__QCustomDialog.o ..\..\..\winbuild\src\ffDiaporama\moc__QCustomDialog.cpp
-../../../winbuild/src/ffDiaporama/moc_DlgManageDevices.o: ../../../winbuild/src/ffDiaporama/moc_DlgManageDevices.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageDevices.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgManageDevices.cpp
-
../../../winbuild/src/ffDiaporama/moc_QCustomFileInfoLabel.o: ../../../winbuild/src/ffDiaporama/moc_QCustomFileInfoLabel.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_QCustomFileInfoLabel.o ..\..\..\winbuild\src\ffDiaporama\moc_QCustomFileInfoLabel.cpp
-../../../winbuild/src/ffDiaporama/moc_DlgffDPjrProperties.o: ../../../winbuild/src/ffDiaporama/moc_DlgffDPjrProperties.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgffDPjrProperties.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgffDPjrProperties.cpp
-
-../../../winbuild/src/ffDiaporama/moc_DlgInfoFile.o: ../../../winbuild/src/ffDiaporama/moc_DlgInfoFile.cpp
- $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\moc_DlgInfoFile.o ..\..\..\winbuild\src\ffDiaporama\moc_DlgInfoFile.cpp
-
../../../winbuild/src/ffDiaporama/qrc_RSCffDiaporama.o: ../../../winbuild/src/ffDiaporama/qrc_RSCffDiaporama.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o ..\..\..\winbuild\src\ffDiaporama\qrc_RSCffDiaporama.o ..\..\..\winbuild\src\ffDiaporama\qrc_RSCffDiaporama.cpp
diff --git a/src/ffDiaporama/_ApplicationDefinitions.cpp b/src/ffDiaporama/_ApplicationDefinitions.cpp
index 4a607ec..c9b35ed 100755
--- a/src/ffDiaporama/_ApplicationDefinitions.cpp
+++ b/src/ffDiaporama/_ApplicationDefinitions.cpp
@@ -22,6 +22,16 @@
#include "_ApplicationDefinitions.h"
#include "_Diaporama.h"
+#define RULER_HORIZ_SCREENBORDER 0x0001
+#define RULER_HORIZ_TVMARGIN 0x0002
+#define RULER_HORIZ_SCREENCENTER 0x0004
+#define RULER_HORIZ_UNSELECTED 0x0008
+#define RULER_VERT_SCREENBORDER 0x0010
+#define RULER_VERT_TVMARGIN 0x0020
+#define RULER_VERT_SCREENCENTER 0x0040
+#define RULER_VERT_UNSELECTED 0x0080
+#define RULER_DEFAULT RULER_HORIZ_SCREENBORDER|RULER_HORIZ_TVMARGIN|RULER_HORIZ_SCREENCENTER|RULER_HORIZ_UNSELECTED|RULER_VERT_SCREENBORDER|RULER_VERT_TVMARGIN|RULER_VERT_SCREENCENTER|RULER_VERT_UNSELECTED
+
/****************************************************************************
Other
****************************************************************************/
@@ -49,33 +59,28 @@ void ExitApplicationWithFatalError(QString StringToAdd) {
cSaveDlgSlideProperties::cSaveDlgSlideProperties(QString WindowName,bool &RestoreWindow,bool IsMainWindow):cSaveWindowPosition(WindowName,RestoreWindow,IsMainWindow) {
ToLog(LOGMSG_DEBUGTRACE,"IN:cSaveDlgSlideProperties::cSaveDlgSlideProperties");
SplitterTop="";
- SplitterBottom="";
}
-void cSaveDlgSlideProperties::ApplyToWindow(QWidget *Window,QSplitter *Top,QSplitter *Bottom) {
+void cSaveDlgSlideProperties::ApplyToWindow(QWidget *Window,QSplitter *Top) {
ToLog(LOGMSG_DEBUGTRACE,"IN:cSaveDlgSlideProperties::ApplyToWindow");
cSaveWindowPosition::ApplyToWindow(Window);
if (SplitterTop!="") Top->restoreState(QByteArray::fromHex(SplitterTop.toUtf8()));
- if (SplitterBottom!="") Bottom->restoreState(QByteArray::fromHex(SplitterBottom.toUtf8()));
}
-void cSaveDlgSlideProperties::SaveWindowState(QWidget *Window,QSplitter *Top,QSplitter *Bottom) {
+void cSaveDlgSlideProperties::SaveWindowState(QWidget *Window,QSplitter *Top) {
ToLog(LOGMSG_DEBUGTRACE,"IN:cSaveDlgSlideProperties::SaveWindowState");
cSaveWindowPosition::SaveWindowState(Window);
SplitterTop =QString(QByteArray(Top->saveState()).toHex());
- SplitterBottom=QString(QByteArray(Bottom->saveState()).toHex());
}
void cSaveDlgSlideProperties::OverloadedSaveToXML(QDomElement &Element) {
ToLog(LOGMSG_DEBUGTRACE,"IN:cSaveDlgSlideProperties::OverloadedSaveToXML");
Element.setAttribute("SplitterTop",SplitterTop);
- Element.setAttribute("SplitterBottom",SplitterBottom);
}
void cSaveDlgSlideProperties::OverloadedLoadFromXML(QDomElement Element) {
ToLog(LOGMSG_DEBUGTRACE,"IN:cSaveDlgSlideProperties::OverloadedLoadFromXML");
if (Element.hasAttribute("SplitterTop")) SplitterTop=Element.attribute("SplitterTop");
- if (Element.hasAttribute("SplitterBottom")) SplitterBottom=Element.attribute("SplitterBottom");
}
//====================================================================================================================
@@ -103,6 +108,8 @@ cApplicationConfig::~cApplicationConfig() {
delete DlgManageDevicesWSP;
delete DlgAboutWSP;
delete DlgffDPjrPropertiesWSP;
+ delete DlgInfoFileWSP;
+ delete DlgRulerDef;
}
//====================================================================================================================
@@ -123,7 +130,7 @@ void cApplicationConfig::InitValues() {
FixedDuration = 3000; // Default duration for fixed image (msec)
SpeedWave = SPEEDWAVE_LINEAR; // Default speed wave methode
ImageGeometry = GEOMETRY_16_9; // Project image geometry for image rendering
- SlideRuler = true; // if true, ruler is on in slide properties dialog box
+ SlideRuler = RULER_DEFAULT; // if true, ruler is on in slide properties dialog box
FramingRuler = true; // if true, ruler is on in framing/correction dialog box
DefaultTitleFilling = 0; // Default Title filling mode
DefaultAuthor = ""; // Default Author name
@@ -150,12 +157,14 @@ void cApplicationConfig::InitValues() {
#ifdef Q_OS_WIN
LastProjectPath = WINDOWS_DOCUMENTS; // Last folder use for project
LastRenderVideoPath = WINDOWS_VIDEO; // Last folder use for render video
+ LastCaptureImage = WINDOWS_PICTURES; // Last folder use for captured image
if (LastRenderVideoPath=="") LastRenderVideoPath=WINDOWS_DOCUMENTS;
SDLAudioOldMode = false; // If true SDL audio use old mode sample instead byte
#endif
#ifdef Q_WS_X11
LastProjectPath = QDir::home().absolutePath(); // Last folder use for project
LastRenderVideoPath = QDir::home().absolutePath(); // Last folder use for render video
+ LastCaptureImage = QDir::home().absolutePath(); // Last folder use for captured image
SDLAudioOldMode = true; // If true SDL audio use old mode sample instead byte
#endif
@@ -185,6 +194,8 @@ void cApplicationConfig::InitValues() {
DlgManageDevicesWSP =new cSaveWindowPosition("DlgManageDevicesWSP",RestoreWindow,false); // Dialog box "Manage Devices" - Window size and position
DlgAboutWSP =new cSaveWindowPosition("DlgAboutWSP",RestoreWindow,false); // Dialog box "About" - Window size and position
DlgffDPjrPropertiesWSP =new cSaveWindowPosition("DlgffDPjrPropertiesWSP",RestoreWindow,false); // Dialog box "Project properties" - Window size and position
+ DlgInfoFileWSP =new cSaveWindowPosition("DlgInfoFileWSP",RestoreWindow,false); // Dialog box "File Information" - Window size and position
+ DlgRulerDef =new cSaveWindowPosition("DlgRulerDef",RestoreWindow,false); // Dialog box "Ruler properties" - Window size and position
// Default new text block options
DefaultBlock_Text_TextST ="###GLOBALSTYLE###:0";
@@ -242,6 +253,7 @@ void cApplicationConfig::SaveValueToXML(QDomElement &domDocument) {
Element=domDocument.elementsByTagName("LastDirectories").item(0).toElement();
Element.setAttribute("LastProjectPath", LastProjectPath);
Element.setAttribute("LastRenderVideoPath", LastRenderVideoPath);
+ Element.setAttribute("LastCaptureImage", LastCaptureImage);
}
Element=Document.createElement("EditorOptions");
@@ -258,7 +270,7 @@ void cApplicationConfig::SaveValueToXML(QDomElement &domDocument) {
Element.setAttribute("DefaultTransitionSubType", DefaultTransitionSubType);
Element.setAttribute("DefaultTransitionDuration", DefaultTransitionDuration);
Element.setAttribute("AskUserToRemove", AskUserToRemove?"1":"0");
- Element.setAttribute("SlideRuler", SlideRuler?"1":"0");
+ Element.setAttribute("DlgSlideRuler", SlideRuler);
Element.setAttribute("FramingRuler", FramingRuler?"1":"0");
domDocument.appendChild(Element);
@@ -352,6 +364,8 @@ void cApplicationConfig::SaveValueToXML(QDomElement &domDocument) {
DlgManageDevicesWSP->SaveToXML(domDocument);
DlgAboutWSP->SaveToXML(domDocument);
DlgffDPjrPropertiesWSP->SaveToXML(domDocument);
+ DlgInfoFileWSP->SaveToXML(domDocument);
+ DlgRulerDef->SaveToXML(domDocument);
}
//====================================================================================================================
@@ -364,11 +378,15 @@ bool cApplicationConfig::LoadValueFromXML(QDomElement domDocument,LoadConfigFile
QDomElement Element=domDocument.elementsByTagName("LastDirectories").item(0).toElement();
if (Element.hasAttribute("LastProjectPath")) LastProjectPath =Element.attribute("LastProjectPath");
if (Element.hasAttribute("LastRenderVideoPath")) LastRenderVideoPath =Element.attribute("LastRenderVideoPath");
+ if (Element.hasAttribute("LastCaptureImage")) LastCaptureImage =Element.attribute("LastCaptureImage");
}
if ((domDocument.elementsByTagName("EditorOptions").length()>0)&&(domDocument.elementsByTagName("EditorOptions").item(0).isElement()==true)) {
QDomElement Element=domDocument.elementsByTagName("EditorOptions").item(0).toElement();
if (Element.hasAttribute("MemCacheMaxValue")) MemCacheMaxValue =Element.attribute("MemCacheMaxValue").toLongLong();
+ #ifdef Q_OS_WIN
+ if ((!IsWindowsXP)&&(MemCacheMaxValue>qlonglong(512*1024*1024))) MemCacheMaxValue=qlonglong(512*1024*1024);
+ #endif
if (Element.hasAttribute("SDLAudioOldMode")) SDLAudioOldMode =Element.attribute("SDLAudioOldMode")=="1";
if (Element.hasAttribute("AppendObject")) AppendObject =Element.attribute("AppendObject")=="1";
if (Element.hasAttribute("PartitionMode")) PartitionMode =Element.attribute("PartitionMode")=="1";
@@ -382,7 +400,8 @@ bool cApplicationConfig::LoadValueFromXML(QDomElement domDocument,LoadConfigFile
if (Element.hasAttribute("DefaultTransitionSubType")) DefaultTransitionSubType =Element.attribute("DefaultTransitionSubType").toInt();
if (Element.hasAttribute("DefaultTransitionDuration")) DefaultTransitionDuration =Element.attribute("DefaultTransitionDuration").toInt();
if (Element.hasAttribute("AskUserToRemove")) AskUserToRemove =Element.attribute("AskUserToRemove")!="0";
- if (Element.hasAttribute("SlideRuler")) SlideRuler =Element.attribute("SlideRuler")!="0";
+ if ((Element.hasAttribute("SlideRuler"))&&(Element.attribute("SlideRuler")!="0")) SlideRuler=RULER_DEFAULT;
+ if (Element.hasAttribute("DlgSlideRuler")) SlideRuler =Element.attribute("DlgSlideRuler").toInt();
if (Element.hasAttribute("FramingRuler")) FramingRuler =Element.attribute("FramingRuler")!="0";
}
@@ -486,6 +505,8 @@ bool cApplicationConfig::LoadValueFromXML(QDomElement domDocument,LoadConfigFile
DlgManageDevicesWSP->LoadFromXML(domDocument);
DlgAboutWSP->LoadFromXML(domDocument);
DlgffDPjrPropertiesWSP->LoadFromXML(domDocument);
+ DlgInfoFileWSP->LoadFromXML(domDocument);
+ DlgRulerDef->LoadFromXML(domDocument);
return true;
}
diff --git a/src/ffDiaporama/_ApplicationDefinitions.h b/src/ffDiaporama/_ApplicationDefinitions.h
index ded6271..2708b15 100755
--- a/src/ffDiaporama/_ApplicationDefinitions.h
+++ b/src/ffDiaporama/_ApplicationDefinitions.h
@@ -22,11 +22,11 @@
#define APPLICATIONDEFINITIONS_H
// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
+#include "../engine/_GlobalDefines.h"
// Include some common various class
-#include "../sharedfiles/cBaseApplicationConfig.h"
-#include "../sharedfiles/cDeviceModelDef.h"
+#include "../engine/cBaseApplicationConfig.h"
+#include "../engine/cDeviceModelDef.h"
// Specific inclusions
#include "_StyleDefinitions.h"
@@ -37,34 +37,39 @@
// Application definition
#define APPLICATION_NAME "ffDiaporama"
-#define APPLICATION_VERSION "1.2.1"
+#define APPLICATION_VERSION "1.3"
#define CONFIGFILEEXT ".xml" // File extension of configuration files
#define CONFIGFILE_ROOTNAME "Configuration" // Name of root node in the config xml file
#define APPLICATION_ROOTNAME "Project" // Name of root node in the project xml file
-#define BUILDVERSION_WEBURL "http://download.tuxfamily.org/ffdiaporama/Stable/BUILDVERSION.txt"
+#define BUILDVERSION_WEBURL "http://ffdiaporama.tuxfamily.org/Stable/BUILDVERSION.txt"
//#define BUILDVERSION_WEBURL "http://download.tuxfamily.org/ffdiaporama/Devel/BUILDVERSION.txt"
// Dialogbox help file
#define WIKI_CMS_PATH "http://ffdiaporama.tuxfamily.org/?page_id="
-#define HELPFILE_INDEX "http://ffdiaporama.tuxfamily.org/?page_id=3854&lang=<local>"
-#define HELPFILE_PRINCIPLES "http://ffdiaporama.tuxfamily.org/?page_id=3870&lang=<local>"
-#define HELPFILE_DEVICES "http://ffdiaporama.tuxfamily.org/?page_id=3909&lang=<local>"
-#define HELPFILE_DlgTextEdit "http://ffdiaporama.tuxfamily.org/?page_id=3883&lang=<local>"
-#define HELPFILE_DlgSlideProperties "http://ffdiaporama.tuxfamily.org/?page_id=3919&lang=<local>"
-#define HELPFILE_DlgBackgroundProperties "http://ffdiaporama.tuxfamily.org/?page_id=3924&lang=<local>"
-#define HELPFILE_DlgImageCorrection "http://ffdiaporama.tuxfamily.org/?page_id=3927&lang=<local>"
-#define HELPFILE_DlgManageStyle "http://ffdiaporama.tuxfamily.org/?page_id=3880&lang=<local>"
-#define HELPFILE_DlgMusicProperties "http://ffdiaporama.tuxfamily.org/?page_id=3931&lang=<local>"
-#define HELPFILE_DlgRenderVideo "http://ffdiaporama.tuxfamily.org/?page_id=3935&lang=<local>"
-#define HELPFILE_DlgTransitionProperties "http://ffdiaporama.tuxfamily.org/?page_id=3941&lang=<local>"
-#define HELPFILE_DlgVideoEdit "http://ffdiaporama.tuxfamily.org/?page_id=3945&lang=<local>"
-#define HELPFILE_DlgCheckConfig "http://ffdiaporama.tuxfamily.org/?page_id=3968&lang=<local>"
-#define HELPFILE_SUPPORT "http://ffdiaporama.tuxfamily.org/?page_id=3854&lang=<local>"
+#define HELPFILE_WIKIINDEX 5239
+#define HELPFILE_PRINCIPLESINDEX 5254
+#define HELPFILE_RENDERINDEX 5278
+#define HELPFILE_INDEX "http://ffdiaporama.tuxfamily.org/?page_id=5239&lang=<local>"
+#define HELPFILE_PRINCIPLES "http://ffdiaporama.tuxfamily.org/?page_id=5254&lang=<local>"
+#define HELPFILE_DEVICES "http://ffdiaporama.tuxfamily.org/?page_id=5416&lang=<local>"
+#define HELPFILE_DlgTextEdit "http://ffdiaporama.tuxfamily.org/?page_id=5316&lang=<local>"
+#define HELPFILE_DlgSlideProperties "http://ffdiaporama.tuxfamily.org/?page_id=5287&lang=<local>"
+#define HELPFILE_DlgBackgroundProperties "http://ffdiaporama.tuxfamily.org/?page_id=5303&lang=<local>"
+#define HELPFILE_DlgImageCorrection "http://ffdiaporama.tuxfamily.org/?page_id=5300&lang=<local>"
+#define HELPFILE_DlgManageStyle "http://ffdiaporama.tuxfamily.org/?page_id=5318&lang=<local>"
+#define HELPFILE_DlgMusicProperties "http://ffdiaporama.tuxfamily.org/?page_id=5306&lang=<local>"
+#define HELPFILE_DlgRenderVideo "http://ffdiaporama.tuxfamily.org/?page_id=5324&lang=<local>"
+#define HELPFILE_DlgTransitionProperties "http://ffdiaporama.tuxfamily.org/?page_id=5309&lang=<local>"
+#define HELPFILE_DlgVideoEdit "http://ffdiaporama.tuxfamily.org/?page_id=5312&lang=<local>"
+#define HELPFILE_DlgCheckConfig "http://ffdiaporama.tuxfamily.org/?page_id=5293&lang=<local>"
+#define HELPFILE_DlgApplicationSettings "http://ffdiaporama.tuxfamily.org/?page_id=5284&lang=<local>"
+#define HELPFILE_DlgManageDevices "http://ffdiaporama.tuxfamily.org/?page_id=5297&lang=<local>"
+#define HELPFILE_DlgffDPjrProperties "http://ffdiaporama.tuxfamily.org/?page_id=5321&lang=<local>"
+#define HELPFILE_DlgInfoFile "http://ffdiaporama.tuxfamily.org/?page_id=5576&lang=<local>"
+#define HELPFILE_DlgRulerDef "" // No page for that !
+#define HELPFILE_SUPPORT "http://ffdiaporama.tuxfamily.org/?page_id=5239&lang=<local>"
#define HELPFILE_NEWS "http://ffdiaporama.tuxfamily.org/?cat=5&lang=<local>"
-#define HELPFILE_DlgApplicationSettings "http://ffdiaporama.tuxfamily.org/?page_id=3915&lang=<local>"
-#define HELPFILE_DlgManageDevices "http://ffdiaporama.tuxfamily.org/?page_id=4023&lang=<local>"
-#define HELPFILE_DlgffDPjrProperties "http://ffdiaporama.tuxfamily.org/?page_id=4021&lang=<local>"
// Define styles name used in xml file
#define STYLENAME_TEXTSTYLE "TextStyleCollection"
@@ -109,11 +114,10 @@ void ExitApplicationWithFatalError(QString StringToAdd); // Exit applicat
class cSaveDlgSlideProperties : public cSaveWindowPosition {
public:
QString SplitterTop;
- QString SplitterBottom;
explicit cSaveDlgSlideProperties(QString WindowName,bool &RestoreWindow,bool IsMainWindow);
- virtual void ApplyToWindow(QWidget *Window,QSplitter *Top,QSplitter *Bottom);
- virtual void SaveWindowState(QWidget *Window,QSplitter *Top,QSplitter *Bottom);
+ virtual void ApplyToWindow(QWidget *Window,QSplitter *Top);
+ virtual void SaveWindowState(QWidget *Window,QSplitter *Top);
virtual void OverloadedSaveToXML(QDomElement &domDocument);
virtual void OverloadedLoadFromXML(QDomElement domDocument);
};
@@ -152,6 +156,7 @@ public:
// Last directories
QString LastProjectPath; // Last folder use for project
QString LastRenderVideoPath; // Last folder use for render video
+ QString LastCaptureImage; // Last folder use for captured image
// Preferences
bool SDLAudioOldMode; // If true SDL audio use old mode sample instead byte
@@ -164,7 +169,7 @@ public:
int DisplayUnit; // Display coordinates unit
int DefaultFraming; // 0=Width, 1=Height
int TimelineHeight; // Height of the timeline
- bool SlideRuler; // if true, ruler is on in slide properties dialog box
+ int SlideRuler; // if true, ruler is on in slide properties dialog box
bool FramingRuler; // if true, ruler is on in framing/correction dialog box
// Preview setting
@@ -221,6 +226,8 @@ public:
cSaveWindowPosition *DlgManageDevicesWSP; // Dialog box "Manage Devices" - Window size and position
cSaveWindowPosition *DlgAboutWSP; // Dialog box "About" - Window size and position
cSaveWindowPosition *DlgffDPjrPropertiesWSP; // Dialog box "Project properties" - Window size and position
+ cSaveWindowPosition *DlgInfoFileWSP; // Dialog box "File Information" - Window size and position
+ cSaveWindowPosition *DlgRulerDef; // Dialog box "Ruler properties" - Window size and position
explicit cApplicationConfig(QMainWindow *TheTopLevelWindow);
~cApplicationConfig();
diff --git a/src/ffDiaporama/_Diaporama.cpp b/src/ffDiaporama/_Diaporama.cpp
index a99f211..bcc5add 100755
--- a/src/ffDiaporama/_Diaporama.cpp
+++ b/src/ffDiaporama/_Diaporama.cpp
@@ -18,13 +18,21 @@
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
====================================================================== */
-#include "../sharedfiles/_QCustomDialog.h"
+#include "../engine/_QCustomDialog.h"
// Specific inclusions
#include "_Diaporama.h"
#include "_ApplicationDefinitions.h"
#include "mainwindow.h"
#include <QFileDialog>
+#include <QAbstractTextDocumentLayout>
+#include <QTextDocument>
+#include <QTextCursor>
+#include <QTextCharFormat>
+#include <QTextBlockFormat>
+
+// Composition parameters
+#define SCALINGTEXTFACTOR 700 // 700 instead of 400 (ffD 1.0/1.1/1.2) to keep similar display from plaintext to richtext
//============================================
// Global static
@@ -44,6 +52,7 @@ cCompositionObject::cCompositionObject(int TheTypeComposition,int TheIndexKey,cB
TypeComposition = TheTypeComposition;
IndexKey = TheIndexKey;
IsVisible = true;
+ SameAsPrevShot = false;
BackgroundBrush = new cBrushDefinition(ApplicationConfig,&BackgroundList); // ERROR : BackgroundList is global !
x = 0.25; // Position (x,y) and size (width,height)
@@ -51,9 +60,9 @@ cCompositionObject::cCompositionObject(int TheTypeComposition,int TheIndexKey,cB
w = 0.5;
h = 0.5;
- RotateZAxis = 0; // Rotation from Z axis
- RotateXAxis = 0; // Rotation from X axis
- RotateYAxis = 0; // Rotation from Y axis
+ RotateZAxis = 0; // Rotation from Z axis
+ RotateXAxis = 0; // Rotation from X axis
+ RotateYAxis = 0; // Rotation from Y axis
// Text part
Text = ""; // Text of the object
@@ -67,6 +76,9 @@ cCompositionObject::cCompositionObject(int TheTypeComposition,int TheIndexKey,cB
HAlign = DEFAULT_FONT_HALIGN; // Horizontal alignement : 0=left, 1=center, 2=right, 3=justif
VAlign = DEFAULT_FONT_VALIGN; // Vertical alignement : 0=up, 1=center, 2=bottom
StyleText = DEFAULT_FONT_TEXTEFFECT; // Style : 0=normal, 1=outerline, 2=shadow up-left, 3=shadow up-right, 4=shadow bt-left, 5=shadow bt-right
+ TxtZoomLevel = 100; // Zoom Level for text
+ TxtScrollX = 0; // Scrolling X for text
+ TxtScrollY = 0; // Scrolling Y for text
// Shap part
BackgroundForm = 1; // Type of the form : 0=None, 1=Rectangle, 2=Ellipse
@@ -78,6 +90,13 @@ cCompositionObject::cCompositionObject(int TheTypeComposition,int TheIndexKey,cB
FormShadow = 0; // 0=none, 1=shadow up-left, 2=shadow up-right, 3=shadow bt-left, 4=shadow bt-right
FormShadowDistance = 5; // Distance from form to shadow
+ // Block animation part
+ BlockAnimType = BLOCKANIMTYPE_NONE;
+ TurnZAxis = 0; // Number of turn from Z axis
+ TurnXAxis = 0; // Number of turn from X axis
+ TurnYAxis = 0; // Number of turn from Y axis
+ Dissolve = BLOCKANIMVALUE_APPEAR;
+
// BackgroundBrush is initilise by object constructor except TypeComposition and key
BackgroundBrush->TypeComposition = TypeComposition;
}
@@ -104,6 +123,7 @@ void cCompositionObject::SaveToXML(QDomElement &domDocument,QString ElementName,
Element.setAttribute("TypeComposition",TypeComposition);
Element.setAttribute("IndexKey",IndexKey);
Element.setAttribute("IsVisible",IsVisible?"1":"0");
+ Element.setAttribute("SameAsPrevShot",SameAsPrevShot?"1":"0");
// Attribut of the object
Element.setAttribute("x",x); // Position x
@@ -115,6 +135,13 @@ void cCompositionObject::SaveToXML(QDomElement &domDocument,QString ElementName,
Element.setAttribute("RotateYAxis",RotateYAxis); // Rotation from Y axis
Element.setAttribute("BackgroundTransparent",Opacity); // Opacity of the form
+ // Block animation
+ Element.setAttribute("BlockAnimType",BlockAnimType); // Block animation type
+ Element.setAttribute("TurnZAxis",TurnZAxis); // Number of turn from Z axis
+ Element.setAttribute("TurnXAxis",TurnXAxis); // Number of turn from X axis
+ Element.setAttribute("TurnYAxis",TurnYAxis); // Number of turn from Y axis
+ Element.setAttribute("Dissolve",Dissolve); // Dissolve value
+
// Text part
if ((!CheckTypeComposition)||(TypeComposition!=COMPOSITIONTYPE_SHOT)) {
Element.setAttribute("Text",Text); // Text of the object
@@ -132,13 +159,19 @@ void cCompositionObject::SaveToXML(QDomElement &domDocument,QString ElementName,
}
}
+ // Shot part of text part
+ Element.setAttribute("TxtZoomLevel",TxtZoomLevel); // Zoom Level for text
+ Element.setAttribute("TxtScrollX",TxtScrollX); // Scrolling X for text
+ Element.setAttribute("TxtScrollY",TxtScrollY); // Scrolling Y for text
+
+
// Shap part
- Element.setAttribute("BackgroundForm",BackgroundForm); // Type of the form : 0=None, 1=Rectangle, 2=Ellipse
- Element.setAttribute("PenSize",PenSize); // Width of the border of the form
- Element.setAttribute("PenStyle",PenStyle); // Style of the pen border of the form
- Element.setAttribute("PenColor",PenColor); // Color of the border of the form
- Element.setAttribute("FormShadow",FormShadow); // 0=none, 1=shadow up-left, 2=shadow up-right, 3=shadow bt-left, 4=shadow bt-right
- Element.setAttribute("FormShadowDistance",FormShadowDistance); // Distance from form to shadow
+ Element.setAttribute("BackgroundForm",BackgroundForm); // Type of the form : 0=None, 1=Rectangle, 2=Ellipse
+ Element.setAttribute("PenSize",PenSize); // Width of the border of the form
+ Element.setAttribute("PenStyle",PenStyle); // Style of the pen border of the form
+ Element.setAttribute("PenColor",PenColor); // Color of the border of the form
+ Element.setAttribute("FormShadow",FormShadow); // 0=none, 1=shadow up-left, 2=shadow up-right, 3=shadow bt-left, 4=shadow bt-right
+ Element.setAttribute("FormShadowDistance",FormShadowDistance); // Distance from form to shadow
Element.setAttribute("FormShadowColor",FormShadowColor); // Shadow color
BackgroundBrush->SaveToXML(Element,"BackgroundBrush",PathForRelativPath,ForceAbsolutPath); // Brush of the background of the form
@@ -154,45 +187,85 @@ bool cCompositionObject::LoadFromXML(QDomElement domDocument,QString ElementName
QDomElement Element=domDocument.elementsByTagName(ElementName).item(0).toElement();
bool IsOk=true;
- if (Element.hasAttribute("TypeComposition")) TypeComposition =Element.attribute("TypeComposition").toInt();
- if (Element.hasAttribute("IndexKey")) IndexKey =Element.attribute("IndexKey").toInt();
- if (Element.hasAttribute("IsVisible")) IsVisible =Element.attribute("IsVisible")=="1";
+ if (Element.hasAttribute("TypeComposition")) TypeComposition =Element.attribute("TypeComposition").toInt();
+ if (Element.hasAttribute("IndexKey")) IndexKey =Element.attribute("IndexKey").toInt();
+ if (Element.hasAttribute("IsVisible")) IsVisible =Element.attribute("IsVisible")=="1";
+ if (Element.hasAttribute("SameAsPrevShot")) SameAsPrevShot =Element.attribute("SameAsPrevShot")=="1";
// Attribut of the object
- if (Element.hasAttribute("x")) x =Element.attribute("x").toDouble(); // Position x
- if (Element.hasAttribute("y")) y =Element.attribute("y").toDouble(); // Position x
- if (Element.hasAttribute("w")) w =Element.attribute("w").toDouble(); // size width
- if (Element.hasAttribute("h")) h =Element.attribute("h").toDouble(); // size height
- if (Element.hasAttribute("BackgroundTransparent")) Opacity =Element.attribute("BackgroundTransparent").toInt(); // Style Opacity of the background of the form
- if (Element.hasAttribute("RotateZAxis")) RotateZAxis =Element.attribute("RotateZAxis").toDouble(); // Rotation from Z axis
- if (Element.hasAttribute("RotateXAxis")) RotateXAxis =Element.attribute("RotateXAxis").toDouble(); // Rotation from X axis
- if (Element.hasAttribute("RotateYAxis")) RotateYAxis =Element.attribute("RotateYAxis").toDouble(); // Rotation from Y axis
+ if (Element.hasAttribute("x")) x =Element.attribute("x").toDouble(); // Position x
+ if (Element.hasAttribute("y")) y =Element.attribute("y").toDouble(); // Position x
+ if (Element.hasAttribute("w")) w =Element.attribute("w").toDouble(); // size width
+ if (Element.hasAttribute("h")) h =Element.attribute("h").toDouble(); // size height
+ if (Element.hasAttribute("BackgroundTransparent")) Opacity =Element.attribute("BackgroundTransparent").toInt(); // Style Opacity of the background of the form
+ if (Element.hasAttribute("RotateZAxis")) RotateZAxis =Element.attribute("RotateZAxis").toDouble(); // Rotation from Z axis
+ if (Element.hasAttribute("RotateXAxis")) RotateXAxis =Element.attribute("RotateXAxis").toDouble(); // Rotation from X axis
+ if (Element.hasAttribute("RotateYAxis")) RotateYAxis =Element.attribute("RotateYAxis").toDouble(); // Rotation from Y axis
+
+
+ if (Element.hasAttribute("BlockAnimType")) BlockAnimType =Element.attribute("BlockAnimType").toInt(); // Block animation type
+ if (Element.hasAttribute("TurnZAxis")) TurnZAxis =Element.attribute("TurnZAxis").toInt(); // Number of turn from Z axis
+ if (Element.hasAttribute("TurnXAxis")) TurnXAxis =Element.attribute("TurnXAxis").toInt(); // Number of turn from X axis
+ if (Element.hasAttribute("TurnYAxis")) TurnYAxis =Element.attribute("TurnYAxis").toInt(); // Number of turn from Y axis
+ if (Element.hasAttribute("Dissolve")) Dissolve =Element.attribute("Dissolve").toInt(); // Dissolve value
// Text part
if ((!CheckTypeComposition)||(TypeComposition!=COMPOSITIONTYPE_SHOT)) {
Text=Element.attribute("Text"); // Text of the object
if (Text!="") {
- if (Element.hasAttribute("FontName")) FontName =Element.attribute("FontName"); // font name
- if (Element.hasAttribute("FontSize")) FontSize =Element.attribute("FontSize").toInt(); // font size
- if (Element.hasAttribute("FontColor")) FontColor =Element.attribute("FontColor"); // font color
- if (Element.hasAttribute("FontShadowColor")) FontShadowColor =Element.attribute("FontShadowColor"); // font shadow color
- if (Element.hasAttribute("IsBold")) IsBold =Element.attribute("IsBold")=="1"; // true if bold mode
- if (Element.hasAttribute("IsItalic")) IsItalic =Element.attribute("IsItalic")=="1"; // true if Italic mode
- if (Element.hasAttribute("IsUnderline")) IsUnderline =Element.attribute("IsUnderline")=="1"; // true if Underline mode
- if (Element.hasAttribute("HAlign")) HAlign =Element.attribute("HAlign").toInt(); // Horizontal alignement : 0=left, 1=center, 2=right, 3=justif
- if (Element.hasAttribute("VAlign")) VAlign =Element.attribute("VAlign").toInt(); // Vertical alignement : 0=up, 1=center, 2=bottom
- if (Element.hasAttribute("StyleText")) StyleText =Element.attribute("StyleText").toInt(); // Style : 0=normal, 1=outerline, 2=shadow up-left, 3=shadow up-right, 4=shadow bt-left, 5=shadow bt-right
+ if (Element.hasAttribute("FontName")) FontName =Element.attribute("FontName"); // font name
+ if (Element.hasAttribute("FontSize")) FontSize =Element.attribute("FontSize").toInt(); // font size
+ if (Element.hasAttribute("FontColor")) FontColor =Element.attribute("FontColor"); // font color
+ if (Element.hasAttribute("FontShadowColor")) FontShadowColor =Element.attribute("FontShadowColor"); // font shadow color
+ if (Element.hasAttribute("IsBold")) IsBold =Element.attribute("IsBold")=="1"; // true if bold mode
+ if (Element.hasAttribute("IsItalic")) IsItalic =Element.attribute("IsItalic")=="1"; // true if Italic mode
+ if (Element.hasAttribute("IsUnderline")) IsUnderline =Element.attribute("IsUnderline")=="1"; // true if Underline mode
+ if (Element.hasAttribute("HAlign")) HAlign =Element.attribute("HAlign").toInt(); // Horizontal alignement : 0=left, 1=center, 2=right, 3=justif
+ if (Element.hasAttribute("VAlign")) VAlign =Element.attribute("VAlign").toInt(); // Vertical alignement : 0=up, 1=center, 2=bottom
+ if (Element.hasAttribute("StyleText")) StyleText =Element.attribute("StyleText").toInt(); // Style : 0=normal, 1=outerline, 2=shadow up-left, 3=shadow up-right, 4=shadow bt-left, 5=shadow bt-right
+
+ // Conversion from plaintext (ffd <1.3)
+ if (!Text.startsWith("<!DOCTYPE HTML")) {
+ QTextDocument TextDoc(Text);
+ QFont Font=QFont(FontName,FontSize*2,IsBold?QFont::Bold:QFont::Normal,IsItalic?QFont::StyleItalic:QFont::StyleNormal); // FontSize is always 10 and size if given with setPointSizeF !
+ QTextOption OptionText((HAlign==0)?Qt::AlignLeft:(HAlign==1)?Qt::AlignHCenter:(HAlign==2)?Qt::AlignRight:Qt::AlignJustify); // Setup horizontal alignement
+ QTextCursor Cursor(&TextDoc);
+ QTextCharFormat TCF;
+ QTextBlockFormat TBF;
+
+ Cursor.select(QTextCursor::Document);
+ OptionText.setWrapMode(QTextOption::WordWrap); // Setup word wrap text option
+ Font.setUnderline(IsUnderline); // Set underline
+
+ TextDoc.setDefaultFont(Font);
+ TextDoc.setDefaultTextOption(OptionText);
+
+ TCF.setFont(Font);
+ TCF.setFontWeight(IsBold?QFont::Bold:QFont::Normal);
+ TCF.setFontItalic(IsItalic);
+ TCF.setFontUnderline(IsUnderline);
+ TCF.setForeground(QBrush(QColor(FontColor)));
+ TBF.setAlignment((HAlign==0)?Qt::AlignLeft:(HAlign==1)?Qt::AlignHCenter:(HAlign==2)?Qt::AlignRight:Qt::AlignJustify);
+ Cursor.setCharFormat(TCF);
+ Cursor.setBlockFormat(TBF);
+ Text=TextDoc.toHtml();
+ }
}
}
+ // Shot part of text part
+ if (Element.hasAttribute("TxtZoomLevel")) TxtZoomLevel =Element.attribute("TxtZoomLevel").toInt(); // Zoom Level for text
+ if (Element.hasAttribute("TxtScrollX")) TxtScrollX =Element.attribute("TxtScrollX").toInt(); // Scrolling X for text
+ if (Element.hasAttribute("TxtScrollY")) TxtScrollY =Element.attribute("TxtScrollY").toInt(); // Scrolling Y for text
+
// Shap part
- if (Element.hasAttribute("BackgroundForm")) BackgroundForm =Element.attribute("BackgroundForm").toInt(); // Type of the form : 0=None, 1=Rectangle, 2=Ellipse
- if (Element.hasAttribute("PenSize")) PenSize =Element.attribute("PenSize").toInt(); // Width of the border of the form
- if (Element.hasAttribute("PenStyle")) PenStyle =Element.attribute("PenStyle").toInt(); // Style of the pen border of the form
- if (Element.hasAttribute("PenColor")) PenColor =Element.attribute("PenColor"); // Color of the border of the form
- if (Element.hasAttribute("FormShadowColor")) FormShadowColor =Element.attribute("FormShadowColor"); // Color of the shadow of the form
- if (Element.hasAttribute("FormShadow")) FormShadow =Element.attribute("FormShadow").toInt(); // 0=none, 1=shadow up-left, 2=shadow up-right, 3=shadow bt-left, 4=shadow bt-right
- if (Element.hasAttribute("FormShadowDistance")) FormShadowDistance =Element.attribute("FormShadowDistance").toInt(); // Distance from form to shadow
+ if (Element.hasAttribute("BackgroundForm")) BackgroundForm =Element.attribute("BackgroundForm").toInt(); // Type of the form : 0=None, 1=Rectangle, 2=Ellipse
+ if (Element.hasAttribute("PenSize")) PenSize =Element.attribute("PenSize").toInt(); // Width of the border of the form
+ if (Element.hasAttribute("PenStyle")) PenStyle =Element.attribute("PenStyle").toInt(); // Style of the pen border of the form
+ if (Element.hasAttribute("PenColor")) PenColor =Element.attribute("PenColor"); // Color of the border of the form
+ if (Element.hasAttribute("FormShadowColor")) FormShadowColor =Element.attribute("FormShadowColor"); // Color of the shadow of the form
+ if (Element.hasAttribute("FormShadow")) FormShadow =Element.attribute("FormShadow").toInt(); // 0=none, 1=shadow up-left, 2=shadow up-right, 3=shadow bt-left, 4=shadow bt-right
+ if (Element.hasAttribute("FormShadowDistance")) FormShadowDistance =Element.attribute("FormShadowDistance").toInt(); // Distance from form to shadow
if ((TypeComposition==COMPOSITIONTYPE_SHOT)&&(ObjectComposition!=NULL)) {
// Construct link to video and image object from DiaporamaObject->ObjectComposition
@@ -317,6 +390,29 @@ void cCompositionObject::ApplyTextStyle(QString StyleDef) {
else if (List[i].startsWith("Underline:")) IsUnderline =List[i].mid(QString("Underline:").length()).toInt()==1;
else if (List[i].startsWith("FontName:")) FontName =List[i].mid(QString("FontName:").length());
}
+
+ // Apply to html text
+ QTextDocument TextDoc;
+ QFont Font=QFont(FontName,FontSize,IsBold?QFont::Bold:QFont::Normal,IsItalic?QFont::StyleItalic:QFont::StyleNormal);
+ QTextOption OptionText((HAlign==0)?Qt::AlignLeft:(HAlign==1)?Qt::AlignHCenter:(HAlign==2)?Qt::AlignRight:Qt::AlignJustify);
+ QTextCursor Cursor(&TextDoc);
+ QTextCharFormat TCF;
+ QTextBlockFormat TBF;
+ TextDoc.setHtml(Text);
+ Cursor.select(QTextCursor::Document);
+ OptionText.setWrapMode(QTextOption::WordWrap);
+ Font.setUnderline(IsUnderline);
+ TextDoc.setDefaultFont(Font);
+ TextDoc.setDefaultTextOption(OptionText);
+ TCF.setFont(Font);
+ TCF.setFontWeight(IsBold?QFont::Bold:QFont::Normal);
+ TCF.setFontItalic(IsItalic);
+ TCF.setFontUnderline(IsUnderline);
+ TCF.setForeground(QBrush(QColor(FontColor)));
+ TBF.setAlignment((HAlign==0)?Qt::AlignLeft:(HAlign==1)?Qt::AlignHCenter:(HAlign==2)?Qt::AlignRight:Qt::AlignJustify);
+ Cursor.setCharFormat(TCF);
+ Cursor.setBlockFormat(TBF);
+ Text=TextDoc.toHtml();
}
//====================================================================================================================
@@ -422,13 +518,13 @@ void cCompositionObject::ApplyCoordinateStyle(QString StyleDef) {
// Apply Style
for (int i=0;i<List.count();i++) {
- if (List[i].startsWith("X:")) x =List[i].mid(QString("X:").length()).toDouble();
- else if (List[i].startsWith("Y:")) y =List[i].mid(QString("Y:").length()).toDouble();
- else if (List[i].startsWith("W:")) w =List[i].mid(QString("W:").length()).toDouble();
- else if (List[i].startsWith("H:")) h =List[i].mid(QString("H:").length()).toDouble();
- else if (List[i].startsWith("RotateZAxis:")) RotateZAxis=List[i].mid(QString("RotateZAxis:").length()).toDouble();
- else if (List[i].startsWith("RotateXAxis:")) RotateXAxis=List[i].mid(QString("RotateXAxis:").length()).toDouble();
- else if (List[i].startsWith("RotateYAxis:")) RotateYAxis=List[i].mid(QString("RotateYAxis:").length()).toDouble();
+ if (List[i].startsWith("X:")) x =List[i].mid(QString("X:").length()).toDouble();
+ else if (List[i].startsWith("Y:")) y =List[i].mid(QString("Y:").length()).toDouble();
+ else if (List[i].startsWith("W:")) w =List[i].mid(QString("W:").length()).toDouble();
+ else if (List[i].startsWith("H:")) h =List[i].mid(QString("H:").length()).toDouble();
+ else if (List[i].startsWith("RotateZAxis:")) RotateZAxis =List[i].mid(QString("RotateZAxis:").length()).toDouble();
+ else if (List[i].startsWith("RotateXAxis:")) RotateXAxis =List[i].mid(QString("RotateXAxis:").length()).toDouble();
+ else if (List[i].startsWith("RotateYAxis:")) RotateYAxis =List[i].mid(QString("RotateYAxis:").length()).toDouble();
else if ((List[i].startsWith("FramingStyleIndex:"))||(List[i].startsWith("FramingStyleName:"))||(List[i].startsWith("CustomFramingStyle:"))) {
QString CustomFramingStyle="";
@@ -499,6 +595,11 @@ void cCompositionObject::CopyFromCompositionObject(cCompositionObject *Compositi
RotateZAxis =CompositionObjectToCopy->RotateZAxis;
RotateXAxis =CompositionObjectToCopy->RotateXAxis;
RotateYAxis =CompositionObjectToCopy->RotateYAxis;
+ BlockAnimType =CompositionObjectToCopy->BlockAnimType;
+ TurnZAxis =CompositionObjectToCopy->TurnZAxis;
+ TurnXAxis =CompositionObjectToCopy->TurnXAxis;
+ TurnYAxis =CompositionObjectToCopy->TurnYAxis;
+ Dissolve =CompositionObjectToCopy->Dissolve;
Opacity =CompositionObjectToCopy->Opacity;
Text =CompositionObjectToCopy->Text;
FontName =CompositionObjectToCopy->FontName;
@@ -518,6 +619,9 @@ void cCompositionObject::CopyFromCompositionObject(cCompositionObject *Compositi
FormShadowColor =CompositionObjectToCopy->FormShadowColor;
FormShadow =CompositionObjectToCopy->FormShadow;
FormShadowDistance =CompositionObjectToCopy->FormShadowDistance;
+ TxtZoomLevel =CompositionObjectToCopy->TxtZoomLevel;
+ TxtScrollX =CompositionObjectToCopy->TxtScrollX;
+ TxtScrollY =CompositionObjectToCopy->TxtScrollY;
BackgroundBrush->CopyFromBrushDefinition(CompositionObjectToCopy->BackgroundBrush);
}
@@ -526,46 +630,57 @@ void cCompositionObject::CopyFromCompositionObject(cCompositionObject *Compositi
// ADJUST_RATIO=Adjustement ratio for pixel size (all size are given for full hd and adjust for real wanted size)
void cCompositionObject::DrawCompositionObject(QPainter *DestPainter,double ADJUST_RATIO,int AddX,int AddY,int width,int height,bool PreviewMode,qlonglong Position,qlonglong StartPosToAdd,
- cSoundBlockList *SoundTrackMontage,double PctDone,cCompositionObject *PrevCompoObject,bool UseBrushCache) {
+ cSoundBlockList *SoundTrackMontage,double PctDone,cCompositionObject *PrevCompoObject,bool UseBrushCache,qlonglong ShotDuration,bool EnableAnimation,
+ bool Transfo,double NewX,double NewY,double NewW,double NewH) {
ToLog(LOGMSG_DEBUGTRACE,"IN:cCompositionObject:DrawCompositionObject");
// W and H = 0 when producing sound track in render process
if (!IsVisible) return;
- bool SoundOnly=((width==0)&&(height==0))||(DestPainter==NULL);
+ bool SoundOnly=(DestPainter==NULL)||(width==0)||(height==0)||(Transfo && ((NewW==0)||(NewH==0)))||(!Transfo && ((w==0)||(h==0)));
if (SoundOnly) {
// if SoundOnly then load Brush of type BRUSHTYPE_IMAGEDISK to SoundTrackMontage
- if (BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK) {
+ if ((BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)&&(SoundTrackMontage!=NULL)) {
QBrush *BR=BackgroundBrush->GetBrush(QRectF(0,0,0,0),PreviewMode,Position,StartPosToAdd,SoundTrackMontage,PctDone,NULL);
if (BR) delete BR;
}
} else {
- if (!DestPainter) return;
-
if (!PreviewMode || GlobalMainWindow->ApplicationConfig->Smoothing) DestPainter->setRenderHints(QPainter::Antialiasing|QPainter::TextAntialiasing|QPainter::SmoothPixmapTransform|QPainter::HighQualityAntialiasing|QPainter::NonCosmeticDefaultPen);
else DestPainter->setRenderHints(QPainter::Antialiasing|QPainter::TextAntialiasing|QPainter::HighQualityAntialiasing|QPainter::NonCosmeticDefaultPen);
// Define values depending on PctDone and PrevCompoObject
- double TheX=x;
- double TheY=y;
- double TheW=w;
- double TheH=h;
- double TheRotateZAxis=RotateZAxis;
- double TheRotateXAxis=RotateXAxis;
- double TheRotateYAxis=RotateYAxis;
+ double TheX =Transfo?NewX:x;
+ double TheY =Transfo?NewY:y;
+ double TheW =Transfo?NewW:w;
+ double TheH =Transfo?NewH:h;
+ double TheRotateZAxis =RotateZAxis+(EnableAnimation && (BlockAnimType==BLOCKANIMTYPE_MULTIPLETURN)?360*TurnZAxis:0);
+ double TheRotateXAxis =RotateXAxis+(EnableAnimation && (BlockAnimType==BLOCKANIMTYPE_MULTIPLETURN)?360*TurnXAxis:0);
+ double TheRotateYAxis =RotateYAxis+(EnableAnimation && (BlockAnimType==BLOCKANIMTYPE_MULTIPLETURN)?360*TurnYAxis:0);
+ double TheTxtZoomLevel =TxtZoomLevel;
+ double TheTxtScrollX =TxtScrollX;
+ double TheTxtScrollY =TxtScrollY;
+
if (PrevCompoObject) {
- if (PrevCompoObject->x!=TheX) TheX =PrevCompoObject->x+(TheX-PrevCompoObject->x)*PctDone;
- if (PrevCompoObject->y!=TheY) TheY =PrevCompoObject->y+(TheY-PrevCompoObject->y)*PctDone;
- if (PrevCompoObject->w!=TheW) TheW =PrevCompoObject->w+(TheW-PrevCompoObject->w)*PctDone;
- if (PrevCompoObject->h!=TheH) TheH =PrevCompoObject->h+(TheH-PrevCompoObject->h)*PctDone;
- if (PrevCompoObject->RotateZAxis!=TheRotateZAxis) TheRotateZAxis=PrevCompoObject->RotateZAxis+(TheRotateZAxis-PrevCompoObject->RotateZAxis)*PctDone;
- if (PrevCompoObject->RotateXAxis!=TheRotateXAxis) TheRotateXAxis=PrevCompoObject->RotateXAxis+(TheRotateXAxis-PrevCompoObject->RotateXAxis)*PctDone;
- if (PrevCompoObject->RotateYAxis!=TheRotateYAxis) TheRotateYAxis=PrevCompoObject->RotateYAxis+(TheRotateYAxis-PrevCompoObject->RotateYAxis)*PctDone;
+ if (PrevCompoObject->x!=TheX) TheX =PrevCompoObject->x+(TheX-PrevCompoObject->x)*PctDone;
+ if (PrevCompoObject->y!=TheY) TheY =PrevCompoObject->y+(TheY-PrevCompoObject->y)*PctDone;
+ if (PrevCompoObject->w!=TheW) TheW =PrevCompoObject->w+(TheW-PrevCompoObject->w)*PctDone;
+ if (PrevCompoObject->h!=TheH) TheH =PrevCompoObject->h+(TheH-PrevCompoObject->h)*PctDone;
+ if (PrevCompoObject->RotateZAxis!=TheRotateZAxis) TheRotateZAxis =PrevCompoObject->RotateZAxis+(TheRotateZAxis-PrevCompoObject->RotateZAxis)*PctDone;
+ if (PrevCompoObject->RotateXAxis!=TheRotateXAxis) TheRotateXAxis =PrevCompoObject->RotateXAxis+(TheRotateXAxis-PrevCompoObject->RotateXAxis)*PctDone;
+ if (PrevCompoObject->RotateYAxis!=TheRotateYAxis) TheRotateYAxis =PrevCompoObject->RotateYAxis+(TheRotateYAxis-PrevCompoObject->RotateYAxis)*PctDone;
+ if (PrevCompoObject->TxtZoomLevel!=TheTxtZoomLevel) TheTxtZoomLevel =PrevCompoObject->TxtZoomLevel+(TheTxtZoomLevel-PrevCompoObject->TxtZoomLevel)*PctDone;
+ if (PrevCompoObject->TxtScrollX!=TheTxtScrollX) TheTxtScrollX =PrevCompoObject->TxtScrollX+(TheTxtScrollX-PrevCompoObject->TxtScrollX)*PctDone;
+ if (PrevCompoObject->TxtScrollY!=TheTxtScrollY) TheTxtScrollY =PrevCompoObject->TxtScrollY+(TheTxtScrollY-PrevCompoObject->TxtScrollY)*PctDone;
+ } else {
+ if (EnableAnimation && (BlockAnimType==BLOCKANIMTYPE_MULTIPLETURN)) {
+ TheRotateZAxis=RotateZAxis+360*TurnZAxis*PctDone;
+ TheRotateXAxis=RotateXAxis+360*TurnXAxis*PctDone;
+ TheRotateYAxis=RotateYAxis+360*TurnYAxis*PctDone;
+ }
}
- QPen Pen;
double FullMargin=0;
double W=int(TheW*double(width)); if ((int(W) & 0x01)==1) W=W+1;
double H=int(TheH*double(height)); if ((int(H) & 0x01)==1) H=H+1;
@@ -574,171 +689,251 @@ void cCompositionObject::DrawCompositionObject(QPainter *DestPainter,double ADJ
double Hb=Wb; // always square image
AddX-=(Wb-W)/2;
AddY-=(Hb-H)/2;
- QImage Img(Wb,Hb,QImage::Format_ARGB32_Premultiplied);
- QPainter Painter;
- Painter.begin(&Img);
- Painter.setCompositionMode(QPainter::CompositionMode_Source);
- Painter.fillRect(QRect(0,0,Wb,Hb),Qt::transparent);
- Painter.setCompositionMode(QPainter::CompositionMode_SourceOver);
- if (!PreviewMode || GlobalMainWindow->ApplicationConfig->Smoothing) Painter.setRenderHints(QPainter::Antialiasing|QPainter::TextAntialiasing|QPainter::SmoothPixmapTransform|QPainter::HighQualityAntialiasing|QPainter::NonCosmeticDefaultPen);
- else Painter.setRenderHints(QPainter::Antialiasing|QPainter::TextAntialiasing|QPainter::HighQualityAntialiasing|QPainter::NonCosmeticDefaultPen);
- Pen.setCapStyle(Qt::RoundCap);
- Pen.setJoinStyle(Qt::RoundJoin);
- Pen.setCosmetic(false);
-
- Pen.setStyle(Qt::SolidLine);
-
- // Draw ExternalBorder border
- if (PenSize==0) Painter.setPen(Qt::NoPen); else {
- Pen.setColor(PenColor);
- FullMargin=double(PenSize)*ADJUST_RATIO/double(2);
- Pen.setWidthF(double(PenSize)*ADJUST_RATIO);
- Pen.setStyle((Qt::PenStyle)PenStyle);
- Painter.setPen(Pen);
- }
- // All coordonates from center
- double CenterX=W/2+(Wb-W)/2;
- double CenterY=H/2+(Hb-H)/2;
- QTransform Matrix;
- Matrix.translate(CenterX,CenterY);
- if (TheRotateZAxis!=0) Matrix.rotate(TheRotateZAxis,Qt::ZAxis); // Standard axis
- if (TheRotateXAxis!=0) Matrix.rotate(TheRotateXAxis,Qt::XAxis); // Rotate from X axis
- if (TheRotateYAxis!=0) Matrix.rotate(TheRotateYAxis,Qt::YAxis); // Rotate from Y axis
- Painter.setWorldTransform(Matrix,false);
-
- // Draw internal shape
- if (BackgroundBrush->BrushType==BRUSHTYPE_NOBRUSH) Painter.setBrush(Qt::transparent); else {
-
- // Create brush with Ken Burns effect !
- QBrush *BR =NULL;
-
- BR=BackgroundBrush->GetBrush(QRectF(0,0,W,H),PreviewMode,Position,StartPosToAdd,SoundTrackMontage,PctDone,PrevCompoObject?PrevCompoObject->BackgroundBrush:NULL,UseBrushCache);
- if (BR) {
- QTransform MatrixBR;
- MatrixBR.translate(-W/2,-H/2);
- BR->setTransform(MatrixBR); // Apply transforme matrix to the brush
- Painter.setBrush(*BR);
- delete BR;
- } else {
- ToLog(LOGMSG_CRITICAL,"Error in cCompositionObject::DrawCompositionObject Brush is NULL !");
+ double DstX=AddX+TheX*double(width);
+ double DstY=AddY+TheY*double(height);
+ double DstW=Wb;
+ double DstH=Hb;
+
+ //***********************************************************************************
+ // Prepare brush
+ //***********************************************************************************
+
+ if ((W>0)&&(H>0)) {
+ QPen Pen;
+ QImage Img(Wb,Hb,QImage::Format_ARGB32_Premultiplied);
+ QPainter Painter;
+ Painter.begin(&Img);
+ Painter.setCompositionMode(QPainter::CompositionMode_Source);
+ Painter.fillRect(QRect(0,0,Wb,Hb),Qt::transparent);
+ Painter.setCompositionMode(QPainter::CompositionMode_SourceOver);
+ if (!PreviewMode || GlobalMainWindow->ApplicationConfig->Smoothing) Painter.setRenderHints(QPainter::Antialiasing|QPainter::TextAntialiasing|QPainter::SmoothPixmapTransform|QPainter::HighQualityAntialiasing|QPainter::NonCosmeticDefaultPen);
+ else Painter.setRenderHints(QPainter::Antialiasing|QPainter::TextAntialiasing|QPainter::HighQualityAntialiasing|QPainter::NonCosmeticDefaultPen);
+ Pen.setCapStyle(Qt::RoundCap);
+ Pen.setJoinStyle(Qt::RoundJoin);
+ Pen.setCosmetic(false);
+
+ Pen.setStyle(Qt::SolidLine);
+
+ // Draw ExternalBorder border
+ if (PenSize==0) Painter.setPen(Qt::NoPen); else {
+ Pen.setColor(PenColor);
+ FullMargin=double(PenSize)*ADJUST_RATIO/double(2);
+ Pen.setWidthF(double(PenSize)*ADJUST_RATIO);
+ Pen.setStyle((Qt::PenStyle)PenStyle);
+ Painter.setPen(Pen);
+ }
+ // All coordonates from center
+ double CenterX=W/2+(Wb-W)/2;
+ double CenterY=H/2+(Hb-H)/2;
+ QTransform Matrix;
+ Matrix.translate(CenterX,CenterY);
+ if (TheRotateZAxis!=0) Matrix.rotate(TheRotateZAxis,Qt::ZAxis); // Standard axis
+ if (TheRotateXAxis!=0) Matrix.rotate(TheRotateXAxis,Qt::XAxis); // Rotate from X axis
+ if (TheRotateYAxis!=0) Matrix.rotate(TheRotateYAxis,Qt::YAxis); // Rotate from Y axis
+ Painter.setWorldTransform(Matrix,false);
+
+ //**********************************************************************************
+ // Block brush & shape part
+ //**********************************************************************************
+
+ if (BackgroundBrush->BrushType==BRUSHTYPE_NOBRUSH) Painter.setBrush(Qt::transparent); else {
+
+ // Create brush with Ken Burns effect !
+ QBrush *BR =NULL;
+
+ BR=BackgroundBrush->GetBrush(QRectF(0,0,W,H),PreviewMode,Position,StartPosToAdd,SoundTrackMontage,PctDone,PrevCompoObject?PrevCompoObject->BackgroundBrush:NULL,UseBrushCache);
+ if (BR) {
+ QTransform MatrixBR;
+ MatrixBR.translate(-W/2,-H/2);
+ BR->setTransform(MatrixBR); // Apply transforme matrix to the brush
+ Painter.setBrush(*BR);
+ delete BR;
+ } else {
+ ToLog(LOGMSG_CRITICAL,"Error in cCompositionObject::DrawCompositionObject Brush is NULL !");
+ }
+ }
+ if (BackgroundBrush->BrushType==BRUSHTYPE_NOBRUSH) Painter.setCompositionMode(QPainter::CompositionMode_Source);
+ DrawShape(Painter,BackgroundForm,-W/2,-H/2,W,H,0,0);
+ if (BackgroundBrush->BrushType==BRUSHTYPE_NOBRUSH) Painter.setCompositionMode(QPainter::CompositionMode_SourceOver);
+
+ //**********************************************************************************
+ // Text part
+ //**********************************************************************************
+
+ if (TheTxtZoomLevel>0) {
+ FullMargin=FullMargin*2;
+
+ double MarginX=FullMargin;
+ double MarginY=FullMargin;
+
+ if (BackgroundForm==3) { // 3=Buble
+ MarginX=MarginX+W/250;
+ MarginY=MarginY+H/250;
+ } else if (BackgroundForm==4) { // 2=Ellipse
+ MarginX=MarginX+(0.29*(W/2)); // 0.29=1-cos(radians(45°))
+ MarginY=MarginY+(0.29*(H/2)); // 0.29=1-sin(radians(45°))
+ }
+ Painter.setClipRect(MarginX-W/2,MarginY-H/2,W-2*MarginX,H-2*MarginY);
+ Painter.setClipping(true);
+
+ QRectF BoundingRect(0,0,(W-2*MarginX),H-2*MarginY);
+ double PointSize=((double(width)/double(SCALINGTEXTFACTOR)));
+
+ QTextDocument TextDocument;
+
+ TextDocument.setHtml(Text);
+ TextDocument.setTextWidth(BoundingRect.width()/PointSize);
+
+ QRectF FmtBdRect(0,0,
+ double(TextDocument.documentLayout()->documentSize().width())*(TheTxtZoomLevel/100)*PointSize,
+ double(TextDocument.documentLayout()->documentSize().height())*(TheTxtZoomLevel/100)*PointSize);
+
+ int MaxH =H>FmtBdRect.height()?H:FmtBdRect.height();
+ double DecalX=(TheTxtScrollX/100)*(BoundingRect.width()+MarginX*2)-FmtBdRect.width()/2; // Always horizontaly center
+ double DecalY=(MarginY-H/2+(-TheTxtScrollY/100)*(MaxH+MarginY*2));
+
+ if (VAlign==0) /*Nothing to do*/; //Qt::AlignTop
+ else if (VAlign==1) DecalY=DecalY+(BoundingRect.height()-FmtBdRect.height())/2; //Qt::AlignVCenter
+ else DecalY=DecalY+(BoundingRect.height()-FmtBdRect.height()); //Qt::AlignBottom)
+
+ QAbstractTextDocumentLayout::PaintContext Context;
+
+ QTextCursor Cursor(&TextDocument);
+ QTextCharFormat TCF;
+ Cursor.select(QTextCursor::Document);
+ if (StyleText==1) {
+ // Add outerline for painting
+ TCF.setTextOutline(QPen(QColor(FontShadowColor)));
+ Cursor.mergeCharFormat(TCF);
+ } else if (StyleText!=0) {
+ // Paint shadow of the text
+ TCF.setForeground(QBrush(QColor(FontShadowColor)));
+ Cursor.mergeCharFormat(TCF);
+ Painter.save();
+ switch (StyleText) {
+ case 2: Painter.translate(DecalX-1,DecalY-1); break; //2=shadow up-left
+ case 3: Painter.translate(DecalX+1,DecalY-1); break; //3=shadow up-right
+ case 4: Painter.translate(DecalX-1,DecalY+1); break; //4=shadow bt-left
+ case 5: Painter.translate(DecalX+1,DecalY+1); break; //5=shadow bt-right
+ }
+ Painter.scale((TheTxtZoomLevel/100)*PointSize,(TheTxtZoomLevel/100)*PointSize);
+ TextDocument.documentLayout()->draw(&Painter,Context);
+ Painter.restore();
+ TextDocument.setHtml(Text); // Restore Text Document
+ }
+ Painter.translate(DecalX,DecalY);
+ Painter.scale((TheTxtZoomLevel/100)*PointSize,(TheTxtZoomLevel/100)*PointSize);
+ TextDocument.documentLayout()->draw(&Painter,Context);
}
- }
- if (BackgroundBrush->BrushType==BRUSHTYPE_NOBRUSH) Painter.setCompositionMode(QPainter::CompositionMode_Source);
- DrawShape(Painter,BackgroundForm,-W/2,-H/2,W,H,0,0);
- if (BackgroundBrush->BrushType==BRUSHTYPE_NOBRUSH) Painter.setCompositionMode(QPainter::CompositionMode_SourceOver);
-
- Painter.setPen(Qt::NoPen);
- FullMargin=FullMargin*2;
-
- // Create font and TextOption
- QTextOption OptionText;
- QFont font=QFont(FontName,10,IsBold?QFont::Bold:QFont::Normal,IsItalic?QFont::StyleItalic:QFont::StyleNormal); // FontSize is always 10 and size if given with setPointSizeF !
- font.setUnderline(IsUnderline); // Set underline
- font.setPointSizeF((double(width)/double(SCALINGTEXTFACTOR))*double(FontSize)); // Scale font
- OptionText=QTextOption(((HAlign==0)?Qt::AlignLeft:(HAlign==1)?Qt::AlignHCenter:(HAlign==2)?Qt::AlignRight:Qt::AlignJustify) // Setup horizontal alignement
- |(VAlign==0?Qt::AlignTop:VAlign==1?Qt::AlignVCenter:Qt::AlignBottom)); // Setup vertical alignement
- OptionText.setWrapMode(QTextOption::WordWrap); // Setup word wrap text option
-
- double MarginX=FullMargin;
- double MarginY=FullMargin;
-
- if (BackgroundForm==3) { // 3=Buble
- MarginX=MarginX+W/250;
- MarginY=MarginY+H/250;
- } else if (BackgroundForm==4) { // 2=Ellipse
- MarginX=MarginX+(0.29*(W/2)); // 0.29=1-cos(radians(45°))
- MarginY=MarginY+(0.29*(H/2)); // 0.29=1-sin(radians(45°))
- }
- // Paint Shadow of the text
- Painter.setFont(font);
- Pen.setColor(FontShadowColor);
- Pen.setWidth(1);
- Pen.setStyle(Qt::SolidLine);
- Painter.setPen(Pen);
- Painter.setBrush(Qt::NoBrush);
+ Painter.end();
- switch (StyleText) {
- case 0 : // 0=normal
- break;
- case 1 : // 1=outerline
- Painter.drawText(QRectF(MarginX-1-W/2,MarginY-1-H/2,W-2*MarginX,H-2*MarginY),Text,OptionText);
- Painter.drawText(QRectF(MarginX-1-W/2,MarginY+1-H/2,W-2*MarginX,H-2*MarginY),Text,OptionText);
- Painter.drawText(QRectF(MarginX+1-W/2,MarginY+1-H/2,W-2*MarginX,H-2*MarginY),Text,OptionText);
- Painter.drawText(QRectF(MarginX+1-W/2,MarginY-1-H/2,W-2*MarginX,H-2*MarginY),Text,OptionText);
- Painter.drawText(QRectF(MarginX -W/2,MarginY-1-H/2,W-2*MarginX,H-2*MarginY),Text,OptionText);
- Painter.drawText(QRectF(MarginX -W/2,MarginY+1-H/2,W-2*MarginX,H-2*MarginY),Text,OptionText);
- Painter.drawText(QRectF(MarginX-1-W/2,MarginY -H/2,W-2*MarginX,H-2*MarginY),Text,OptionText);
- Painter.drawText(QRectF(MarginX+1-W/2,MarginY -H/2,W-2*MarginX,H-2*MarginY),Text,OptionText);
- break;
- case 2: //2=shadow up-left
- Painter.drawText(QRectF(MarginX-1-W/2,MarginY-1-H/2,W-2*MarginX,H-2*MarginY),Text,OptionText);
- break;
- case 3: //3=shadow up-right
- Painter.drawText(QRectF(MarginX+1-W/2,MarginY-1-H/2,W-2*MarginX,H-2*MarginY),Text,OptionText);
- break;
- case 4: //4=shadow bt-left
- Painter.drawText(QRectF(MarginX-1-W/2,MarginY+1-H/2,W-2*MarginX,H-2*MarginY),Text,OptionText);
- break;
- case 5: //5=shadow bt-right
- Painter.drawText(QRectF(MarginX+1-W/2,MarginY+1-H/2,W-2*MarginX,H-2*MarginY),Text,OptionText);
- break;
- }
+ //**********************************************************************************
+ // Block shadow part
+ //**********************************************************************************
+
+ if ((FormShadow)&&(!Img.isNull())) Img=AddShadow(Img,DstX,DstY,DstW,DstH,double(FormShadowDistance)*ADJUST_RATIO);
+
+ //**********************************************************************************
+ // Opacity and dissolve annimation
+ //**********************************************************************************
+ double DestOpacity=(Opacity==1?0.75:Opacity==2?0.50:Opacity==3?0.25:1);
+
+ if (EnableAnimation) {
+ if (BlockAnimType==BLOCKANIMTYPE_DISSOLVE) {
+
+ double BlinkNumber=0;
+ switch (Dissolve) {
+ case BLOCKANIMVALUE_APPEAR : DestOpacity=DestOpacity*PctDone; break;
+ case BLOCKANIMVALUE_DISAPPEAR : DestOpacity=DestOpacity*(1-PctDone); break;
+ case BLOCKANIMVALUE_BLINK_SLOW : BlinkNumber=0.25; break;
+ case BLOCKANIMVALUE_BLINK_MEDIUM : BlinkNumber=0.5; break;
+ case BLOCKANIMVALUE_BLINK_FAST : BlinkNumber=1; break;
+ case BLOCKANIMVALUE_BLINK_VERYFAST: BlinkNumber=2; break;
+ }
+ if (BlinkNumber!=0) {
+ BlinkNumber=BlinkNumber*ShotDuration;
+ if (int(BlinkNumber/1000)!=(BlinkNumber/1000)) BlinkNumber=int(BlinkNumber/1000)+1; else BlinkNumber=int(BlinkNumber/1000); // Adjust to upper 1000
+ double FullPct=PctDone*BlinkNumber*100;
+ FullPct=int(FullPct)-int(FullPct/100)*100;
+ FullPct=(FullPct/100)*2;
+ if (FullPct<1) DestOpacity=DestOpacity*(1-FullPct);
+ else DestOpacity=DestOpacity*(FullPct-1);
+ }
+ }
- // Paint text
- Painter.setPen(QColor(FontColor));
- Painter.drawText(QRectF(MarginX-W/2,MarginY-H/2,W-2*MarginX,H-2*MarginY),Text,OptionText);
- Painter.end();
-
- if ((FormShadow)&&(!Img.isNull())) {
- double Distance =double(FormShadowDistance)*ADJUST_RATIO;
- QImage ImgShadow=Img.copy();
- Uint8 *Data =ImgShadow.bits();
- QColor SColor =QColor(FormShadowColor);
- Uint8 R =SColor.red();
- Uint8 G =SColor.green();
- Uint8 B =SColor.blue();
- for (int i=0;i<(Wb-1)*(Hb-1);i++) {
- if (*(Data+3)!=0) {
- *Data++=B;
- *Data++=G;
- *Data++=R;
- Data++; // Keep Alpha chanel
- } else Data+=4;
}
- DestPainter->setOpacity(Opacity==0?0.75:Opacity==1?0.50:Opacity==2?0.25:0.10);
- switch (FormShadow) {
- case 1 : DestPainter->drawImage(AddX+TheX*double(width)-Distance,AddY+TheY*double(height)-Distance,ImgShadow); break;
- case 2 : DestPainter->drawImage(AddX+TheX*double(width)+Distance,AddY+TheY*double(height)-Distance,ImgShadow); break;
- case 3 : DestPainter->drawImage(AddX+TheX*double(width)-Distance,AddY+TheY*double(height)+Distance,ImgShadow); break;
- default : DestPainter->drawImage(AddX+TheX*double(width)+Distance,AddY+TheY*double(height)+Distance,ImgShadow); break;
+ DestPainter->setOpacity(DestOpacity);
+
+ //**********************************************************************************
+
+ double SrcX=0;
+ double SrcY=0;
+ if (DstX<0) {
+ SrcX=-DstX;
+ DstW+=DstX;
+ DstX=0;
}
+ if (DstY<0) {
+ SrcY=-DstY;
+ DstH+=DstY;
+ DstY=0;
+ }
+ if (DstW>width) DstW=width;
+ if (DstH>height) DstH=height;
+ if (SrcX+DstW>Wb) DstW=Wb-SrcX;
+ if (SrcY+DstH>Hb) DstH=Hb-SrcY;
+
+ if ((!Img.isNull())) DestPainter->drawImage(QRectF(DstX,DstY,DstW,DstH),Img,QRectF(SrcX,SrcY,DstW,DstH));
+ DestPainter->setOpacity(1);
}
- if ((Opacity>0)&&(Opacity<4)) DestPainter->setOpacity(Opacity==1?0.75:Opacity==2?0.50:0.25); else DestPainter->setOpacity(1);
- double DstX=AddX+TheX*double(width);
- double DstY=AddY+TheY*double(height);
- double DstW=Wb;
- double DstH=Hb;
- double SrcX=0;
- double SrcY=0;
- if (DstX<0) {
- SrcX=-DstX;
- DstW+=DstX;
- DstX=0;
- }
- if (DstY<0) {
- SrcY=-DstY;
- DstH+=DstY;
- DstY=0;
- }
- if (DstW>width) DstW=width;
- if (DstH>height) DstH=height;
- if (SrcX+DstW>Wb) DstW=Wb-SrcX;
- if (SrcY+DstH>Hb) DstH=Hb-SrcY;
+ }
+}
- if ((!Img.isNull())) DestPainter->drawImage(QRectF(DstX,DstY,DstW,DstH),Img,QRectF(SrcX,SrcY,DstW,DstH));
- DestPainter->setOpacity(1);
+//====================================================================================================================
+
+QImage cCompositionObject::AddShadow(QImage SourceImage,double &DstX,double &DstY,double &DstW,double &DstH,double Distance) {
+
+ // 1st step : construct ImgShadow as a mask from SourceImage
+
+ QImage ImgShadow =SourceImage.copy();
+ Uint8 *Data =ImgShadow.bits();
+ QColor SColor =QColor(FormShadowColor);
+ Uint8 R =SColor.red();
+ Uint8 G =SColor.green();
+ Uint8 B =SColor.blue();
+
+ for (int i=0;i<(DstW-1)*(DstH-1);i++) {
+ if (*(Data+3)!=0) {
+ *Data++=B;
+ *Data++=G;
+ *Data++=R;
+ Data++; // Keep Alpha chanel
+ } else Data+=4;
}
+
+ // 2nd step : Construct a DestImage mergin shadow image and source image
+
+ DstW=DstW+Distance;
+ DstH=DstH+Distance;
+
+ QImage DestImage(DstW,DstH,QImage::Format_ARGB32_Premultiplied);
+ QPainter Painter;
+
+ Painter.begin(&DestImage);
+ Painter.setCompositionMode(QPainter::CompositionMode_Source);
+ Painter.fillRect(QRect(0,0,DstW,DstH),Qt::transparent);
+ Painter.setCompositionMode(QPainter::CompositionMode_SourceOver);
+
+ switch (FormShadow) {
+ case 1 : Painter.setOpacity(0.75); Painter.drawImage(0,0,ImgShadow); Painter.setOpacity(1); Painter.drawImage(Distance,Distance,SourceImage); DstX=DstX-Distance; DstY=DstY-Distance; break;
+ case 2 : Painter.setOpacity(0.75); Painter.drawImage(Distance,0,ImgShadow); Painter.setOpacity(1); Painter.drawImage(0,Distance,SourceImage); DstY=DstY-Distance; break;
+ case 3 : Painter.setOpacity(0.75); Painter.drawImage(0,Distance,ImgShadow); Painter.setOpacity(1); Painter.drawImage(Distance,0,SourceImage); DstX=DstX-Distance; break;
+ default : Painter.setOpacity(0.75); Painter.drawImage(Distance,Distance,ImgShadow); Painter.setOpacity(1); Painter.drawImage(0,0,SourceImage); break;
+ }
+
+ Painter.end();
+ return DestImage;
}
//*********************************************************************************************************************************************
@@ -918,7 +1113,7 @@ void cDiaporamaObject::DrawThumbnail(int ThumbWidth,int ThumbHeight,QPainter *Pa
// Add static shot composition
if (List.count()>0) for (int j=0;j<List[0]->ShotComposition.List.count();j++) {
- List[0]->ShotComposition.List[j]->DrawCompositionObject(&P,double(ThumbHeight)/1080,0,0,ThumbWidth,ThumbHeight,true,0,0,NULL,0,NULL,false);
+ List[0]->ShotComposition.List[j]->DrawCompositionObject(&P,double(ThumbHeight)/1080,0,0,ThumbWidth,ThumbHeight,true,0,0,NULL,0,NULL,false,List[0]->StaticDuration,false);
}
P.end();
@@ -1053,6 +1248,14 @@ bool cDiaporamaObject::LoadFromXML(QDomElement domDocument,QString ElementName,Q
// Background properties
if ((Element.elementsByTagName("Background").length()>0)&&(Element.elementsByTagName("Background").item(0).isElement()==true)) {
+ if (BackgroundBrush->Image) {
+ delete BackgroundBrush->Image;
+ BackgroundBrush->Image=NULL;
+ }
+ if (BackgroundBrush->Video) {
+ delete BackgroundBrush->Video;
+ BackgroundBrush->Video=NULL;
+ }
QDomElement SubElement=Element.elementsByTagName("Background").item(0).toElement();
BackgroundType =SubElement.attribute("BackgroundType")=="1"; // Background type : false=same as precedent - true=new background definition
bool ModifyFlag;
@@ -1078,9 +1281,9 @@ bool cDiaporamaObject::LoadFromXML(QDomElement domDocument,QString ElementName,Q
MusicReduceFactor =Element.attribute("MusicReduceFactor").toDouble(); // factor for volume reduction if MusicReduceVolume is true
int MusicNumber =Element.attribute("MusicNumber").toInt(); // Number of file in the playlist
for (int i=0;i<MusicNumber;i++) {
- cMusicObject *MusicObject=new cMusicObject();
+ cMusicObject *MusicObject=new cMusicObject(GlobalMainWindow->ApplicationConfig);
bool ModifyFlag=false;
- if (!MusicObject->LoadFromXML(Element,"Music-"+QString("%1").arg(i),PathForRelativPath,AliasList,&ModifyFlag,GlobalMainWindow->ApplicationConfig)) IsOk=false;
+ if (!MusicObject->LoadFromXML(Element,"Music-"+QString("%1").arg(i),PathForRelativPath,AliasList,&ModifyFlag)) IsOk=false;
MusicList.append(*MusicObject);
if (ModifyFlag) GlobalMainWindow->SetModifyFlag(true);
}
@@ -1118,7 +1321,6 @@ bool cDiaporamaObject::LoadFromXML(QDomElement domDocument,QString ElementName,Q
cDiaporama::cDiaporama(cApplicationConfig *TheApplicationConfig) {
ToLog(LOGMSG_DEBUGTRACE,"IN:cDiaporama:cDiaporama");
- Timeline = NULL;
ApplicationConfig = TheApplicationConfig;
ProjectInfo = new cffDProjectFile(ApplicationConfig);
CurrentCol = -1; // Current selected item
@@ -1610,7 +1812,7 @@ void cDiaporama::PrepareMusicBloc(bool PreviewMode,int Column,qlonglong Position
}
// Get more music bloc at correct position (volume is always 100% @ this point !)
- CurMusic->Music->ImageAt(PreviewMode,Position+StartPosition,0,MusicTrack,1,true,NULL,false);
+ CurMusic->ImageAt(PreviewMode,Position+StartPosition,0,MusicTrack,1,true,NULL,false);
// Apply correct volume to block in queue
if (Factor!=1.0) for (int i=0;i<MusicTrack->NbrPacketForFPS;i++) MusicTrack->ApplyVolume(i,Factor);
@@ -1628,6 +1830,7 @@ void cDiaporama::PrepareImage(cDiaporamaObjectInfo *Info,int W,int H,bool IsCurr
ToLog(LOGMSG_DEBUGTRACE,"IN:cDiaporama:PrepareImage");
bool SoundOnly =((W==0)&&(H==0)); // W and H = 0 when producing sound track in render process
+ qlonglong Duration =IsCurrentObject?Info->CurrentObject_ShotDuration:Info->TransitObject_ShotDuration;
cDiaporamaShot *CurShot =IsCurrentObject?Info->CurrentObject_CurrentShot:Info->TransitObject_CurrentShot;
cDiaporamaObject *CurObject =IsCurrentObject?Info->CurrentObject:Info->TransitObject;
int CurTimePosition =(IsCurrentObject?Info->CurrentObject_InObjectTime:Info->TransitObject_InObjectTime);
@@ -1660,7 +1863,7 @@ void cDiaporama::PrepareImage(cDiaporamaObjectInfo *Info,int W,int H,bool IsCurr
}
VideoPosition+=(CurTimePosition-ThePosition);
- CurShot->ShotComposition.List[j]->DrawCompositionObject(NULL,double(H)/double(1080),0,0,0,0,true,VideoPosition,StartPosToAdd,SoundTrackMontage,1,NULL,false);
+ CurShot->ShotComposition.List[j]->DrawCompositionObject(NULL,double(H)/double(1080),0,0,0,0,true,VideoPosition,StartPosToAdd,SoundTrackMontage,1,NULL,false,CurShot->StaticDuration,true);
}
}
return;
@@ -1732,7 +1935,7 @@ void cDiaporama::PrepareImage(cDiaporamaObjectInfo *Info,int W,int H,bool IsCurr
} else VideoPosition=CurTimePosition;
// Draw object
- CurShot->ShotComposition.List[j]->DrawCompositionObject(&P,double(H)/double(1080),0,0,W,H,PreviewMode,VideoPosition,StartPosToAdd,SoundTrackMontage,PCTDone,PrevCompoObject,false);
+ CurShot->ShotComposition.List[j]->DrawCompositionObject(&P,double(H)/double(1080),0,0,W,H,PreviewMode,VideoPosition,StartPosToAdd,SoundTrackMontage,PCTDone,PrevCompoObject,false,Duration,true);
}
P.end();
@@ -2275,7 +2478,7 @@ void cDiaporama::LoadSources(cDiaporamaObjectInfo *Info,double ADJUST_RATIO,int
if (Info->CurrentObject_BackgroundBrush) P.fillRect(QRect(0,0,W,H),*Info->CurrentObject_BackgroundBrush);
// Apply composition to background
for (int j=0;j<List[Info->CurrentObject_BackgroundIndex]->BackgroundComposition.List.count();j++)
- List[Info->CurrentObject_BackgroundIndex]->BackgroundComposition.List[j]->DrawCompositionObject(&P,ADJUST_RATIO,0,0,W,H,PreviewMode,0,0,NULL,1,NULL,false);
+ List[Info->CurrentObject_BackgroundIndex]->BackgroundComposition.List[j]->DrawCompositionObject(&P,ADJUST_RATIO,0,0,W,H,PreviewMode,0,0,NULL,1,NULL,false,0,false);
P.end();
}
// same job for Transition Object if a previous was not keep !
@@ -2291,7 +2494,7 @@ void cDiaporama::LoadSources(cDiaporamaObjectInfo *Info,double ADJUST_RATIO,int
if (Info->TransitObject_BackgroundBrush) P.fillRect(QRect(0,0,W,H),*Info->TransitObject_BackgroundBrush);
// Apply composition to background
for (int j=0;j<List[Info->TransitObject_BackgroundIndex]->BackgroundComposition.List.count();j++)
- List[Info->TransitObject_BackgroundIndex]->BackgroundComposition.List[j]->DrawCompositionObject(&P,ADJUST_RATIO,0,0,W,H,PreviewMode,0,0,NULL,1,NULL,false);
+ List[Info->TransitObject_BackgroundIndex]->BackgroundComposition.List[j]->DrawCompositionObject(&P,ADJUST_RATIO,0,0,W,H,PreviewMode,0,0,NULL,1,NULL,false,0,false);
P.end();
}
}
@@ -2613,7 +2816,7 @@ cDiaporamaObjectInfo::cDiaporamaObjectInfo(cDiaporamaObjectInfo *PreviousFrame,i
CurrentObject_InObjectTime=TimePosition;
TransitObject_InObjectTime=TimePosition;
} else {
- //==============> Retrieve object informations depending on position (in msec)
+ //==============> Retrieve object information depending on position (in msec)
// Search wich object for given time position
int AdjustedDuration=(CurrentObject_Number<Diaporama->List.count())?Diaporama->List[CurrentObject_Number]->GetDuration()-Diaporama->GetTransitionDuration(CurrentObject_Number+1):0;
if (AdjustedDuration<33) AdjustedDuration=33; // Not less than 1/30 sec
@@ -2855,7 +3058,10 @@ bool cDiaporamaObjectInfo::IsShotStatic(cDiaporamaObject *Object,int ShotNumber)
bool IsStatic=true;
if (ShotNumber==0) {
- for (int i=0;i<Object->List[0]->ShotComposition.List.count();i++) if (Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->Video!=NULL) IsStatic=false;
+ for (int i=0;i<Object->List[0]->ShotComposition.List.count();i++)
+ if ((Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->Video!=NULL)||
+ (Object->List[ShotNumber]->ShotComposition.List[i]->BlockAnimType!=0))
+ IsStatic=false;
} else for (int i=0;i<Object->List[ShotNumber]->ShotComposition.List.count();i++) if (Object->List[ShotNumber]->ShotComposition.List[i]->IsVisible) {
if (Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->Video!=NULL) IsStatic=false; else {
if ((Object->List[ShotNumber]->ShotComposition.List[i]->x !=Object->List[ShotNumber-1]->ShotComposition.List[i]->x)||
@@ -2865,6 +3071,10 @@ bool cDiaporamaObjectInfo::IsShotStatic(cDiaporamaObject *Object,int ShotNumber)
(Object->List[ShotNumber]->ShotComposition.List[i]->RotateXAxis !=Object->List[ShotNumber-1]->ShotComposition.List[i]->RotateXAxis)||
(Object->List[ShotNumber]->ShotComposition.List[i]->RotateYAxis !=Object->List[ShotNumber-1]->ShotComposition.List[i]->RotateYAxis)||
(Object->List[ShotNumber]->ShotComposition.List[i]->RotateZAxis !=Object->List[ShotNumber-1]->ShotComposition.List[i]->RotateZAxis)||
+ (Object->List[ShotNumber]->ShotComposition.List[i]->BlockAnimType !=0)||
+ (Object->List[ShotNumber]->ShotComposition.List[i]->TxtZoomLevel !=Object->List[ShotNumber-1]->ShotComposition.List[i]->TxtZoomLevel)||
+ (Object->List[ShotNumber]->ShotComposition.List[i]->TxtScrollX !=Object->List[ShotNumber-1]->ShotComposition.List[i]->TxtScrollX)||
+ (Object->List[ShotNumber]->ShotComposition.List[i]->TxtScrollY !=Object->List[ShotNumber-1]->ShotComposition.List[i]->TxtScrollY)||
(Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->X !=Object->List[ShotNumber-1]->ShotComposition.List[i]->BackgroundBrush->X)||
(Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->Y !=Object->List[ShotNumber-1]->ShotComposition.List[i]->BackgroundBrush->Y)||
(Object->List[ShotNumber]->ShotComposition.List[i]->BackgroundBrush->ZoomFactor !=Object->List[ShotNumber-1]->ShotComposition.List[i]->BackgroundBrush->ZoomFactor)||
diff --git a/src/ffDiaporama/_Diaporama.h b/src/ffDiaporama/_Diaporama.h
index e51f7c8..e447d19 100755
--- a/src/ffDiaporama/_Diaporama.h
+++ b/src/ffDiaporama/_Diaporama.h
@@ -22,22 +22,17 @@
#define CDIAPORAMA_H
// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
+#include "../engine/_GlobalDefines.h"
// Include some additional standard class
-#include "../sharedfiles/cBaseMediaFile.h"
+#include "../engine/cBaseMediaFile.h"
// Specific inclusions
-
-
class cDiaporama;
class cDiaporamaObject;
#include "_ApplicationDefinitions.h"
#include "_ImagesDefinitions.h"
-#include "_SoundDefinitions.h"
-#include "cCustomTableWidget.h"
-
// Transition familly definition
#define TRANSITIONFAMILLY_BASE 0
@@ -63,9 +58,6 @@ class cDiaporamaObject;
#define SPEEDWAVE_LINEAR 0
#define SPEEDWAVE_SINQUARTER 1
-// Composition parameters
-#define SCALINGTEXTFACTOR 400
-
// Object type definition
#define DIAPORAMAOBJECTTYPE_EMPTY 0
#define DIAPORAMAOBJECTTYPE_IMAGE 1
@@ -77,6 +69,21 @@ class cDiaporamaObject;
#define SHOTTYPE_VIDEO 2
//============================================
+// Block animations
+//============================================
+
+#define BLOCKANIMTYPE_NONE 0
+#define BLOCKANIMTYPE_MULTIPLETURN 1
+#define BLOCKANIMTYPE_DISSOLVE 2
+
+#define BLOCKANIMVALUE_APPEAR 0
+#define BLOCKANIMVALUE_DISAPPEAR 1
+#define BLOCKANIMVALUE_BLINK_SLOW 2
+#define BLOCKANIMVALUE_BLINK_MEDIUM 3
+#define BLOCKANIMVALUE_BLINK_FAST 4
+#define BLOCKANIMVALUE_BLINK_VERYFAST 5
+
+//============================================
// Default values
//============================================
#define DEFAULT_FONT_FAMILLY "Arial"
@@ -115,6 +122,7 @@ public:
int TypeComposition; // Type of composition object (COMPOSITIONTYPE_BACKGROUND, COMPOSITIONTYPE_OBJECT, COMPOSITIONTYPE_SHOT)
int IndexKey;
bool IsVisible; // True if block is visible during this shot
+ bool SameAsPrevShot; // If true and not first shot then use the same value as in precedent shot
// Coordinates attributs of the object (Shot values)
double x,y,w,h; // Position (x,y) and size (width,height)
@@ -122,6 +130,13 @@ public:
double RotateXAxis; // Rotation from X axis
double RotateYAxis; // Rotation from Y axis
+ // Block Annimation
+ int BlockAnimType; // Type of block animation (#define BLOCKANIMTYPE_)
+ int TurnZAxis; // BLOCKANIMTYPE_MULTIPLETURN : Number of turn from Z axis
+ int TurnXAxis; // BLOCKANIMTYPE_MULTIPLETURN : Number of turn from X axis
+ int TurnYAxis; // BLOCKANIMTYPE_MULTIPLETURN : Number of turn from Y axis
+ int Dissolve; // BLOCKANIMTYPE_DISSOLVE : Dissolve value
+
// Attribut of the text part (Global values)
QString Text; // Text of the object
QString FontName; // font name
@@ -134,6 +149,9 @@ public:
int HAlign; // Horizontal alignement : 0=left, 1=center, 2=right, 3=justif
int VAlign; // Vertical alignement : 0=up, 1=center, 2=bottom
int StyleText; // Style : 0=normal, 1=outerline, 2=shadow up-left, 3=shadow up-right, 4=shadow bt-left, 5=shadow bt-right
+ int TxtZoomLevel; // Zoom Level for text
+ int TxtScrollX; // Scrolling X for text
+ int TxtScrollY; // Scrolling Y for text
// Attribut of the shap part (Global values)
int BackgroundForm; // Type of the form : 0=None, 1=Rectangle, 2=RoundRect, 3=Buble, 4=Ellipse, 5=Triangle UP (Polygon)
@@ -153,7 +171,9 @@ public:
void CopyFromCompositionObject(cCompositionObject *CompositionObjectToCopy);
void DrawCompositionObject(QPainter *Painter,double ADJUST_RATIO,int AddX,int AddY,int width,int height,bool PreviewMode,qlonglong Position,qlonglong StartPosToAdd,
- cSoundBlockList *SoundTrackMontage,double PctDone,cCompositionObject *PreviousCompositionObject,bool UseBrushCache);
+ cSoundBlockList *SoundTrackMontage,double PctDone,cCompositionObject *PreviousCompositionObject,bool UseBrushCache,qlonglong ShotDuration,bool EnableAnimation,
+ bool Transfo=false,double NewX=0,double NewY=0,double NewW=0,double NewH=0);
+
void SaveToXML(QDomElement &domDocument,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath,bool CheckTypeComposition=true);
bool LoadFromXML(QDomElement domDocument,QString ElementName,QString PathForRelativPath,cCompositionList *ObjectComposition,QStringList *AliasList,bool CheckTypeComposition=true);
@@ -171,6 +191,9 @@ public:
QString GetBlockShapeStyle();
void ApplyBlockShapeStyle(QString StyleDef);
+
+private:
+ QImage AddShadow(QImage SourceImage,double &DstX,double &DstY,double &DstW,double &DstH,double Distance);
};
//*********************************************************************************************************************************************
@@ -327,12 +350,9 @@ public:
//*********************************************************************************************************************************************
// Global class containing the project
//*********************************************************************************************************************************************
-class cCustomTableWidget;
-
class cDiaporama {
public:
cApplicationConfig *ApplicationConfig;
- cCustomTableWidget *Timeline; // Link to timeline
cffDProjectFile *ProjectInfo;
int CurrentCol; // Current position in the timeline (column)
qlonglong CurrentPosition; // Current position in the timeline (msec)
diff --git a/src/ffDiaporama/_ImagesDefinitions.h b/src/ffDiaporama/_ImagesDefinitions.h
index 02738d2..09038b4 100755
--- a/src/ffDiaporama/_ImagesDefinitions.h
+++ b/src/ffDiaporama/_ImagesDefinitions.h
@@ -22,14 +22,14 @@
#define IMAGESDEFINITIONS_H
// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
+#include "../engine/_GlobalDefines.h"
// Include some common various class
-#include "../sharedfiles/cFilterTransformObject.h"
-#include "../sharedfiles/cLuLoImageCache.h"
-#include "../sharedfiles/cBaseMediaFile.h"
-#include "../sharedfiles/cSoundBlockList.h"
-#include "../sharedfiles/cBrushDefinition.h"
+#include "../engine/cFilterTransformObject.h"
+#include "../engine/cLuLoImageCache.h"
+#include "../engine/cBaseMediaFile.h"
+#include "../engine/cSoundBlockList.h"
+#include "../engine/cBrushDefinition.h"
//*********************************************************************************************************************************************
// Global class containing icons of transitions
diff --git a/src/ffDiaporama/_SoundDefinitions.cpp b/src/ffDiaporama/_SoundDefinitions.cpp
deleted file mode 100755
index 50f0b9a..0000000
--- a/src/ffDiaporama/_SoundDefinitions.cpp
+++ /dev/null
@@ -1,120 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-// Specific inclusions
-#include "_SoundDefinitions.h"
-
-
-//TODO:revoir cMusicObject::LoadMedia pour les cas de piste son incompatible !
-
-
-//*********************************************************************************************************************************************
-// Base object for music definition
-//*********************************************************************************************************************************************
-
-cMusicObject::cMusicObject() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cMusicObject::cMusicObject");
-
- IsValide =false;
- FilePath ="";
- StartPos =QTime(0,0,0,0); // Start position
- EndPos =QTime(0,0,0,0); // End position
- Duration =QTime(0,0,0,0); // Duration
- FadeIn =false;
- FadeOut =false;
- Volume =1.0; // Volume as % from 1% to 150%
- Music =NULL; // Embeded Object (music is the same as video without video track !)
-}
-
-//====================================================================================================================
-
-cMusicObject::~cMusicObject() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cMusicObject::~cMusicObject");
-
- if (Music!=NULL) {
- delete Music;
- Music=NULL;
- }
-}
-
-//====================================================================================================================
-
-void cMusicObject::SaveToXML(QDomElement &domDocument,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cMusicObject::SaveToXML");
-
- QDomDocument DomDocument;
- QDomElement Element=DomDocument.createElement(ElementName);
- QString FileName;
-
- if (PathForRelativPath!="") {
- if (ForceAbsolutPath) FileName=QDir(QFileInfo(PathForRelativPath).absolutePath()).absoluteFilePath(FilePath);
- else FileName=QDir(QFileInfo(PathForRelativPath).absolutePath()).relativeFilePath(FilePath);
- } else FileName=FilePath;
-
- Element.setAttribute("FilePath",FileName);
- Element.setAttribute("StartPos",StartPos.toString());
- Element.setAttribute("EndPos", EndPos.toString());
- Element.setAttribute("FadeIn", FadeIn?"1":"0");
- Element.setAttribute("FadeOut", FadeOut?"1":"0");
- Element.setAttribute("Volume", QString("%1").arg(Volume,0,'f'));
-
- domDocument.appendChild(Element);
-}
-
-//====================================================================================================================
-
-bool cMusicObject::LoadFromXML(QDomElement domDocument,QString ElementName,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag,cBaseApplicationConfig *ApplicationConfig) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cMusicObject::LoadFromXML");
-
- if ((domDocument.elementsByTagName(ElementName).length()>0)&&(domDocument.elementsByTagName(ElementName).item(0).isElement()==true)) {
- QDomElement Element=domDocument.elementsByTagName(ElementName).item(0).toElement();
-
- FilePath=Element.attribute("FilePath","");
- if (PathForRelativPath!="") FilePath=QDir::cleanPath(QDir(PathForRelativPath).absoluteFilePath(FilePath));
- if (LoadMedia(FilePath,AliasList,ModifyFlag,ApplicationConfig)) {
- StartPos=QTime().fromString(Element.attribute("StartPos"));
- EndPos =QTime().fromString(Element.attribute("EndPos"));
- FadeIn =Element.attribute("FadeIn")=="1";
- FadeOut =Element.attribute("FadeOut")=="1";
- Volume =Element.attribute("Volume").toDouble();
- return true;
- } else return false;
- } else return false;
-}
-
-//====================================================================================================================
-
-bool cMusicObject::LoadMedia(QString &filename,QStringList *AliasList,bool *ModifyFlag,cBaseApplicationConfig *ApplicationConfig) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cMusicObject::LoadMedia");
-
- // Clean all
- if (Music!=NULL) {
- delete Music;
- Music=NULL;
- }
-
- Music=new cVideoFile(OBJECTTYPE_MUSICFILE,ApplicationConfig);
- IsValide=(Music->GetInformationFromFile(filename,AliasList,ModifyFlag))&&(Music->OpenCodecAndFile());
- FilePath=QFileInfo(Music->FileName).absoluteFilePath();
- StartPos=QTime(0,0,0,0); // Start position
- EndPos =Music->Duration;
- Duration=Music->Duration;
- return IsValide;
-}
diff --git a/src/ffDiaporama/_SoundDefinitions.h b/src/ffDiaporama/_SoundDefinitions.h
deleted file mode 100755
index df5a3c6..0000000
--- a/src/ffDiaporama/_SoundDefinitions.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef SOUNDDEFINITIONS_H
-#define SOUNDDEFINITIONS_H
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-
-// Include some additional standard class
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/cDeviceModelDef.h"
-#include "../sharedfiles/cDeviceModelDef.h"
-#include "../sharedfiles/cSoundBlockList.h"
-#include "../sharedfiles/_SDL_Support.h"
-#include "../sharedfiles/cBaseMediaFile.h"
-
-//*********************************************************************************************************************************************
-// Base object for music definition
-//*********************************************************************************************************************************************
-
-class cMusicObject {
-public:
- bool IsValide;
- QString FilePath;
- QTime StartPos; // Start position
- QTime EndPos; // End position
- QTime Duration; // Duration
- bool FadeIn;
- bool FadeOut;
- double Volume; // Volume as % from 10% to 150%
- cVideoFile *Music; // Embeded Object (music is the same as video without video track !)
-
- cMusicObject();
- ~cMusicObject();
-
- void SaveToXML(QDomElement &domDocument,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath);
- bool LoadFromXML(QDomElement domDocument,QString ElementName,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag,cBaseApplicationConfig *ApplicationConfig);
- bool LoadMedia(QString &filename,QStringList *AliasList,bool *ModifyFlag,cBaseApplicationConfig *ApplicationConfig);
-};
-
-#endif // SOUNDDEFINITIONS_H
diff --git a/src/ffDiaporama/_StyleDefinitions.cpp b/src/ffDiaporama/_StyleDefinitions.cpp
index d012ae0..e76fe5d 100755
--- a/src/ffDiaporama/_StyleDefinitions.cpp
+++ b/src/ffDiaporama/_StyleDefinitions.cpp
@@ -26,9 +26,9 @@
#include <QMenu>
#include <QAction>
#include <QMessageBox>
-#include "../sharedfiles/_QCustomDialog.h"
-#include "DlgManageStyle.h"
+#include "DlgManageStyle/DlgManageStyle.h"
+#include "_ApplicationDefinitions.h"
#define ICON_FRAMING_CUSTOM ":/img/action_cancel.png"
#define ICON_FRAMING_FULL ":/img/AdjustWH.png"
@@ -50,7 +50,7 @@ cStyleCollectionItem::cStyleCollectionItem(bool IsGlobalConf,int IndexKey,QStrin
FromGlobalConf =IsGlobalConf; // true if device model is defined in global config file
FromUserConf =!IsGlobalConf; // true if device model is defined in user config file
- IsFind =false; // true if device model format is supported by installed version of ffmpeg
+ IsFind =false; // true if device model format is supported by installed version of libav
StyleIndex =IndexKey; // Style number index key
StyleName =TheStyleName; // Style name
StyleDef =TheStyleDef; // Style definition
@@ -423,7 +423,7 @@ void cStyleCollection::FillCollectionCB(QComboBox *CB,QString ActualStyleName,bo
//************************************************
-QString cStyleCollection::PopupCollectionMenu(QWidget *ParentWindow,QString ActualStyleDef) {
+QString cStyleCollection::PopupCollectionMenu(QWidget *ParentWindow,cBaseApplicationConfig *BaseApplicationConfig,QString ActualStyleDef) {
ToLog(LOGMSG_DEBUGTRACE,"IN:cStyleCollection::PopupCollectionMenu");
QString Item="";
@@ -466,7 +466,7 @@ QString cStyleCollection::PopupCollectionMenu(QWidget *ParentWindow,QString Actu
Item="";
if (Ret!=NULL) {
if (Ret==ActionCreate) CreateNewStyle(ParentWindow,ActualStyleDef);
- else if (Ret==ActionManage) ManageExistingStyle(ParentWindow);
+ else if (Ret==ActionManage) ManageExistingStyle(ParentWindow,BaseApplicationConfig);
else if (Ret->toolTip()==QApplication::translate("DlgManageStyle","Update style")) UpdateExistingStyle((GeometryFilter?ActiveFilter:"")+Ret->text(),ActualStyleDef);
else Item=/*(GeometryFilter?ActiveFilter:"")+*/Ret->text();
}
@@ -523,10 +523,11 @@ void cStyleCollection::CreateNewStyle(QWidget *ParentWindow,QString ActualStyleD
//************************************************
-void cStyleCollection::ManageExistingStyle(QWidget *ParentWindow) {
+void cStyleCollection::ManageExistingStyle(QWidget *ParentWindow,cBaseApplicationConfig *BaseApplicationConfig) {
ToLog(LOGMSG_DEBUGTRACE,"IN:cStyleCollection::ManageExistingStyle");
- DlgManageStyle Dlg(this,ParentWindow);
+ DlgManageStyle Dlg(this,HELPFILE_DlgManageStyle,(cApplicationConfig *)BaseApplicationConfig,((cApplicationConfig *)BaseApplicationConfig)->DlgManageStyleWSP,ParentWindow);
+ Dlg.InitDialog();
Dlg.exec();
}
diff --git a/src/ffDiaporama/_StyleDefinitions.h b/src/ffDiaporama/_StyleDefinitions.h
index 03fccd0..f6bec09 100755
--- a/src/ffDiaporama/_StyleDefinitions.h
+++ b/src/ffDiaporama/_StyleDefinitions.h
@@ -22,15 +22,15 @@
#define _STYLEDEFINITIONS_H
// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
+#include "../engine/_GlobalDefines.h"
// Include some additional standard class
#include <QComboBox>
// Include some common various class
-#include "../sharedfiles/cBaseApplicationConfig.h"
-#include "../sharedfiles/cDeviceModelDef.h"
-#include "../sharedfiles/cBaseMediaFile.h"
+#include "../engine/cBaseApplicationConfig.h"
+#include "../engine/cDeviceModelDef.h"
+#include "../engine/cBaseMediaFile.h"
//============================================
// Style collection item definition
@@ -40,7 +40,7 @@ class cStyleCollectionItem {
public:
bool FromGlobalConf; // true if device model is defined in global config file
bool FromUserConf; // true if device model is defined in user config file
- bool IsFind; // true if device model format is supported by installed version of ffmpeg
+ bool IsFind; // true if device model format is supported by installed version of libav
int StyleIndex; // Style number index key
QString StyleName; // Long name for the style
QString StyleDef; // Style definition
@@ -80,11 +80,11 @@ public:
void SortList();
QString GetStyleName(QString StyleDef);
QString GetStyleDef(QString StyleName);
- QString PopupCollectionMenu(QWidget *ParentWindow,QString ActualStyleDef);
+ QString PopupCollectionMenu(QWidget *ParentWindow,cBaseApplicationConfig *BaseApplicationConfig,QString ActualStyleDef);
void FillCollectionCB(QComboBox *CB,QString ActualStyleName,bool AdditionnalFramingStyle);
void UpdateExistingStyle(QString StyleName,QString ActualStyleDef);
void CreateNewStyle(QWidget *ParentWindow,QString ActualStyleDef);
- void ManageExistingStyle(QWidget *ParentWindow);
+ void ManageExistingStyle(QWidget *ParentWindow,cBaseApplicationConfig *BaseApplicationConfig);
void StringToStringList(QString String,QStringList &List);
void StringDefToStringList(QString String,QStringList &List);
void DoTranslateCollection();
diff --git a/src/ffDiaporama/cCustomComboBox.cpp b/src/ffDiaporama/cCustomComboBox.cpp
index 66fd707..481a715 100755
--- a/src/ffDiaporama/cCustomComboBox.cpp
+++ b/src/ffDiaporama/cCustomComboBox.cpp
@@ -144,6 +144,7 @@ cCustomColorComboBox::cCustomColorComboBox(QWidget *parent):QComboBox(parent) {
void cCustomColorComboBox::SetCurrentColor(QString *Color) {
ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomColorComboBox::SetCurrentColor");
CurrentColor=Color;
+ if (!Color) return;
int i=0;
while ((i<MAXCOLORREF)&&(ColorRef[i]!=*CurrentColor)) i++;
int Row=i/5;
diff --git a/src/ffDiaporama/cCustomComboBox.h b/src/ffDiaporama/cCustomComboBox.h
index 401e8ab..6336bcd 100755
--- a/src/ffDiaporama/cCustomComboBox.h
+++ b/src/ffDiaporama/cCustomComboBox.h
@@ -22,7 +22,7 @@
#define cCustomColorComboBox_H
// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
+#include "../engine/_GlobalDefines.h"
// Specific inclusions
#include "_Diaporama.h"
diff --git a/src/ffDiaporama/cCustomGraphicsRectItem.cpp b/src/ffDiaporama/cCustomGraphicsRectItem.cpp
deleted file mode 100755
index 9260fbd..0000000
--- a/src/ffDiaporama/cCustomGraphicsRectItem.cpp
+++ /dev/null
@@ -1,1153 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "cCustomGraphicsRectItem.h"
-#include "DlgSlideProperties.h"
-#include "DlgImageCorrection.h"
-#include <QGraphicsView>
-#include <QTransform>
-
-#define HANDLESIZEX 8
-#define HANDLESIZEY 8
-#define HANDLEMAGNETX 18
-#define HANDLEMAGNETY 10
-
-//---------------------------------------------------------------------------------------------------------------------------------------------------------------
-// class use to add interractive resize to QGraphicsRectItem object
-//---------------------------------------------------------------------------------------------------------------------------------------------------------------
-cResizeGraphicsRectItem::cResizeGraphicsRectItem(QGraphicsScene *scene,cCustomGraphicsRectItem *TheRectItem,int ZValue,int TheTypeItem,QGraphicsItem *parent)
- :QGraphicsRectItem((*TheRectItem->x)*double(scene->sceneRect().width()),(*TheRectItem->y)*double(scene->sceneRect().height()),
- double(scene->sceneRect().width())*(*((TheRectItem->zoom!=NULL)?TheRectItem->zoom:TheRectItem->w)),
- double(scene->sceneRect().height())*(*((TheRectItem->zoom!=NULL)?TheRectItem->zoom:TheRectItem->h)),parent) {
-
- ToLog(LOGMSG_DEBUGTRACE,"IN:cResizeGraphicsRectItem::cResizeGraphicsRectItem");
- RectItem = TheRectItem;
- TypeItem = TheTypeItem;
- IsCapture = false;
- BlockRecursion = false; // Flag to stop recursion during resize
- CurrentPenWith = -1;
-
- // define Mouse cursor
- switch (TypeItem) {
- case 0 : setCursor(Qt::SizeFDiagCursor); break; // Upper-Left corner
- case 1 : setCursor(Qt::SizeBDiagCursor); break; // Upper-Right corner
- case 2 : setCursor(Qt::SizeBDiagCursor); break; // Bottom-Left corner
- case 3 : setCursor(Qt::SizeFDiagCursor); break; // Bottom-Right corner
- case 4 : setCursor(Qt::SizeVerCursor); break; // Upper
- case 5 : setCursor(Qt::SizeVerCursor); break; // Bottom
- case 6 : setCursor(Qt::SizeHorCursor); break; // Left
- case 7 : setCursor(Qt::SizeHorCursor); break; // Right
- }
- // define Flags
- setFlags(QGraphicsItem::ItemIsMovable|QGraphicsItem::ItemIsSelectable|QGraphicsItem::ItemClipsChildrenToShape|QGraphicsItem::ItemSendsScenePositionChanges|QGraphicsItem::ItemSendsGeometryChanges);
-// setFlags(QGraphicsItem::ItemIsMovable|QGraphicsItem::ItemIsSelectable|QGraphicsItem::ItemSendsScenePositionChanges|QGraphicsItem::ItemSendsGeometryChanges);
- setZValue(ZValue);
- setData(0,QVariant("ResizeGraphicsRectItem"));
-
- // Add this item to the scene
- scene->addItem(this);
- CalcPosition();
-}
-
-//====================================================================================================================
-
-cResizeGraphicsRectItem::~cResizeGraphicsRectItem() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cResizeGraphicsRectItem::~cResizeGraphicsRectItem");
- switch (TypeItem) {
- case 0 : RectItem->UpperLeft=NULL; break; // Upper-Left corner
- case 1 : RectItem->UpperRight=NULL; break; // Upper-Right corner
- case 2 : RectItem->BottomLeft=NULL; break; // Bottom-Left corner
- case 3 : RectItem->BottomRight=NULL; break; // Bottom-Right corner
- case 4 : RectItem->Upper=NULL; break; // Upper
- case 5 : RectItem->Bottom=NULL; break; // Bottom
- case 6 : RectItem->Left=NULL; break; // Left
- case 7 : RectItem->Right=NULL; break; // Right
- }
-}
-
-//====================================================================================================================
-
-void cResizeGraphicsRectItem::mousePressEvent(QGraphicsSceneMouseEvent *event) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cResizeGraphicsRectItem::mousePressEvent");
- QGraphicsRectItem::mousePressEvent(event);
- IsCapture = true;
-}
-
-//====================================================================================================================
-
-void cResizeGraphicsRectItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cResizeGraphicsRectItem::mouseReleaseEvent");
- IsCapture = false;
- QGraphicsRectItem::mouseReleaseEvent(event);
- setSelected(false);
- RectItem->setFocus();
- RectItem->setSelected(true);
-}
-
-//====================================================================================================================
-
-void cResizeGraphicsRectItem::CalcPosition() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cResizeGraphicsRectItem::CalcPosition");
- if (scene()==NULL) return;
- QTransform Matrix=scene()->views().at(0)->transform();
- double xscale = Matrix.m11(); // X
- double yscale = Matrix.m22(); // Y
- double w = double(HANDLESIZEX)/xscale;
- double h = double(HANDLESIZEY)/yscale;
- double xmax = scene()->sceneRect().width();
- double ymax = scene()->sceneRect().height();
- double x = 0;
- double y = 0;
- switch (TypeItem) {
- case 0 : // Upper-Left corner
- x = (*RectItem->x)*xmax;
- y = (*RectItem->y)*ymax;
- break;
- case 1 : // Upper-Right corner
- x = (*RectItem->x)*xmax+xmax*(*((RectItem->zoom!=NULL)?RectItem->zoom:RectItem->w));
- y = (*RectItem->y)*ymax;
- break;
- case 2 : // Bottom-Left corner
- x = (*RectItem->x)*xmax;
- if (RectItem->zoom!=NULL) y=(*RectItem->y)*ymax+xmax*(*RectItem->zoom)*RectItem->AspectRatio;
- else y=(*RectItem->y)*ymax+ymax*(*RectItem->h);
- break;
- case 3 : // Bottom-Right corner
- x = (*RectItem->x)*xmax+xmax*(*((RectItem->zoom!=NULL)?RectItem->zoom:RectItem->w));
- if (RectItem->zoom!=NULL) y=(*RectItem->y)*ymax+xmax*(*RectItem->zoom)*RectItem->AspectRatio;
- else y=(*RectItem->y)*ymax+ymax*(*RectItem->h);
- break;
- case 4 : // Upper
- x = (*RectItem->x)*xmax+(xmax*(*((RectItem->zoom!=NULL)?RectItem->zoom:RectItem->w)))/2;
- y = (*RectItem->y)*ymax;
- break;
- case 5 : // Bottom
- x = (*RectItem->x)*xmax+(xmax*(*((RectItem->zoom!=NULL)?RectItem->zoom:RectItem->w)))/2;
- if (RectItem->zoom!=NULL) y=(*RectItem->y)*ymax+xmax*(*RectItem->zoom)*RectItem->AspectRatio;
- else y=(*RectItem->y)*ymax+ymax*(*RectItem->h);
- break;
- case 6 : // Left
- x = (*RectItem->x)*xmax;
- if (RectItem->zoom!=NULL) y=(*RectItem->y)*ymax+(xmax*(*RectItem->zoom)*RectItem->AspectRatio)/2;
- else y=(*RectItem->y)*ymax+(ymax*(*RectItem->h))/2;
- break;
- case 7 : // Right
- x = (*RectItem->x)*xmax+xmax*(*((RectItem->zoom!=NULL)?RectItem->zoom:RectItem->w));
- if (RectItem->zoom!=NULL) y=(*RectItem->y)*ymax+(xmax*(*RectItem->zoom)*RectItem->AspectRatio)/2;
- else y=(*RectItem->y)*ymax+(ymax*(*RectItem->h))/2;
- break;
- }
- x=x-w/2;
- y=y-h/2;
- setPos(x,y);
- QRectF Rect=mapRectFromScene(QRectF(x,y,w,h));
- setRect(Rect);
-}
-
-//====================================================================================================================
-// function call each time a rectangle is move
-//====================================================================================================================
-
-QVariant cResizeGraphicsRectItem::itemChange(GraphicsItemChange change,const QVariant &value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cResizeGraphicsRectItem::itemChange");
- if ((change == ItemPositionChange)&&(scene()!=NULL)) {
- QVariant newpos = value;
- if ((IsCapture==true)&&(BlockRecursion==false)) {
- BlockRecursion = true;
- QPointF Size=newpos.toPoint();
- switch (TypeItem) {
- case 0 : ResizeUpperLeft(Size); break; // Upper-Left corner
- case 1 : ResizeUpperRight(Size); break; // Upper-Right corner
- case 2 : ResizeBottomLeft(Size); break; // Bottom-Left corner
- case 3 : ResizeBottomRight(Size); break; // Bottom-Right corner
- case 4 : ResizeUpper(Size); break; // Upper
- case 5 : ResizeBottom(Size); break; // Bottom
- case 6 : ResizeLeft(Size); break; // Left
- case 7 : ResizeRight(Size); break; // Right
- }
- newpos=QVariant(Size);
- RectItem->SendRefreshBackgroundImage();
- BlockRecursion = false;
- }
- return newpos;
- } else return QGraphicsRectItem::itemChange(change,value);
-}
-
-//====================================================================================================================
-// Redefine paint to don't allow selection rectangle
-//====================================================================================================================
-
-void cResizeGraphicsRectItem::paint(QPainter *painter,const QStyleOptionGraphicsItem *option,QWidget *widget) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cResizeGraphicsRectItem::paint");
- if (RectItem->zoom==NULL) { // Slide dialog
-
- cCustomGraphicsRectItem *CurrentTextItem=NULL;
- for (int i=0;i<scene()->selectedItems().count();i++) {
- QGraphicsItem *Item=scene()->selectedItems()[i];
- QString data =Item->data(0).toString();
- if (data=="CustomGraphicsRectItem") CurrentTextItem=(cCustomGraphicsRectItem *)Item;
- else if (data=="ResizeGraphicsRectItem") CurrentTextItem=((cResizeGraphicsRectItem *)Item)->RectItem;
- }
- if (CurrentTextItem==RectItem) {
-
- if (CurrentTextItem->ParentWidgetType==TYPE_DlgSlideProperties) {
- if (CurrentPenWith!=((DlgSlideProperties *)CurrentTextItem->ParentWidget)->WithPen) {
- CurrentPenWith=((DlgSlideProperties *)CurrentTextItem->ParentWidget)->WithPen;
- // define a pen for the rectangle
- QColor Col=QColor(255,0,0);
- QPen Pen=QPen(Col);
- Pen.setWidth(CurrentPenWith);
- setPen(Pen);
- }
- } else if (CurrentPenWith!=1) {
- CurrentPenWith=1;
- // define a pen for the rectangle
- QColor Col=QColor(255,0,0);
- QPen Pen=QPen(Col);
- Pen.setWidth(CurrentPenWith);
- setPen(Pen);
- }
-
- // Draw rectangle
- QGraphicsRectItem::paint(painter,option,widget);
- }
-
- } else { // Reframming dialog
-
- if (CurrentPenWith!=1) {
- CurrentPenWith=1;
- // define a pen for the rectangle
- QColor Col=QColor(255,0,0);
- QPen Pen=QPen(Col);
- Pen.setWidth(CurrentPenWith);
- setPen(Pen);
- }
-
- // Draw rectangle
- QGraphicsRectItem::paint(painter,option,widget);
- }
-}
-
-//====================================================================================================================
-// Resize from Upper-Left corner
-//====================================================================================================================
-
-void cResizeGraphicsRectItem::ResizeUpperLeft(QPointF &newpos) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cResizeGraphicsRectItem::ResizeUpperLeft");
- if (scene()==NULL) return;
- QTransform Matrix=scene()->views().at(0)->transform();
- double xscale = Matrix.m11(); // X
- double yscale = Matrix.m22(); // Y
- double w = double(HANDLESIZEX)/xscale;
- double h = double(HANDLESIZEY)/yscale;
- double mw = double(HANDLEMAGNETX)/xscale;;
- double mh = double(HANDLEMAGNETY)/yscale;;
- double x = double(newpos.x());
- double y = double(newpos.y());
- double xmax = double(scene()->sceneRect().width()); // get max width
- double ymax = double(scene()->sceneRect().height()); // get max height
- double blockx = RectItem->BottomRight->pos().x(); // get value of opposite resize corner
- double blocky = RectItem->BottomRight->pos().y(); // get value of opposite resize corner
- double imgw,imgh;
-
- // Magnetic guide
- if ((RectItem->MagneticRuler!=NULL)&&(RectItem->MagneticRuler->MagneticRuler==true)) {
- if ((x+(w/2)>-mw)&&(x+(w/2)<mw)) x=-(w/2);
- else if ((x+(w/2)>(RectItem->MagneticRuler->MagnetX1-mw))&&(x+(w/2)<(RectItem->MagneticRuler->MagnetX1+mw))) x=RectItem->MagneticRuler->MagnetX1-(w/2);
- else if ((x+(w/2)>(RectItem->MagneticRuler->MagnetX2-mw))&&(x+(w/2)<(RectItem->MagneticRuler->MagnetX2+mw))) x=RectItem->MagneticRuler->MagnetX2-(w/2);
- else if ((x+(w/2)>(RectItem->MagneticRuler->MagnetX3-mw))&&(x+(w/2)<(RectItem->MagneticRuler->MagnetX3+mw))) x=RectItem->MagneticRuler->MagnetX3-(w/2);
-
- double ay=y;
- if ((y+(h/2)>-mh)&&(y+(h/2)<mh)) y=-(h/2);
- else if ((y+(h/2)>(RectItem->MagneticRuler->MagnetY1-mh))&&(y+(h/2)<(RectItem->MagneticRuler->MagnetY1+mh))) y=RectItem->MagneticRuler->MagnetY1-(h/2);
- else if ((y+(h/2)>(RectItem->MagneticRuler->MagnetY2-mh))&&(y+(h/2)<(RectItem->MagneticRuler->MagnetY2+mh))) y=RectItem->MagneticRuler->MagnetY2-(h/2);
- else if ((y+(h/2)>(RectItem->MagneticRuler->MagnetY3-mh))&&(y+(h/2)<(RectItem->MagneticRuler->MagnetY3+mh))) y=RectItem->MagneticRuler->MagnetY3-(h/2);
- if ((ay!=y)&&(RectItem->KeepAspectRatio)) x=blockx-double((blocky+h/2)-(y+h/2))/RectItem->AspectRatio;
- }
-
- // Ensure resize corner if correct depending on oppotise
- if (x>blockx) x=blockx;
- if (y>blocky) y=blocky;
-
- // Respect image geometry (if needed)
- if (RectItem->KeepAspectRatio) {
- imgw = blockx-x;
- if (imgw<w) {
- imgw=w;
- x=blockx-imgw;
- }
- imgh = imgw*RectItem->AspectRatio;
- if (blocky-imgh<-(h/2)) {
- imgh = blocky-y;
- if (imgh<h) imgh=h;
- imgw = imgh/RectItem->AspectRatio;
- x = blockx-imgw;
- } else y = blocky-imgh;
- } else {
- imgw=(RectItem->BottomRight->pos().x()-x);
- imgh=(RectItem->BottomRight->pos().y()-y);
- if (imgw<w) {
- imgw=w;
- x=blockx-imgw;
- }
- if (imgh<h) {
- imgh=h;
- y=blocky-imgh;
- }
- }
-
- // Now, update RectItem
- if (RectItem->zoom!=NULL) {
- *(RectItem->zoom)=(imgw/xmax);
- RectItem->AspectRatio=imgh/(ymax*(*(RectItem->zoom)));
- } else {
- (*RectItem->w)=(imgw/xmax);
- (*RectItem->h)=(imgh/ymax);
- RectItem->AspectRatio=imgh/imgw;
- }
- (*RectItem->x)=(x+(w/2))/xmax;
- (*RectItem->y)=(y+(h/2))/ymax;
- RectItem->setPos((*RectItem->x)*xmax,(*RectItem->y)*ymax);
- QRectF Rect=RectItem->mapRectFromScene(QRectF((*RectItem->x)*xmax,(*RectItem->y)*ymax,imgw,imgh));
- RectItem->setRect(Rect);
-
- // return new value
- newpos.setX(x);
- newpos.setY(y);
-}
-
-//====================================================================================================================
-// Resize from Upper-Right corner
-//====================================================================================================================
-
-void cResizeGraphicsRectItem::ResizeUpperRight(QPointF &newpos) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cResizeGraphicsRectItem::ResizeUpperRight");
- if (scene()==NULL) return;
- QTransform Matrix=scene()->views().at(0)->transform();
- double xscale = Matrix.m11(); // X
- double yscale = Matrix.m22(); // Y
- double w = double(HANDLESIZEX)/xscale;
- double h = double(HANDLESIZEY)/yscale;
- double mw = double(HANDLEMAGNETX)/xscale;;
- double mh = double(HANDLEMAGNETY)/yscale;;
- double x = double(newpos.x());
- double y = double(newpos.y());
- double xmax = double(scene()->sceneRect().width()); // get max width
- double ymax = double(scene()->sceneRect().height()); // get max height
- double blockx = RectItem->BottomLeft->pos().x(); // get value of opposite resize corner
- double blocky = RectItem->BottomLeft->pos().y(); // get value of opposite resize corner
- double imgw,imgh;
-
- //Magnetic guide
- if ((RectItem->MagneticRuler!=NULL)&&(RectItem->MagneticRuler->MagneticRuler==true)) {
- if ((x+(w/2)>xmax-mw)&&(x+(w/2)<xmax+mw)) x=xmax-(w/2);
- else if ((x+(w/2)>(RectItem->MagneticRuler->MagnetX1-mw))&&(x+(w/2)<(RectItem->MagneticRuler->MagnetX1+mw))) x=RectItem->MagneticRuler->MagnetX1-(w/2);
- else if ((x+(w/2)>(RectItem->MagneticRuler->MagnetX2-mw))&&(x+(w/2)<(RectItem->MagneticRuler->MagnetX2+mw))) x=RectItem->MagneticRuler->MagnetX2-(w/2);
- else if ((x+(w/2)>(RectItem->MagneticRuler->MagnetX3-mw))&&(x+(w/2)<(RectItem->MagneticRuler->MagnetX3+mw))) x=RectItem->MagneticRuler->MagnetX3-(w/2);
-
- double ay=y;
- if ((y+(h/2)>-mh)&&(y+(h/2)<mh)) y=-(h/2);
- else if ((y+(h/2)>(RectItem->MagneticRuler->MagnetY1-mh))&&(y+(h/2)<(RectItem->MagneticRuler->MagnetY1+mh))) y=RectItem->MagneticRuler->MagnetY1-(h/2);
- else if ((y+(h/2)>(RectItem->MagneticRuler->MagnetY2-mh))&&(y+(h/2)<(RectItem->MagneticRuler->MagnetY2+mh))) y=RectItem->MagneticRuler->MagnetY2-(h/2);
- else if ((y+(h/2)>(RectItem->MagneticRuler->MagnetY3-mh))&&(y+(h/2)<(RectItem->MagneticRuler->MagnetY3+mh))) y=RectItem->MagneticRuler->MagnetY3-(h/2);
- if ((ay!=y)&&(RectItem->KeepAspectRatio)) x=blockx+double((blocky+h/2)-(y+h/2))/RectItem->AspectRatio;
- }
-
- // Ensure resize corner if correct depending on oppotise
- if (x<blockx) x=blockx;
- if (y>blocky) y=blocky;
-
- // Respect image geometry (if needed)
- if (RectItem->KeepAspectRatio) {
- imgw = x-blockx;
- if (imgw<w) {
- imgw=w;
- x=blockx+imgw;
- }
- imgh = imgw*RectItem->AspectRatio;
- if (blocky-imgh<-(h/2)) {
- imgh = blocky-y;
- if (imgh<h) imgh=h;
- imgw = imgh/RectItem->AspectRatio;
- x = blockx+imgw;
- } else y = blocky-imgh;
- } else {
- imgw=(x-RectItem->BottomLeft->pos().x());
- imgh=(RectItem->BottomLeft->pos().y()-y);
- if (imgw<w) {
- imgw=w;
- x=blockx+imgw;
- }
- if (imgh<h) {
- imgh=h;
- y=blocky-imgh;
- }
- }
-
- // Now, update RectItem
- if (RectItem->zoom!=NULL) {
- *(RectItem->zoom)=(imgw/xmax);
- RectItem->AspectRatio=imgh/(ymax*(*(RectItem->zoom)));
- } else {
- (*RectItem->w)=(imgw/xmax);
- (*RectItem->h)=(imgh/ymax);
- RectItem->AspectRatio=imgh/imgw;
- }
- (*RectItem->y)=(y+(h/2))/ymax;
- RectItem->setPos((*RectItem->x)*xmax,(*RectItem->y)*ymax);
- QRectF Rect=RectItem->mapRectFromScene(QRectF((*RectItem->x)*xmax,(*RectItem->y)*ymax,imgw,imgh));
- RectItem->setRect(Rect);
-
- // return new value
- newpos.setX(x);
- newpos.setY(y);
-}
-
-//====================================================================================================================
-// Resize from Bottom-Left corner
-//====================================================================================================================
-
-void cResizeGraphicsRectItem::ResizeBottomLeft(QPointF &newpos) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cResizeGraphicsRectItem::ResizeBottomLeft");
- if (scene()==NULL) return;
- QTransform Matrix=scene()->views().at(0)->transform();
- double xscale = Matrix.m11(); // X
- double yscale = Matrix.m22(); // Y
- double w = double(HANDLESIZEX)/xscale;
- double h = double(HANDLESIZEY)/yscale;
- double mw = double(HANDLEMAGNETX)/xscale;;
- double mh = double(HANDLEMAGNETY)/yscale;;
- double x = double(newpos.x());
- double y = double(newpos.y());
- double xmax = double(scene()->sceneRect().width()); // get max width
- double ymax = double(scene()->sceneRect().height()); // get max height
- double blockx = RectItem->UpperRight->pos().x(); // get value of opposite resize corner
- double blocky = RectItem->UpperRight->pos().y(); // get value of opposite resize corner
- double imgw,imgh;
-
- // Magnetic guide
- if ((RectItem->MagneticRuler!=NULL)&&(RectItem->MagneticRuler->MagneticRuler==true)) {
- if ((x+(w/2)>-mw)&&(x+(w/2)<mw)) x=-(w/2);
- else if ((x+(w/2)>(RectItem->MagneticRuler->MagnetX1-mw))&&(x+(w/2)<(RectItem->MagneticRuler->MagnetX1+mw))) x=RectItem->MagneticRuler->MagnetX1-(w/2);
- else if ((x+(w/2)>(RectItem->MagneticRuler->MagnetX2-mw))&&(x+(w/2)<(RectItem->MagneticRuler->MagnetX2+mw))) x=RectItem->MagneticRuler->MagnetX2-(w/2);
- else if ((x+(w/2)>(RectItem->MagneticRuler->MagnetX3-mw))&&(x+(w/2)<(RectItem->MagneticRuler->MagnetX3+mw))) x=RectItem->MagneticRuler->MagnetX3-(w/2);
-
- double ay=y;
- if ((y+(h/2)>ymax-mh)&&(y+(h/2)<ymax+mh)) y=ymax-(h/2);
- else if ((y+(h/2)>(RectItem->MagneticRuler->MagnetY1-mh))&&(y+(h/2)<(RectItem->MagneticRuler->MagnetY1+mh))) y=RectItem->MagneticRuler->MagnetY1-(h/2);
- else if ((y+(h/2)>(RectItem->MagneticRuler->MagnetY2-mh))&&(y+(h/2)<(RectItem->MagneticRuler->MagnetY2+mh))) y=RectItem->MagneticRuler->MagnetY2-(h/2);
- else if ((y+(h/2)>(RectItem->MagneticRuler->MagnetY3-mh))&&(y+(h/2)<(RectItem->MagneticRuler->MagnetY3+mh))) y=RectItem->MagneticRuler->MagnetY3-(h/2);
- if ((ay!=y)&&(RectItem->KeepAspectRatio)) x=blockx-double((y+h/2)-(blocky+h/2))/RectItem->AspectRatio;
- }
-
- // Ensure resize corner if correct depending on oppotise
- if (x>blockx) x=blockx;
- if (y<blocky) y=blocky;
-
- // Respect image geometry (if needed)
- if (RectItem->KeepAspectRatio) {
- imgw = blockx-x;
- if (imgw<w) {
- imgw=w;
- x=blockx-imgw;
- }
- imgh = imgw*RectItem->AspectRatio;
- if (imgh+blocky>ymax-(h/2)) {
- imgh = y-blocky;
- if (imgh<h) imgh=h;
- imgw = imgh/RectItem->AspectRatio;
- x = blockx-imgw;
- } else y = blocky+imgh;
- } else {
- imgw=(RectItem->UpperRight->pos().x()-x);
- imgh=(y-RectItem->UpperRight->pos().y());
- if (imgw<w) {
- imgw=w;
- x=blockx-imgw;
- }
- if (imgh<h) {
- imgh=h;
- y=blocky+imgh;
- }
- }
-
- // Now, update RectItem
- if (RectItem->zoom!=NULL) {
- *(RectItem->zoom)=(imgw/xmax);
- RectItem->AspectRatio=imgh/(ymax*(*(RectItem->zoom)));
- } else {
- (*RectItem->w)=(imgw/xmax);
- (*RectItem->h)=(imgh/ymax);
- RectItem->AspectRatio=imgh/imgw;
- }
- (*RectItem->x)=(x+(w/2))/xmax;
- RectItem->setPos((*RectItem->x)*xmax,(*RectItem->y)*ymax);
- QRectF Rect=RectItem->mapRectFromScene(QRectF((*RectItem->x)*xmax,(*RectItem->y)*ymax,imgw,imgh));
- RectItem->setRect(Rect);
-
- // return new value
- newpos.setX(x);
- newpos.setY(y);
-}
-
-//====================================================================================================================
-// Resize from Bottom-Right corner
-//====================================================================================================================
-
-void cResizeGraphicsRectItem::ResizeBottomRight(QPointF &newpos) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cResizeGraphicsRectItem::ResizeBottomRight");
- if (scene()==NULL) return;
- QTransform Matrix=scene()->views().at(0)->transform();
- double xscale = Matrix.m11(); // X
- double yscale = Matrix.m22(); // Y
- double w = double(HANDLESIZEX)/xscale;
- double h = double(HANDLESIZEY)/yscale;
- double mw = double(HANDLEMAGNETX)/xscale;;
- double mh = double(HANDLEMAGNETY)/yscale;;
- double x = double(newpos.x());
- double y = double(newpos.y());
- double xmax = double(scene()->sceneRect().width()); // get max width
- double ymax = double(scene()->sceneRect().height()); // get max height
- double blockx = RectItem->UpperLeft->pos().x(); // get value of opposite resize corner
- double blocky = RectItem->UpperLeft->pos().y(); // get value of opposite resize corner
- double imgw,imgh;
-
- // Magnetic guide
- if ((RectItem->MagneticRuler!=NULL)&&(RectItem->MagneticRuler->MagneticRuler==true)) {
- if ((x+(w/2)>xmax-mw)&&(x+(w/2)<xmax+mw)) x=xmax-(w/2);
- else if ((x+(w/2)>(RectItem->MagneticRuler->MagnetX1-mw))&&(x+(w/2)<(RectItem->MagneticRuler->MagnetX1+mw))) x=RectItem->MagneticRuler->MagnetX1-(w/2);
- else if ((x+(w/2)>(RectItem->MagneticRuler->MagnetX2-mw))&&(x+(w/2)<(RectItem->MagneticRuler->MagnetX2+mw))) x=RectItem->MagneticRuler->MagnetX2-(w/2);
- else if ((x+(w/2)>(RectItem->MagneticRuler->MagnetX3-mw))&&(x+(w/2)<(RectItem->MagneticRuler->MagnetX3+mw))) x=RectItem->MagneticRuler->MagnetX3-(w/2);
-
- double ay=y;
- if ((y+(h/2)>ymax-mh)&&(y+(h/2)<ymax+mh)) y=ymax-(h/2);
- else if ((y+(h/2)>(RectItem->MagneticRuler->MagnetY1-mh))&&(y+(h/2)<(RectItem->MagneticRuler->MagnetY1+mh))) y=RectItem->MagneticRuler->MagnetY1-(h/2);
- else if ((y+(h/2)>(RectItem->MagneticRuler->MagnetY2-mh))&&(y+(h/2)<(RectItem->MagneticRuler->MagnetY2+mh))) y=RectItem->MagneticRuler->MagnetY2-(h/2);
- else if ((y+(h/2)>(RectItem->MagneticRuler->MagnetY3-mh))&&(y+(h/2)<(RectItem->MagneticRuler->MagnetY3+mh))) y=RectItem->MagneticRuler->MagnetY3-(h/2);
- if ((ay!=y)&&(RectItem->KeepAspectRatio)) x=blockx+double((y+h/2)-(blocky+h/2))/RectItem->AspectRatio;
- }
-
- // Ensure resize corner if correct depending on oppotise
- if (x<blockx) x=blockx;
- if (y<blocky) y=blocky;
-
- // Respect image geometry (if needed)
- if (RectItem->KeepAspectRatio) {
- imgw = x-blockx;
- if (imgw<w) imgw=w;
- imgh = imgw*RectItem->AspectRatio;
- if (imgh+blocky>ymax-(h/2)) {
- imgh = y-blocky;
- if (imgh<h) imgh=h;
- imgw = imgh/RectItem->AspectRatio;
- }
- x = blockx+imgw;
- y = blocky+imgh;
- } else {
- imgw=(x-RectItem->UpperLeft->pos().x());
- imgh=(y-RectItem->UpperLeft->pos().y());
- if (imgw<w) {
- imgw=w;
- x=blockx+imgw;
- }
- if (imgh<h) {
- imgh=h;
- y=blocky+imgh;
- }
- }
-
- // Now, update RectItem
- if (RectItem->zoom!=NULL) {
- *(RectItem->zoom)=(imgw/xmax);
- RectItem->AspectRatio=imgh/(ymax*(*(RectItem->zoom)));
- } else {
- (*RectItem->w)=(imgw/xmax);
- (*RectItem->h)=(imgh/ymax);
- RectItem->AspectRatio=imgh/imgw;
- }
- RectItem->setPos((*RectItem->x)*xmax,(*RectItem->y)*ymax);
- QRectF Rect=RectItem->mapRectFromScene(QRectF((*RectItem->x)*xmax,(*RectItem->y)*ymax,imgw,imgh));
- RectItem->setRect(Rect);
-
- // return new value
- newpos.setX(x);
- newpos.setY(y);
-}
-
-//====================================================================================================================
-// Resize from Upper border
-//====================================================================================================================
-void cResizeGraphicsRectItem::ResizeUpper(QPointF &newpos) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cResizeGraphicsRectItem::ResizeUpper");
- if (scene()==NULL) return;
- QTransform Matrix=scene()->views().at(0)->transform();
- double xscale = Matrix.m11(); // X
- double yscale = Matrix.m22(); // Y
- double w = double(HANDLESIZEX)/xscale;
- double h = double(HANDLESIZEY)/yscale;
- double y = double(newpos.y());
- double xmax = double(scene()->sceneRect().width()); // get max width
- double ymax = double(scene()->sceneRect().height()); // get max height
- double blocky = RectItem->Bottom->pos().y(); // get value of opposite resize corner
- double mh = HANDLEMAGNETY;
- double imgh = blocky-y;
- double imgw = (RectItem->zoom?(*RectItem->zoom):(*RectItem->w))*xmax;
-
- // Magnetic guide
- if ((RectItem->MagneticRuler!=NULL)&&(RectItem->MagneticRuler->MagneticRuler==true)) {
- double ay=y;
- if ((y+(h/2)>-mh)&&(y+(h/2)<mh)) y=-(h/2);
- else if ((y+(h/2)>(RectItem->MagneticRuler->MagnetY1-mh))&&(y+(h/2)<(RectItem->MagneticRuler->MagnetY1+mh))) y=RectItem->MagneticRuler->MagnetY1-(h/2);
- else if ((y+(h/2)>(RectItem->MagneticRuler->MagnetY2-mh))&&(y+(h/2)<(RectItem->MagneticRuler->MagnetY2+mh))) y=RectItem->MagneticRuler->MagnetY2-(h/2);
- else if ((y+(h/2)>(RectItem->MagneticRuler->MagnetY3-mh))&&(y+(h/2)<(RectItem->MagneticRuler->MagnetY3+mh))) y=RectItem->MagneticRuler->MagnetY3-(h/2);
- if (ay!=y) {
- imgh=blocky-y;
- if (RectItem->KeepAspectRatio) imgw=imgh/RectItem->AspectRatio;
- }
- }
-
- // Ensure resize corner if correct depending on oppotise
- if (imgh<(h/2)) {
- y = blocky-(h/2);
- imgh = blocky-y;
- }
-
- // Respect image geometry (if needed)
- if (RectItem->KeepAspectRatio) imgw = imgh/RectItem->AspectRatio;
-
- // Now, update RectItem
- if (RectItem->zoom!=NULL) {
- *(RectItem->zoom)=(imgw/xmax);
- RectItem->AspectRatio=imgh/(ymax*(*(RectItem->zoom)));
- } else {
- (*RectItem->w)=(imgw/xmax);
- (*RectItem->h)=(imgh/ymax);
- RectItem->AspectRatio=imgh/imgw;
- }
- (*RectItem->y)=(y+h/2)/ymax;
- (*RectItem->x)=(pos().x()+(w/2)-(imgw/2))/xmax;
- RectItem->setPos((*RectItem->x)*xmax,(*RectItem->y)*ymax);
- QRectF Rect=RectItem->mapRectFromScene(QRectF((*RectItem->x)*xmax,(*RectItem->y)*ymax,imgw,imgh));
- RectItem->setRect(Rect);
-
- // return new value
- newpos.setX(pos().x());
- newpos.setY(y);
-}
-
-//====================================================================================================================
-// Resize from Bottom border
-//====================================================================================================================
-void cResizeGraphicsRectItem::ResizeBottom(QPointF &newpos) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cResizeGraphicsRectItem::ResizeBottom");
- if (scene()==NULL) return;
- QTransform Matrix=scene()->views().at(0)->transform();
- double xscale = Matrix.m11(); // X
- double yscale = Matrix.m22(); // Y
- double w = double(HANDLESIZEX)/xscale;
- double h = double(HANDLESIZEY)/yscale;
- double y = double(newpos.y());
- double xmax = double(scene()->sceneRect().width()); // get max width
- double ymax = double(scene()->sceneRect().height()); // get max height
- double blocky = RectItem->Upper->pos().y(); // get value of opposite resize corner
- double mh = HANDLEMAGNETY;
- double imgh = y-blocky;
- double imgw = (RectItem->zoom?(*RectItem->zoom):(*RectItem->w))*xmax;
-
- // Magnetic guide
- if ((RectItem->MagneticRuler!=NULL)&&(RectItem->MagneticRuler->MagneticRuler==true)) {
- double ay=y;
- if ((y+(h/2)>ymax-mh)&&(y+(h/2)<ymax+mh)) y=ymax-(h/2);
- else if ((y+(h/2)>(RectItem->MagneticRuler->MagnetY1-mh))&&(y+(h/2)<(RectItem->MagneticRuler->MagnetY1+mh))) y=RectItem->MagneticRuler->MagnetY1-(h/2);
- else if ((y+(h/2)>(RectItem->MagneticRuler->MagnetY2-mh))&&(y+(h/2)<(RectItem->MagneticRuler->MagnetY2+mh))) y=RectItem->MagneticRuler->MagnetY2-(h/2);
- else if ((y+(h/2)>(RectItem->MagneticRuler->MagnetY3-mh))&&(y+(h/2)<(RectItem->MagneticRuler->MagnetY3+mh))) y=RectItem->MagneticRuler->MagnetY3-(h/2);
- if (ay!=y) {
- imgh=y-blocky;
- if (RectItem->KeepAspectRatio) imgw=imgh/RectItem->AspectRatio;
- }
- }
-
- // Ensure resize corner if correct depending on oppotise
- if (imgh<(h/2)) {
- y = blocky+(h/2);
- imgh = y-blocky;
- }
-
- // Respect image geometry (if needed)
- if (RectItem->KeepAspectRatio) imgw = imgh/RectItem->AspectRatio;
-
- // Now, update RectItem
- if (RectItem->zoom!=NULL) {
- *(RectItem->zoom)=(imgw/xmax);
- RectItem->AspectRatio=imgh/(ymax*(*(RectItem->zoom)));
- } else {
- (*RectItem->w)=(imgw/xmax);
- (*RectItem->h)=(imgh/ymax);
- RectItem->AspectRatio=imgh/imgw;
- }
- (*RectItem->y)=(y+h/2-imgh)/ymax;
- (*RectItem->x)=(pos().x()+(w/2)-(imgw/2))/xmax;
- RectItem->setPos((*RectItem->x)*xmax,(*RectItem->y)*ymax);
- QRectF Rect=RectItem->mapRectFromScene(QRectF((*RectItem->x)*xmax,(*RectItem->y)*ymax,imgw,imgh));
- RectItem->setRect(Rect);
-
- // return new value
- newpos.setX(pos().x());
- newpos.setY(y);
-}
-
-//====================================================================================================================
-// Resize from Left border
-//====================================================================================================================
-void cResizeGraphicsRectItem::ResizeLeft(QPointF &newpos) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cResizeGraphicsRectItem::ResizeLeft");
- if (scene()==NULL) return;
- QTransform Matrix=scene()->views().at(0)->transform();
- double xscale = Matrix.m11(); // X
- double yscale = Matrix.m22(); // Y
- double w = double(HANDLESIZEX)/xscale;
- double h = double(HANDLESIZEY)/yscale;
- double mw = double(HANDLEMAGNETX)/xscale;;
- //double mh = double(HANDLEMAGNETY)/yscale;;
- double x = double(newpos.x());
- double xmax = double(scene()->sceneRect().width()); // get max width
- double ymax = double(scene()->sceneRect().height()); // get max height
- double blockx = RectItem->Right->pos().x(); // get value of opposite resize corner
- double imgw = blockx-x;
- double imgh = (RectItem->zoom?(*RectItem->zoom*RectItem->AspectRatio):(*RectItem->h))*ymax;
-
- // Magnetic guide
- if ((RectItem->MagneticRuler!=NULL)&&(RectItem->MagneticRuler->MagneticRuler==true)) {
- if ((x+(w/2)>-mw)&&(x+(w/2)<mw)) x=-(w/2);
- if ((x+(w/2)>(RectItem->MagneticRuler->MagnetX1-mw))&&(x+(w/2)<(RectItem->MagneticRuler->MagnetX1+mw))) x=RectItem->MagneticRuler->MagnetX1-(w/2);
- else if ((x+(w/2)>(RectItem->MagneticRuler->MagnetX2-mw))&&(x+(w/2)<(RectItem->MagneticRuler->MagnetX2+mw))) x=RectItem->MagneticRuler->MagnetX2-(w/2);
- else if ((x+(w/2)>(RectItem->MagneticRuler->MagnetX3-mw))&&(x+(w/2)<(RectItem->MagneticRuler->MagnetX3+mw))) x=RectItem->MagneticRuler->MagnetX3-(w/2);
- imgw=blockx-x;
- }
-
- // Ensure resize corner if correct depending on oppotise
- if (imgw<(w/2)) {
- x = blockx-(w/2);
- imgw = blockx-x;
- }
-
- // Respect image geometry (if needed)
- if (RectItem->KeepAspectRatio)
- imgh = imgw*RectItem->AspectRatio;
-
- // Now, update RectItem
- if (RectItem->zoom!=NULL) {
- *(RectItem->zoom)=(imgw/xmax);
- RectItem->AspectRatio=imgh/(ymax*(*(RectItem->zoom)));
- } else {
- (*RectItem->w)=(imgw/xmax);
- (*RectItem->h)=(imgh/ymax);
- RectItem->AspectRatio=imgh/imgw;
- }
- *(RectItem->y)=(pos().y()+(h/2)-(imgh/2))/ymax;
- *(RectItem->x)=(x+(w/2))/xmax;
- RectItem->setPos((*RectItem->x)*xmax,(*RectItem->y)*ymax);
- QRectF Rect=RectItem->mapRectFromScene(QRectF((*RectItem->x)*xmax,(*RectItem->y)*ymax,imgw,imgh));
- RectItem->setRect(Rect);
-
- // return new value
- newpos.setX(x);
- newpos.setY(pos().y());
-}
-
-//====================================================================================================================
-// Resize from Right border
-//====================================================================================================================
-void cResizeGraphicsRectItem::ResizeRight(QPointF &newpos) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cResizeGraphicsRectItem::ResizeRight");
- if (scene()==NULL) return;
- QTransform Matrix=scene()->views().at(0)->transform();
- double xscale = Matrix.m11(); // X
- double yscale = Matrix.m22(); // Y
- double w = double(HANDLESIZEX)/xscale;
- double h = double(HANDLESIZEY)/yscale;
- double mw = double(HANDLEMAGNETX)/xscale;;
- //double mh = double(HANDLEMAGNETY)/yscale;;
- double x = double(newpos.x());
- double xmax = double(scene()->sceneRect().width()); // get max width
- double ymax = double(scene()->sceneRect().height()); // get max height
- double blockx = RectItem->Left->pos().x(); // get value of opposite resize corner
- double imgw = x-blockx;
- double imgh = (RectItem->zoom?(*RectItem->zoom*RectItem->AspectRatio):(*RectItem->h))*ymax;
-
- // Magnetic guide
- if ((RectItem->MagneticRuler!=NULL)&&(RectItem->MagneticRuler->MagneticRuler==true)) {
- if ((x+(w/2)>xmax-mw)&&(x+(w/2)<xmax+mw)) x=xmax-(w/2);
- if ((x+(w/2)>(RectItem->MagneticRuler->MagnetX1-mw))&&(x+(w/2)<(RectItem->MagneticRuler->MagnetX1+mw))) x=RectItem->MagneticRuler->MagnetX1-(w/2);
- else if ((x+(w/2)>(RectItem->MagneticRuler->MagnetX2-mw))&&(x+(w/2)<(RectItem->MagneticRuler->MagnetX2+mw))) x=RectItem->MagneticRuler->MagnetX2-(w/2);
- else if ((x+(w/2)>(RectItem->MagneticRuler->MagnetX3-mw))&&(x+(w/2)<(RectItem->MagneticRuler->MagnetX3+mw))) x=RectItem->MagneticRuler->MagnetX3-(w/2);
- imgw=x-blockx;
- }
-
- // Ensure resize corner if correct depending on oppotise
- if (imgw<(w/2)) {
- x = blockx+(w/2);
- imgw = x-blockx;
- }
-
- // Respect image geometry (if needed)
- if (RectItem->KeepAspectRatio) imgh = imgw*RectItem->AspectRatio;
-
- // Now, update RectItem
- if (RectItem->zoom!=NULL) {
- *(RectItem->zoom)=(imgw/xmax);
- RectItem->AspectRatio=imgh/(ymax*(*(RectItem->zoom)));
- } else {
- (*RectItem->w)=(imgw/xmax);
- (*RectItem->h)=(imgh/ymax);
- RectItem->AspectRatio=imgh/imgw;
- }
- *(RectItem->y)=(pos().y()+(h/2)-(imgh/2))/ymax;
- *(RectItem->x)=(x+(w/2)-imgw)/xmax;
- RectItem->setPos((*RectItem->x)*xmax,(*RectItem->y)*ymax);
- QRectF Rect=RectItem->mapRectFromScene(QRectF((*RectItem->x)*xmax,(*RectItem->y)*ymax,imgw,imgh));
- RectItem->setRect(Rect);
-
- // return new value
- newpos.setX(x);
- newpos.setY(pos().y());
-}
-
-//---------------------------------------------------------------------------------------------------------------------------------------------------------------
-// class use to crop rectangle into the image
-//---------------------------------------------------------------------------------------------------------------------------------------------------------------
-// x,y and zoom or w/h are always give in %
-cCustomGraphicsRectItem::cCustomGraphicsRectItem(QGraphicsScene *TheScene,int ZValue,double *Thex,double *They,double *Thezoom,double *Thew,double *Theh,double xmax,double ymax,
- bool TheKeepAspectRatio,double TheAspectRatio,sMagneticRuler *TheMagneticRuler,QWidget *TheParentWidget,int TheParentWidgetType,
- int TheIndexKey,bool TheIsVisible)
- :QGraphicsRectItem((*Thex)*xmax,(*They)*ymax,xmax*(*((Thezoom!=NULL)?Thezoom:Thew)),ymax*(*((Thezoom!=NULL)?Thezoom:Theh)),NULL)
-
-{
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomGraphicsRectItem::cCustomGraphicsRectItem");
- IndexKey = TheIndexKey;
- ParentWidget = TheParentWidget;
- ParentWidgetType= TheParentWidgetType;
- MagneticRuler = TheMagneticRuler;
- x = Thex;
- y = They;
- zoom = Thezoom;
- KeepAspectRatio = TheKeepAspectRatio;
- AspectRatio = TheAspectRatio;
- IsVisible = TheIsVisible;
-
- if (zoom!=NULL) {
- // If zoom mode is use
- w=&StockW; *(w) = xmax*(*zoom);
- h=&StockH; *(h) = ymax*(*zoom);
- } else {
- // If zoom mode is not use
- w=Thew;
- h=Theh;
- }
- BlockZoomChange = false; // flag to block zoom changing during change % to pixel
- IsCapture = false;
- UpperLeft = NULL;
- UpperRight = NULL;
- BottomLeft = NULL;
- BottomRight = NULL;
- Upper = NULL;
- Bottom = NULL;
- Left = NULL;
- Right = NULL;
-
- // Init item
- setPos((*x)*xmax,(*y)*ymax);
- QRectF Rect=mapRectFromScene(QRectF((*x)*xmax,(*y)*ymax,xmax*(*((zoom!=NULL)?zoom:w)),ymax*(*((zoom!=NULL)?zoom:h))));
- setRect(Rect);
-
- // define Mouse cursor
- setCursor(Qt::SizeAllCursor);
-
- // define a pen for the rectangle
- QColor col=QColor(255,0,0);
- QPen pen=QPen(col);
- pen.setWidth(1);
- setPen(pen);
-
- // define Flags
- setFlags(QGraphicsItem::ItemIsMovable|QGraphicsItem::ItemIsSelectable|QGraphicsItem::ItemClipsChildrenToShape|QGraphicsItem::ItemSendsScenePositionChanges|QGraphicsItem::ItemSendsGeometryChanges|QGraphicsItem::ItemIsFocusable);
-// setFlags(QGraphicsItem::ItemIsMovable|QGraphicsItem::ItemIsSelectable|QGraphicsItem::ItemSendsScenePositionChanges|QGraphicsItem::ItemSendsGeometryChanges);
- setZValue(ZValue);
- setData(0,QVariant("CustomGraphicsRectItem"));
-
- // Add this item to the scene and create resize box
- TheScene->addItem(this);
- if (IsVisible) {
- UpperLeft =new cResizeGraphicsRectItem(TheScene,this,ZValue+1,0);
- UpperRight =new cResizeGraphicsRectItem(TheScene,this,ZValue+1,1);
- BottomLeft =new cResizeGraphicsRectItem(TheScene,this,ZValue+1,2);
- BottomRight=new cResizeGraphicsRectItem(TheScene,this,ZValue+1,3);
- Upper =new cResizeGraphicsRectItem(TheScene,this,ZValue+1,4);
- Bottom =new cResizeGraphicsRectItem(TheScene,this,ZValue+1,5);
- Left =new cResizeGraphicsRectItem(TheScene,this,ZValue+1,6);
- Right =new cResizeGraphicsRectItem(TheScene,this,ZValue+1,7);
- }
-}
-
-//====================================================================================================================
-
-cCustomGraphicsRectItem::~cCustomGraphicsRectItem() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomGraphicsRectItem::~cCustomGraphicsRectItem");
- if (UpperLeft) {
- if (UpperLeft->scene()) UpperLeft->scene()->removeItem(UpperLeft);
- delete UpperLeft;
- UpperLeft=NULL;
- }
- if (UpperRight) {
- if (UpperRight->scene()) UpperRight->scene()->removeItem(UpperRight);
- delete UpperRight;
- UpperRight=NULL;
- }
- if (BottomLeft) {
- if (BottomLeft->scene()) BottomLeft->scene()->removeItem(BottomLeft);
- delete BottomLeft;
- BottomLeft=NULL;
- }
- if (BottomRight) {
- if (BottomRight->scene()) BottomRight->scene()->removeItem(BottomRight);
- delete BottomRight;
- BottomRight=NULL;
- }
- if (Upper) {
- if (Upper->scene()) Upper->scene()->removeItem(Upper);
- delete Upper;
- Upper=NULL;
- }
- if (Bottom) {
- if (Bottom->scene()) Bottom->scene()->removeItem(Bottom);
- delete Bottom;
- Bottom=NULL;
- }
- if (Left) {
- if (Left->scene()) Left->scene()->removeItem(Left);
- delete Left;
- Left=NULL;
- }
- if (Right) {
- if (Right->scene()) Right->scene()->removeItem(Right);
- delete Right;
- Right=NULL;
- }
- if (scene()) scene()->removeItem(this);
-}
-
-//====================================================================================================================
-
-void cCustomGraphicsRectItem::paint(QPainter */*painter*/,const QStyleOptionGraphicsItem */*option*/,QWidget */*widget*/) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomGraphicsRectItem::paint");
-}
-
-//====================================================================================================================
-
-void cCustomGraphicsRectItem::mousePressEvent(QGraphicsSceneMouseEvent *event) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomGraphicsRectItem::mousePressEvent");
- QGraphicsRectItem::mousePressEvent(event);
- IsCapture = true;
-}
-
-//====================================================================================================================
-
-void cCustomGraphicsRectItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomGraphicsRectItem::mouseReleaseEvent");
- IsCapture = false;
- QGraphicsRectItem::mouseReleaseEvent(event);
-}
-
-//====================================================================================================================
-// function call each time a rectangle is move
-//====================================================================================================================
-
-QVariant cCustomGraphicsRectItem::itemChange(GraphicsItemChange change,const QVariant &value) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomGraphicsRectItem::itemChange");
- if (change == QGraphicsItem::ItemPositionChange) {
-
- QPointF newpos=value.toPointF();
- double xmax =double(scene()->sceneRect().width());
- double ymax =double(scene()->sceneRect().height());
-
- if (IsCapture && IsVisible) {
- *x = newpos.x()/xmax;
- *y = newpos.y()/ymax;
- // calcul width and height;
- double W = xmax*(*((zoom!=NULL)?zoom:w));
- double H = ymax*((zoom!=NULL)?((*zoom)*AspectRatio):(*h));
-
- QTransform Matrix=scene()->views().at(0)->transform();
- double xscale = Matrix.m11(); // X
- double yscale = Matrix.m22(); // Y
- double mw = double(HANDLEMAGNETX)/xscale;;
- double mh = double(HANDLEMAGNETY)/yscale;;
-
- if (((*x)*xmax>(0-mw))&&((*x)*xmax<(0+mw))) *x=0;
- if ((((*x)*xmax+W)>(xmax-mw))&&(((*x)*xmax+W)<(xmax+mw))) *x=(xmax-W)/xmax;
- if (((*y)*ymax>(0-mh))&&((*y)*ymax<(0+mh))) *y=0;
- if ((((*y)*ymax+H)>(ymax-mh))&&(((*y)*ymax+H)<(ymax+mh))) *y=(ymax-H)/ymax;
-
- if ((MagneticRuler!=NULL)&&(MagneticRuler->MagneticRuler==true)) {
- if (((*x)*xmax>(MagneticRuler->MagnetX1-mw))&&((*x)*xmax<(MagneticRuler->MagnetX1+mw))) *x=MagneticRuler->MagnetX1/xmax;
- if ((((*x)*xmax+W)>(MagneticRuler->MagnetX2-mw))&&(((*x)*xmax+W)<(MagneticRuler->MagnetX2+mw))) *x=(MagneticRuler->MagnetX2-W)/xmax;
- if (((*y)*ymax>(MagneticRuler->MagnetY1-mh))&&((*y)*ymax<(MagneticRuler->MagnetY1+mh))) *y=MagneticRuler->MagnetY1/ymax;
- if ((((*y)*ymax+H)>(MagneticRuler->MagnetY2-mh))&&(((*y)*ymax+H)<(MagneticRuler->MagnetY2+mh))) *y=(MagneticRuler->MagnetY2-H)/ymax;
-
- if ((MagneticRuler->MagnetX3>0)&&(MagneticRuler->MagnetY3>0)) {
- if (((*x)*xmax>(MagneticRuler->MagnetX3-mw))&&((*x)*xmax<(MagneticRuler->MagnetX3+mw))) *x=MagneticRuler->MagnetX3/xmax;
- if ((((*x)*xmax+W)>(MagneticRuler->MagnetX3-mw))&&(((*x)*xmax+W)<(MagneticRuler->MagnetX3+mw))) *x=(MagneticRuler->MagnetX3-W)/xmax;
- if (((*y)*ymax>(MagneticRuler->MagnetY3-mh))&&((*y)*ymax<(MagneticRuler->MagnetY3+mh))) *y=MagneticRuler->MagnetY3/ymax;
- if ((((*y)*ymax+H)>(MagneticRuler->MagnetY3-mh))&&(((*y)*ymax+H)<(MagneticRuler->MagnetY3+mh))) *y=(MagneticRuler->MagnetY3-H)/ymax;
- // Midle attraction
- if ((((*x)*xmax+W/2)>(MagneticRuler->MagnetX3-mw))&&(((*x)*xmax+W/2)<(MagneticRuler->MagnetX3+mw))) *x=(MagneticRuler->MagnetX3-W/2)/xmax;
- if ((((*y)*ymax+H/2)>(MagneticRuler->MagnetY3-mh))&&(((*y)*ymax+H/2)<(MagneticRuler->MagnetY3+mh))) *y=(MagneticRuler->MagnetY3-H/2)/ymax;
- }
- }
-
- newpos.setX((*x)*xmax);
- newpos.setY((*y)*ymax);
- SendRefreshBackgroundImage();
-
- } else if (!IsVisible) {
- // If not visible then undo move !
- newpos.setX((*x)*xmax);
- newpos.setY((*y)*ymax);
- }
- return newpos;
- } else return QGraphicsRectItem::itemChange(change,value);
-}
-
-//====================================================================================================================
-
-void cCustomGraphicsRectItem::SendRefreshBackgroundImage() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomGraphicsRectItem::SendRefreshBackgroundImage");
- RecalcEmbededResizeRectItem();
- switch (ParentWidgetType) {
- case TYPE_DlgSlideProperties: ((DlgSlideProperties *)ParentWidget)->RefreshSceneImage(); break;
- case TYPE_DlgImageCorrection: ((DlgImageCorrection *)ParentWidget)->RefreshControls(); break;
- }
-}
-
-void cCustomGraphicsRectItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomGraphicsRectItem::mouseDoubleClickEvent");
- QGraphicsRectItem::mouseDoubleClickEvent(event);
- switch (ParentWidgetType) {
- case TYPE_DlgSlideProperties: ((DlgSlideProperties *)ParentWidget)->s_Scene_DoubleClick(); break;
- //case TYPE_DlgImageCorrection: ((DlgImageCorrection *)ParentWidget)->OnDoubleClick(); break;
- }
-}
-
-//====================================================================================================================
-
-void cCustomGraphicsRectItem::RecalcEmbededResizeRectItem() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomGraphicsRectItem::RecalcEmbededResizeRectItem");
- if ((!KeepAspectRatio)&&(zoom==NULL)) AspectRatio=(double(scene()->sceneRect().height())*(*h))/(double(scene()->sceneRect().width())*(*w));
- // Refresh Resizebox position
- if (UpperLeft) UpperLeft->CalcPosition();
- if (UpperRight) UpperRight->CalcPosition();
- if (BottomLeft) BottomLeft->CalcPosition();
- if (BottomRight) BottomRight->CalcPosition();
- if (Upper) Upper->CalcPosition();
- if (Bottom) Bottom->CalcPosition();
- if (Left) Left->CalcPosition();
- if (Right) Right->CalcPosition();
-}
-
-//====================================================================================================================
-
-void cCustomGraphicsRectItem::keyPressEvent(QKeyEvent *event) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomGraphicsRectItem::keyPressEvent");
- double xmax = double(scene()->sceneRect().width());
- double ymax = double(scene()->sceneRect().height());
- double newX = (*x)*xmax;
- double newY = (*y)*ymax;
- double newW = xmax*(*((zoom!=NULL)?zoom:w));
- double newH = ymax*((zoom!=NULL)?((*zoom)*AspectRatio):(*h));
-
- switch (event->key()) {
- case Qt::Key_Left:
- if ((QApplication::keyboardModifiers() & Qt::ShiftModifier)==Qt::ShiftModifier) { newX--; newW++; }
- else if ((QApplication::keyboardModifiers() & Qt::ControlModifier)==Qt::ControlModifier) newW--;
- else newX--;
- event->accept();
- break;
- case Qt::Key_Right:
- if ((QApplication::keyboardModifiers() & Qt::ShiftModifier)==Qt::ShiftModifier) { newX++; newW--; }
- else if ((QApplication::keyboardModifiers() & Qt::ControlModifier)==Qt::ControlModifier) newW++;
- else newX++;
- event->accept();
- break;
- case Qt::Key_Up:
- if ((QApplication::keyboardModifiers() & Qt::ShiftModifier)==Qt::ShiftModifier) { newY--; newH++; }
- else if ((QApplication::keyboardModifiers() & Qt::ControlModifier)==Qt::ControlModifier) newH--;
- else newY--;
- event->accept();
- break;
- case Qt::Key_Down:
- if ((QApplication::keyboardModifiers() & Qt::ShiftModifier)==Qt::ShiftModifier) { newY++; newH--; }
- else if ((QApplication::keyboardModifiers() & Qt::ControlModifier)==Qt::ControlModifier) newH++;
- else newY++;
- event->accept();
- break;
- default :
- event->ignore();
- break;
- }
- if ((newX!=(*x)*xmax)||(newY!=(*y)*xmax)||(newW!=xmax*(*((zoom!=NULL)?zoom:w)))||(newH!=ymax*((zoom!=NULL)?((*zoom)*AspectRatio):(*h)))) {
- *x=newX/xmax;
- *y=newY/ymax;
- if (zoom) {
- if (newW!=xmax*(*((zoom!=NULL)?zoom:w))) {
- if (KeepAspectRatio) {
- *zoom=newW/xmax;
- } else {
- *zoom=newW/xmax;
- AspectRatio=newH/newW;
- }
- } else if (newH!=ymax*((zoom!=NULL)?((*zoom)*AspectRatio):(*h))) {
- if (KeepAspectRatio) {
- newW=newH/AspectRatio;
- *zoom=newW/xmax;
- } else {
- AspectRatio=newH/newW;
- }
- }
- } else {
- if (newW!=xmax*(*w)) {
- *w=newW/xmax;
- if (KeepAspectRatio) {
- newH=xmax*((*w)*AspectRatio);
- *h =newH/ymax;
- }
- } else if (newH!=ymax*(*h)) {
- *h=newH/ymax;
- if (KeepAspectRatio) {
- newW=ymax*((*h)/AspectRatio);
- *w =newW/xmax;
- }
- }
- }
- setPos(newX,newY);
- QRectF Rect=mapRectFromScene(QRectF(newX,newY,newW,newH));
- setRect(Rect);
- SendRefreshBackgroundImage();
- }
-}
diff --git a/src/ffDiaporama/cCustomGraphicsRectItem.h b/src/ffDiaporama/cCustomGraphicsRectItem.h
deleted file mode 100755
index 66cfa5f..0000000
--- a/src/ffDiaporama/cCustomGraphicsRectItem.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef CCUSTOMGRAPHICSRECTITEM_H
-#define CCUSTOMGRAPHICSRECTITEM_H
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-
-// Specific inclusions
-#include "_Diaporama.h"
-
-#include <QGraphicsRectItem>
-#include <QGraphicsScene>
-
-//======================================
-// Specific defines for this dialog box
-//======================================
-#define TYPE_wgt_QCompositionWidget 0
-#define TYPE_DlgSlideProperties 1
-#define TYPE_DlgImageCorrection 2
-
-struct sMagneticRuler {
- bool MagneticRuler;
- double MagnetX1;
- double MagnetY1;
- double MagnetX2;
- double MagnetY2;
- double MagnetX3; // Centering
- double MagnetY3; // Centering
-};
-
-//---------------------------------------------------------------------------------------------------------------------------------------------------------------
-// class use to add interractive resize to QGraphicsRectItem object
-//---------------------------------------------------------------------------------------------------------------------------------------------------------------
-class cCustomGraphicsRectItem;
-class cResizeGraphicsRectItem : public QGraphicsRectItem {
-public:
- cCustomGraphicsRectItem *RectItem;
- int ZValue;
- int TypeItem;
- bool IsCapture;
- bool BlockRecursion;
- int CurrentPenWith;
-
- explicit cResizeGraphicsRectItem(QGraphicsScene *scene,cCustomGraphicsRectItem *RectItem,int ZValue,int TypeItem,QGraphicsItem *parent=NULL);
- virtual ~cResizeGraphicsRectItem();
-
- void CalcPosition();
-
-protected:
- virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
- virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
- virtual QVariant itemChange(GraphicsItemChange change,const QVariant &value);
- virtual void paint(QPainter *painter,const QStyleOptionGraphicsItem *option,QWidget *widget=NULL);
-
-private:
- void ResizeUpperLeft(QPointF &newpos);
- void ResizeUpperRight(QPointF &newpos);
- void ResizeBottomLeft(QPointF &newpos);
- void ResizeBottomRight(QPointF &newpos);
- void ResizeUpper(QPointF &newpos);
- void ResizeBottom(QPointF &newpos);
- void ResizeLeft(QPointF &newpos);
- void ResizeRight(QPointF &newpos);
-};
-
-//---------------------------------------------------------------------------------------------------------------------------------------------------------------
-// class use to crop rectangle into the image
-//---------------------------------------------------------------------------------------------------------------------------------------------------------------
-
-class cCustomGraphicsRectItem : public QGraphicsRectItem {
-public:
- QWidget *ParentWidget;
- int ParentWidgetType;
- double *x,*y,*w,*h,*zoom;
- sMagneticRuler *MagneticRuler; // Link to MagneticRuler parent structure
- bool BlockZoomChange; // flag to block zoom changing during change % to pixel
- bool IsCapture;
- bool KeepAspectRatio; // true if aspect ratio is keep during resize
- double AspectRatio;
- int IndexKey;
- bool IsVisible;
-
- cResizeGraphicsRectItem *UpperLeft;
- cResizeGraphicsRectItem *UpperRight;
- cResizeGraphicsRectItem *BottomLeft;
- cResizeGraphicsRectItem *BottomRight;
- cResizeGraphicsRectItem *Upper;
- cResizeGraphicsRectItem *Bottom;
- cResizeGraphicsRectItem *Left;
- cResizeGraphicsRectItem *Right;
-
- explicit cCustomGraphicsRectItem(QGraphicsScene *scene,int ZValue,double *x,double *y,double *zoom,double *w,double *h,double xmax,double ymax,
- bool KeepAspectRatio,double AspectRatio,sMagneticRuler *MagneticRuler,QWidget *ParentWidget,int ParentWidgetType,
- int IndexKey,bool IsVisible);
- virtual ~cCustomGraphicsRectItem();
-
- void SendRefreshBackgroundImage();
- void RecalcEmbededResizeRectItem();
-
-protected:
- virtual void paint(QPainter *painter,const QStyleOptionGraphicsItem *option,QWidget *widget=0);
- virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
- virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
- virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
- virtual QVariant itemChange(GraphicsItemChange change,const QVariant &value);
- virtual void keyPressEvent(QKeyEvent *event);
-
-private:
- double StockW,StockH; // Stock value when zoom mode is use
-};
-
-#endif // CCUSTOMGRAPHICSRECTITEM_H
diff --git a/src/ffDiaporama/cCustomSlideTable.cpp b/src/ffDiaporama/cCustomSlideTable.cpp
new file mode 100755
index 0000000..64550f1
--- /dev/null
+++ b/src/ffDiaporama/cCustomSlideTable.cpp
@@ -0,0 +1,917 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#include "mainwindow.h"
+#include "cCustomSlideTable.h"
+
+#include <QHeaderView>
+#include <QScrollBar>
+#include <QInputDialog>
+#include <QLineEdit>
+#include <QMessageBox>
+
+//======================================
+// Specific defines for this dialog box
+//======================================
+#define TransitionSize 36
+#define WidgetSelection_Color Qt::blue
+#define WidgetDrag_Color Qt::red
+#define WidgetBackground_Color 0xC2C7CB
+#define WidgetBorder_Color Qt::black
+#define ObjectBackground_Ruller Qt::darkGray
+#define FirstMusic_Color Qt::green
+#define SecondMusic_Color Qt::darkGreen
+#define FirstSound_Color Qt::cyan
+#define SecondSound_Color Qt::darkCyan
+#define DotLine_Color Qt::white
+
+// Icons
+#define ICON_SHOTPRESENCE ":/img/TimelineShots.png" // FileName of icon representing shots in the timeline
+#define ICON_BLOCKPRESENCE ":/img/TimelineBlocks.png" // FileName of icon representing blocks in the timeline
+#define ICON_HAVEFILTER ":/img/Transform.png" // FileName of icon representing block with filter in the timeline
+#define ICON_PLAYERPAUSE ":/img/player_pause.png" // FileName of pause icon
+
+// Composition parameters
+#define SCALINGTEXTFACTOR 400
+
+//===========================================================================================================================
+
+wgt_QCustomThumbnails::wgt_QCustomThumbnails(QTableWidget *TheTimeline,int TheType) : QLabel(TheTimeline) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_QCustomThumbnails::wgt_QCustomThumbnails");
+ Timeline =TheTimeline;
+ Type =TheType;
+ HasBackGTransition =false;
+ BackGTransitionRect =QRect(0,0,0,0);
+ HasTransition =false;
+ TransitionRect =QRect(0,0,0,0);
+ HasSoundTrack =false;
+ SoundTrackRect =QRect(0,0,0,0);
+ BackgroundRect =QRect(0,0,0,0);
+ MediaObjectRect =QRect(0,0,0,0);
+ MusicTrackRect =QRect(0,0,0,0);
+
+ setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
+}
+
+//===========================================================================================================================
+
+wgt_QCustomThumbnails::~wgt_QCustomThumbnails() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_QCustomThumbnails::wgt_QCustomThumbnails");
+}
+
+//===========================================================================================================================
+// Double click handler : emit edit signal depending on mouse position
+//===========================================================================================================================
+
+void wgt_QCustomThumbnails::mouseDoubleClickEvent(QMouseEvent *Event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_QCustomThumbnails::mouseDoubleClickEvent");
+ int XPos=mapFromGlobal(QPoint(Event->globalX(),Event->globalY())).x();
+ int YPos=mapFromGlobal(QPoint(Event->globalX(),Event->globalY())).y();
+
+ if ((HasBackGTransition)&&(XPos>=BackGTransitionRect.left())&&(XPos<=BackGTransitionRect.right())&&(YPos>=BackGTransitionRect.top())&&(YPos<=BackGTransitionRect.bottom())) emit EditBackGTransition();
+ else if ((HasTransition)&&(XPos>=TransitionRect.left())&&(XPos<=TransitionRect.right())&&(YPos>=TransitionRect.top())&&(YPos<=TransitionRect.bottom())) emit EditTransition();
+ else if ((HasSoundTrack)&&(XPos>=SoundTrackRect.left())&&(XPos<=SoundTrackRect.right())&&(YPos>=SoundTrackRect.top())&&(YPos<=SoundTrackRect.bottom())) emit EditSoundTrack();
+ else if ((XPos>=BackgroundRect.left())&&(XPos<=BackgroundRect.right())&&(YPos>=BackgroundRect.top())&&(YPos<=BackgroundRect.bottom())) emit EditBackground();
+ else if ((XPos>=MediaObjectRect.left())&&(XPos<=MediaObjectRect.right())&&(YPos>=MediaObjectRect.top())&&(YPos<=MediaObjectRect.bottom())) emit EditMediaObject();
+ else if ((XPos>=MusicTrackRect.left())&&(XPos<=MusicTrackRect.right())&&(YPos>=MusicTrackRect.top())&&(YPos<=MusicTrackRect.bottom())) emit EditMusicTrack();
+}
+
+//===========================================================================================================================
+
+void wgt_QCustomThumbnails::paintEvent(QPaintEvent *) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_QCustomThumbnails::paintEvent");
+
+ QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
+ QPainter Painter(this);
+ Painter.setRenderHints(QPainter::Antialiasing|QPainter::TextAntialiasing|QPainter::SmoothPixmapTransform|QPainter::HighQualityAntialiasing|QPainter::NonCosmeticDefaultPen);
+
+ Painter.save();
+ cCustomSlideTable *Timeline=(cCustomSlideTable *)this->Timeline;
+
+ // Calc diaporama object number
+ int Col=0;
+ if (GlobalMainWindow->ApplicationConfig->PartitionMode) {
+ int Max=Timeline->NbrItem();
+ int NbrCol=Timeline->columnCount();
+ while ((Col<Max)&&(Timeline->cellWidget((Col/NbrCol),Col-(Col/NbrCol)*NbrCol)!=this)) Col++;
+ } else while ((Col<Timeline->columnCount())&&(Timeline->cellWidget(0,Col)!=this)) Col++;
+
+ cDiaporamaObject *Object = (Col<GlobalMainWindow->Diaporama->List.count())?GlobalMainWindow->Diaporama->List[Col]:NULL;
+
+ int TimelineHeight = GlobalMainWindow->ApplicationConfig->TimelineHeight;
+ bool IsTransition = (Object!=NULL)&&((Object->TransitionFamilly!=0)||(Object->TransitionSubType!=0));
+ double Width = double(this->width());
+ double Height = double(GlobalMainWindow->ApplicationConfig->TimelineHeight/2+ // Background
+ GlobalMainWindow->ApplicationConfig->TimelineHeight+ // Montage
+ TIMELINESOUNDHEIGHT*2); //this->height());
+ QPointF Table[10];
+
+ // Draw background widget
+ QPen Pen;
+ Pen.setWidth(1);
+ Pen.setStyle(Qt::SolidLine);
+ Pen.setColor(WidgetBorder_Color);
+ Painter.setPen(Pen);
+ Painter.setBrush(QBrush(QColor(WidgetBackground_Color)));
+ Painter.drawRect(-1,0,Width+2,Height-1);
+
+ if (Object) {
+
+ //==========================================================================================================================
+ // Track BACKGROUND
+ //==========================================================================================================================
+ Pen.setColor(ObjectBackground_Ruller);
+ Painter.setPen(Pen);
+ Painter.setBrush(QBrush(QColor(ObjectBackground_Ruller)));
+ Painter.drawRect(-1,(TimelineHeight/2-16)/2,Width+2,16);
+
+ int BackThumbHeight = TimelineHeight/2-6;
+ int BackThumbWidth = GlobalMainWindow->Diaporama->GetWidthForHeight(BackThumbHeight);
+ Object->Parent->PrepareBackground(Col,BackThumbWidth,BackThumbHeight,&Painter,TransitionSize+3,2); // Draw Thumb
+ DrawThumbnailsBox(TransitionSize+3,2,BackThumbWidth,BackThumbHeight,Painter,NULL);
+ BackgroundRect=QRect(TransitionSize+3,2,BackThumbWidth,BackThumbHeight);
+
+ //==========================================================================================================================
+ // Draw background transition box & icon
+ //==========================================================================================================================
+ if (Object->BackgroundType) {
+ HasBackGTransition =true;
+ BackGTransitionRect=QRect(0,0,TransitionSize,TransitionSize);
+ DrawThumbnailsBox(2,(TimelineHeight/2-32)/2,32,32,Painter,IsTransition?IconList.GetIcon(0,1):IconList.GetIcon(0,0));
+ }
+
+ //==========================================================================================================================
+ // Draw object transition box & icon
+ //==========================================================================================================================
+ HasTransition =true;
+ TransitionRect=QRect(0,TimelineHeight/2,TransitionSize,TransitionSize);
+ DrawThumbnailsBox(2,TimelineHeight/2+2-1,32,32,Painter,IsTransition?IconList.GetIcon(GlobalMainWindow->Diaporama->List[Col]->TransitionFamilly,GlobalMainWindow->Diaporama->List[Col]->TransitionSubType):IconList.GetIcon(0,0));
+
+
+ //==========================================================================================================================
+ // Track OBJECTSEQUENCE
+ //==========================================================================================================================
+ int ThumbHeight = Height-TimelineHeight/2-TIMELINESOUNDHEIGHT*2-5;
+ int ThumbWidth = GlobalMainWindow->Diaporama->GetWidthForHeight(ThumbHeight);
+ int NewThumbHeight = ThumbHeight-TIMELINESOUNDHEIGHT-2;
+ int NewThumbWidth = GlobalMainWindow->Diaporama->GetWidthForHeight(NewThumbHeight);
+ int BarWidth = (ThumbWidth-NewThumbWidth)/2;
+ bool HaveSound = false;
+ double SoundVolume = 0;
+ bool PreviousHaveSound = false;
+ double PreviousSoundVolume = 0;
+ bool HaveFilter =false;
+
+ // Search it at least one block have filter
+ for (int obj=0;obj<Object->ObjectComposition.List.count();obj++)
+ if (((Object->ObjectComposition.List[obj]->BackgroundBrush->Image)&&((Object->ObjectComposition.List[obj]->BackgroundBrush->Image->BrushFileTransform.HaveFilter())))||
+ ((Object->ObjectComposition.List[obj]->BackgroundBrush->Video)&&((Object->ObjectComposition.List[obj]->BackgroundBrush->Video->BrushFileTransform.HaveFilter())))) HaveFilter=true;
+
+ // Parse current ObjectComposition table to determine if slide have sound
+ for (int i=0;i<Object->ObjectComposition.List.count();i++) if ((Object->ObjectComposition.List[i]->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)&&
+ (Object->ObjectComposition.List[i]->BackgroundBrush->Video)) {
+ HaveSound=true;
+ // Parse all object from all shot to determine max volume
+ for (int v=0;v<Object->List.count();v++) for (int w=0;w<Object->List[v]->ShotComposition.List.count();w++)
+ if ((Object->List[v]->ShotComposition.List[w]->IndexKey==Object->ObjectComposition.List[i]->IndexKey)&&
+ (Object->List[v]->ShotComposition.List[w]->BackgroundBrush->SoundVolume>SoundVolume))
+ SoundVolume=Object->List[v]->ShotComposition.List[w]->BackgroundBrush->SoundVolume;
+ }
+
+ // Parse previous object.ObjectComposition table to determine if previous slide have sound
+ if (Col>0) {
+ for (int i=0;i<GlobalMainWindow->Diaporama->List[Col-1]->ObjectComposition.List.count();i++)
+ if ((GlobalMainWindow->Diaporama->List[Col-1]->ObjectComposition.List[i]->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)&&
+ (GlobalMainWindow->Diaporama->List[Col-1]->ObjectComposition.List[i]->BackgroundBrush->Video)&&
+ (GlobalMainWindow->Diaporama->List[Col-1]->ObjectComposition.List[i]->BackgroundBrush->SoundVolume!=0)) {
+
+ PreviousHaveSound=true;
+ // Parse all object from all shot to determine max volume
+ for (int v=0;v<GlobalMainWindow->Diaporama->List[Col-1]->List.count();v++) for (int w=0;w<GlobalMainWindow->Diaporama->List[Col-1]->List[v]->ShotComposition.List.count();w++)
+ if ((GlobalMainWindow->Diaporama->List[Col-1]->List[v]->ShotComposition.List[w]->IndexKey==GlobalMainWindow->Diaporama->List[Col-1]->ObjectComposition.List[i]->IndexKey)&&
+ (GlobalMainWindow->Diaporama->List[Col-1]->List[v]->ShotComposition.List[w]->BackgroundBrush->SoundVolume>PreviousSoundVolume))
+ PreviousSoundVolume=GlobalMainWindow->Diaporama->List[Col-1]->List[v]->ShotComposition.List[w]->BackgroundBrush->SoundVolume;
+ }
+ }
+
+ // Draw transition out of previous track
+ if (IsTransition && PreviousHaveSound && !HaveSound) {
+ Pen.setColor(ObjectBackground_Ruller);
+ Pen.setWidth(1);
+ Pen.setStyle(Qt::SolidLine);
+ Painter.setPen(Pen);
+ Painter.setBrush(QBrush(QColor(ObjectBackground_Ruller)));
+ Table[0]=QPointF(0,Height-TIMELINESOUNDHEIGHT*2-TIMELINESOUNDHEIGHT-2);
+ Table[1]=QPointF(TransitionSize,Height-TIMELINESOUNDHEIGHT*2-2);
+ Table[2]=QPointF(0,Height-TIMELINESOUNDHEIGHT*2-2);
+ Painter.drawPolygon(Table,3);
+ // Draw transition out for this (previous) soundtrack
+ Pen.setColor(((Col&0x1)!=0x1)?FirstSound_Color:SecondSound_Color);
+ Pen.setWidth(1);
+ Pen.setStyle(Qt::SolidLine);
+ Painter.setPen(Pen);
+ Painter.setBrush(QBrush(QColor(((Col&0x1)!=0x1)?FirstSound_Color:SecondSound_Color)));
+ int RHeightPrevious=int(double(TIMELINESOUNDHEIGHT)*(PreviousSoundVolume/1.5));
+ Table[0]=QPointF(0,Height-TIMELINESOUNDHEIGHT*2-RHeightPrevious-2);
+ Table[1]=QPointF(TransitionSize,Height-TIMELINESOUNDHEIGHT*2-2);
+ Table[2]=QPointF(0,Height-TIMELINESOUNDHEIGHT*2-2);
+ Painter.drawPolygon(Table,3);
+ }
+
+ if (!HaveSound) {
+ // Display a thumb with no sound
+ Painter.fillRect(TransitionSize+3,TimelineHeight/2+2-1,ThumbWidth,ThumbHeight,Transparent);
+ Object->DrawThumbnail(ThumbWidth+2,ThumbHeight+2,&Painter,TransitionSize+3,TimelineHeight/2+2-1); // Draw Thumb
+ if (Object->ObjectComposition.List.count()>1) Painter.drawImage(TransitionSize+3+8,2-1+ThumbHeight-32,QImage(ICON_BLOCKPRESENCE)); // Add mark if multiple block
+ if (Object->List.count()>1) Painter.drawImage(TransitionSize+3+ThumbWidth-32,2-1+ThumbHeight-32,QImage(ICON_SHOTPRESENCE)); // Add mark if multiple shot
+ if (HaveFilter) Painter.drawImage(TransitionSize+3+ThumbWidth-32,2-1+ThumbHeight-32+24,QImage(ICON_HAVEFILTER)); // Add mark if at least one block have filter
+ DrawThumbnailsBox(TransitionSize+3,TimelineHeight/2+2-1,ThumbWidth,ThumbHeight,Painter,NULL);
+ MediaObjectRect=QRect(TransitionSize+3,TimelineHeight/2+2-1,ThumbWidth,ThumbHeight);
+
+ } else {
+ // Display a thumb with sound track
+
+ int H3 =NewThumbHeight/5;
+ int HH3 =(NewThumbHeight-H3*3)/4;
+ int RHeight =int(double(TIMELINESOUNDHEIGHT)*(SoundVolume/1.5));
+
+ // Draw thumb part
+ Painter.fillRect(TransitionSize+3,TimelineHeight/2+2-1,ThumbWidth,NewThumbHeight,Transparent);
+ Object->DrawThumbnail(NewThumbWidth+2,NewThumbHeight+4,&Painter,TransitionSize+3+BarWidth-1,TimelineHeight/2-1); // Draw Thumb
+
+ QPen Pen;
+ Pen.setWidth(1);
+ Painter.setBrush(Qt::NoBrush);
+ Pen.setColor(Qt::black); Painter.setPen(Pen); Painter.drawRect(TransitionSize+3-2,TimelineHeight/2+1-2,ThumbWidth+4,NewThumbHeight+4);
+ Pen.setColor(Qt::darkGray); Painter.setPen(Pen); Painter.drawRect(TransitionSize+3-1,TimelineHeight/2+1-1,ThumbWidth+2,NewThumbHeight+2);
+ Pen.setColor(Qt::white); Painter.setPen(Pen); Painter.drawRect(TransitionSize+3, TimelineHeight/2+1, ThumbWidth, NewThumbHeight);
+ Painter.drawRect(TransitionSize+3+BarWidth-1,TimelineHeight/2+1,NewThumbWidth+1,NewThumbHeight);
+
+ MediaObjectRect=QRect(TransitionSize+3, TimelineHeight/2+2-1, ThumbWidth, NewThumbHeight);
+
+ // Draw black bar for cinema decoration at left & right
+ Painter.fillRect(TransitionSize+3, TimelineHeight/2+2, BarWidth-2, NewThumbHeight-1,QBrush(Qt::black));
+ Painter.fillRect(TransitionSize+3+BarWidth+NewThumbWidth+2-1, TimelineHeight/2+2, ThumbWidth-NewThumbWidth-BarWidth-2+1, NewThumbHeight-1,QBrush(Qt::black));
+
+ // Draw cinema decoration at left & right
+ int YPos=Height-TimelineHeight/2-TIMELINESOUNDHEIGHT*2-(ThumbHeight-2)/2;
+ for (int HH=0;HH<3;HH++) {
+ Painter.fillRect(TransitionSize+3+4, YPos+HH3+(H3+HH3)*HH-1, BarWidth-2-8, H3,QBrush(Qt::lightGray));
+ Painter.fillRect(TransitionSize+3+BarWidth+NewThumbWidth+2+4, YPos+HH3+(H3+HH3)*HH-1, BarWidth-2-8, H3,QBrush(Qt::lightGray));
+ }
+ if (Object->ObjectComposition.List.count()>1) Painter.drawImage(TransitionSize+3,TimelineHeight/2+2-1+NewThumbHeight-48-4,QImage(ICON_BLOCKPRESENCE)); // Add mark if multiple block
+ if (Object->List.count()>1) Painter.drawImage(TransitionSize+3+BarWidth*2+NewThumbWidth-24-2,TimelineHeight/2+2-1+NewThumbHeight-48-4,QImage(ICON_SHOTPRESENCE)); // Add mark if multiple shot
+ if (HaveFilter) Painter.drawImage(TransitionSize+3+BarWidth*2+NewThumbWidth-24-2,TimelineHeight/2+2-1+NewThumbHeight-24-4,QImage(ICON_HAVEFILTER)); // Add mark if at least one block have filter
+
+ // Draw background for soundtrack
+ Pen.setColor(ObjectBackground_Ruller);
+ Pen.setWidth(1);
+ Pen.setStyle(Qt::SolidLine);
+ Painter.setPen(Pen);
+ Painter.setBrush(QBrush(QColor(ObjectBackground_Ruller)));
+ Painter.drawRect(0,Height-2-TIMELINESOUNDHEIGHT*2-TIMELINESOUNDHEIGHT,Width,TIMELINESOUNDHEIGHT);
+ SoundTrackRect=QRect(0,Height-2-TIMELINESOUNDHEIGHT*2-TIMELINESOUNDHEIGHT,Width,TIMELINESOUNDHEIGHT);
+ HasSoundTrack =true;
+
+ // Draw transitions
+ if (IsTransition) {
+ // Draw transition out for previous soundtrack
+ if ((Col>0)&&(PreviousHaveSound)) {
+ Pen.setColor(((Col&0x1)!=0x1)?FirstSound_Color:SecondSound_Color);
+ Pen.setWidth(1);
+ Pen.setStyle(Qt::SolidLine);
+ Painter.setPen(Pen);
+ Painter.setBrush(QBrush(QColor(((Col&0x1)!=0x1)?FirstSound_Color:SecondSound_Color)));
+ int RHeightPrevious=int(double(TIMELINESOUNDHEIGHT)*(PreviousSoundVolume/1.5));
+ Table[0]=QPointF(0,Height-2-RHeightPrevious-TIMELINESOUNDHEIGHT*2);
+ Table[1]=QPointF(TransitionSize,Height-2-TIMELINESOUNDHEIGHT*2);
+ Table[2]=QPointF(0,Height-2-TIMELINESOUNDHEIGHT*2);
+ Painter.drawPolygon(Table,3);
+ }
+ // Draw in transition + soundtrack
+ Pen.setColor(((Col&0x1)==0x1)?FirstSound_Color:SecondSound_Color);
+ Pen.setWidth(1);
+ Pen.setStyle(Qt::SolidLine);
+ Painter.setPen(Pen);
+ Painter.setBrush(QBrush(QColor(((Col&0x1)==0x1)?FirstSound_Color:SecondSound_Color)));
+ Table[0]=QPointF(0,Height-2-TIMELINESOUNDHEIGHT*2);
+ Table[1]=QPointF(TransitionSize,Height-2-RHeight-TIMELINESOUNDHEIGHT*2);
+ Table[2]=QPointF(Width,Height-2-RHeight-TIMELINESOUNDHEIGHT*2); // Draw soundtrack without transition
+ Table[3]=QPointF(Width,Height-2-TIMELINESOUNDHEIGHT*2);
+ Painter.drawPolygon(Table,4);
+ } else {
+ Pen.setColor(((Col&0x1)==0x1)?FirstSound_Color:SecondSound_Color);
+ Pen.setWidth(1);
+ Pen.setStyle(Qt::SolidLine);
+ Painter.setPen(Pen);
+ Painter.setBrush(QBrush(QColor(((Col&0x1)==0x1)?FirstSound_Color:SecondSound_Color)));
+ Table[0]=QPointF(0,Height-2-TIMELINESOUNDHEIGHT*2);
+ Table[1]=QPointF(0,Height-2-RHeight-TIMELINESOUNDHEIGHT*2);
+ Table[2]=QPointF(Width,Height-2-RHeight-TIMELINESOUNDHEIGHT*2); // Draw soundtrack without transition
+ Table[3]=QPointF(Width,Height-2-TIMELINESOUNDHEIGHT*2);
+ Painter.drawPolygon(Table,4);
+ }
+ }
+
+ // Draw transition duration, slide duration and slide name
+ QFont font= QApplication::font();
+ font.setPointSizeF(double(3500)/double(SCALINGTEXTFACTOR)); // Scale font
+ Painter.setFont(font);
+ Pen.setWidth(1);
+ Pen.setStyle(Qt::SolidLine);
+ QString SlideDuration=QTime(0,0,0,0).addMSecs(Object->GetDuration()).toString("hh:mm:ss.zzz");
+ QString FileName=Object->SlideName;
+ QString TransitionDuration=QTime(0,0,0,0).addMSecs(Object->GetTransitDuration()).toString("ss.z");
+ QString SlideNumber=QString("%1").arg(Col+1);
+ // Chapter TAG
+ if (Col==0) Painter.drawImage(2,2,QImage(":/img/Chapter.png"));
+ else if (Object->StartNewChapter) Painter.drawImage(TransitionSize+3,2,QImage(":/img/Chapter.png"));
+ if (TransitionDuration[0]=='0') TransitionDuration=TransitionDuration.right(TransitionDuration.length()-1); // Cut first 0
+ while (TransitionDuration.endsWith("0")) TransitionDuration=TransitionDuration.left(TransitionDuration.length()-1);
+ while (TransitionDuration.endsWith(".")) TransitionDuration=TransitionDuration.left(TransitionDuration.length()-1);
+
+ if (Object->TypeObject==DIAPORAMAOBJECTTYPE_VIDEO) {
+ Pen.setColor(Qt::black);
+ Painter.setPen(Pen);
+ Painter.drawText(QRectF(TransitionSize+3+BarWidth+1,TimelineHeight/2+2-1+1,NewThumbWidth,16),SlideDuration,Qt::AlignHCenter|Qt::AlignVCenter);
+ Painter.drawText(QRectF(TransitionSize+3+BarWidth+1,TimelineHeight/2+2-1+1+NewThumbHeight-16,NewThumbWidth,16),FileName,Qt::AlignHCenter|Qt::AlignVCenter);
+ Painter.drawText(QRectF(2+1,TimelineHeight/2+2-1+34+1,32,16),TransitionDuration,Qt::AlignHCenter|Qt::AlignVCenter);
+ Painter.drawText(QRectF(BackThumbWidth+2+1,(TimelineHeight/2-16)/2+1,Width-BackThumbWidth-4,16),SlideNumber,Qt::AlignHCenter|Qt::AlignVCenter);
+
+ Pen.setColor(Qt::white);
+ Painter.setPen(Pen);
+ Painter.drawText(QRectF(TransitionSize+3+BarWidth,TimelineHeight/2+2-1,NewThumbWidth,16),SlideDuration,Qt::AlignHCenter|Qt::AlignVCenter);
+ Painter.drawText(QRectF(TransitionSize+3+BarWidth,TimelineHeight/2+2-1+NewThumbHeight-16,NewThumbWidth,16),FileName,Qt::AlignHCenter|Qt::AlignVCenter);
+ Painter.drawText(QRectF(2,TimelineHeight/2+2-1+34,32,16),TransitionDuration,Qt::AlignHCenter|Qt::AlignVCenter);
+ Painter.drawText(QRectF(BackThumbWidth+2,(TimelineHeight/2-16)/2,Width-BackThumbWidth-4,16),SlideNumber,Qt::AlignHCenter|Qt::AlignVCenter);
+ } else {
+ Pen.setColor(Qt::black);
+ Painter.setPen(Pen);
+ Painter.drawText(QRectF(TransitionSize+3+1,TimelineHeight/2+2-1+1,ThumbWidth,16),SlideDuration,Qt::AlignHCenter|Qt::AlignVCenter);
+ Painter.drawText(QRectF(TransitionSize+3+1,TimelineHeight/2+2-1+1+ThumbHeight-16,ThumbWidth,16),FileName,Qt::AlignHCenter|Qt::AlignVCenter);
+ Painter.drawText(QRectF(2+1,TimelineHeight/2+2-1+34+1,32,16),TransitionDuration,Qt::AlignHCenter|Qt::AlignVCenter);
+ Painter.drawText(QRectF(BackThumbWidth+2+1,(TimelineHeight/2-16)/2+1,Width-BackThumbWidth-4,16),SlideNumber,Qt::AlignHCenter|Qt::AlignVCenter);
+
+ Pen.setColor(Qt::white);
+ Painter.setPen(Pen);
+ Painter.drawText(QRectF(TransitionSize+3,TimelineHeight/2+2-1,ThumbWidth,16),SlideDuration,Qt::AlignHCenter|Qt::AlignVCenter);
+ Painter.drawText(QRectF(TransitionSize+3,TimelineHeight/2+2-1+ThumbHeight-16,ThumbWidth,16),FileName,Qt::AlignHCenter|Qt::AlignVCenter);
+ Painter.drawText(QRectF(2,TimelineHeight/2+2-1+34,32,16),TransitionDuration,Qt::AlignHCenter|Qt::AlignVCenter);
+ Painter.drawText(QRectF(BackThumbWidth+2,(TimelineHeight/2-16)/2,Width-BackThumbWidth-4,16),SlideNumber,Qt::AlignHCenter|Qt::AlignVCenter);
+ }
+
+ //==========================================================================================================================
+ // Track OBJECTMUSIC
+ //==========================================================================================================================
+ Height -=4;
+ MusicTrackRect=QRect(-1,Height-TIMELINESOUNDHEIGHT*2,Width+2,TIMELINESOUNDHEIGHT*2);
+ HasSoundTrack =true;
+
+ int CurrentCountObjet =0;
+ qlonglong StartPosition =0;
+ qlonglong NextStartPosition =0;
+ double CurrentFactor =Object->MusicPause?0:Object->MusicReduceVolume?Object->MusicReduceFactor:1;
+ double PreviousFactor =0;
+
+ if ((Col>0)&&(Object->Parent->GetMusicObject(Col-1,StartPosition)!=NULL))
+ PreviousFactor=(Object->Parent->List[Col-1]->MusicPause)?0:(Object->Parent->List[Col-1]->MusicReduceVolume)?Object->Parent->List[Col-1]->MusicReduceFactor:1;
+
+ bool EndMusic =true;
+ bool DrawVolumeTransition=(PreviousFactor!=CurrentFactor);
+ bool DrawInTransition =false;
+ bool DrawOutTransition =false;
+ bool DrawOutCut =false;
+ bool DrawPause =false;
+ int RHeight =int(TIMELINESOUNDHEIGHT*2*(CurrentFactor/1.5));
+ int PHeight =int(TIMELINESOUNDHEIGHT*2*(PreviousFactor/1.5));
+
+ if (Col>0) {
+ cMusicObject *PrevMusique=Object->Parent->GetMusicObject(Col-1,StartPosition);
+ if ((PrevMusique)&&((QTime(0,0,0,0).msecsTo(PrevMusique->Duration)-StartPosition)>Object->Parent->List[Col-1]->GetDuration())) DrawOutTransition=true;
+ }
+
+ // Calculate wich music will be use for this object and for the next object
+ int OwnerObjectMusic =0;
+ int OwnerObjectNextMusic=0;
+ cMusicObject *CurMusic =Object->Parent->GetMusicObject(Col,StartPosition,&CurrentCountObjet,&OwnerObjectMusic);
+ cMusicObject *NextMusic =NULL;
+
+ if ((Col+1)<Timeline->columnCount()) {
+ NextMusic=Object->Parent->GetMusicObject(Col+1,NextStartPosition,NULL,&OwnerObjectNextMusic);
+ //if (NextMusic==CurMusic) EndMusic=false;
+ if ((OwnerObjectMusic==OwnerObjectNextMusic)&&(CurMusic!=NULL)&&(NextMusic!=NULL)) EndMusic=false;
+ else if ((CurMusic)&&((QTime(0,0,0,0).msecsTo(CurMusic->Duration))-StartPosition>=Object->GetDuration())) EndMusic=false;
+ } else if (CurMusic) EndMusic=(QTime(0,0,0,0).msecsTo(CurMusic->Duration)-StartPosition)<Object->GetDuration();
+
+ if (CurMusic!=NULL) {
+ // Search if sound end during the slide
+ if (EndMusic) DrawOutCut=true;
+
+ // Start a new Playlist
+ if (Object->MusicType) {
+ if (Object->MusicList.count()>0) {
+ // Search if previous slide have music
+ if (((Col>0)&&(Object->Parent->GetMusicObject(Col-1,StartPosition)!=NULL))&&(IsTransition)) DrawInTransition=true;
+ DrawVolumeTransition=false;
+ }
+ // continue Playlist from a previous object
+ } else if (Object->MusicPause) DrawPause=true;
+ if (DrawInTransition && IsTransition) {
+ // Draw out transition from a previous object
+ if (DrawOutTransition) {
+ if ((CurrentCountObjet & 1)!=1) {
+ Painter.setBrush(QBrush(QColor(FirstMusic_Color)));
+ Pen.setColor(FirstMusic_Color);
+ } else {
+ Painter.setBrush(QBrush(QColor(SecondMusic_Color)));
+ Pen.setColor(SecondMusic_Color);
+ }
+ Pen.setWidth(0);
+ Painter.setPen(Pen);
+ Table[0]=QPointF(-1,Height-PHeight+2);
+ Table[1]=QPointF(34,Height+2);
+ Table[2]=QPointF(-1,Height+2);
+ Painter.drawPolygon(Table,3);
+ }
+ Table[0]=QPointF(-1,Height+2);
+ Table[1]=QPointF(34,Height-RHeight+2);
+ } else if (DrawVolumeTransition && IsTransition) {
+ Table[0]=QPointF(-1,Height-PHeight+2);
+ Table[1]=QPointF(34,Height-RHeight+2);
+ } else {
+ Table[0]=QPointF(-1,Height+2);
+ Table[1]=QPointF(-1,Height-RHeight+2);
+ }
+ if (DrawOutCut) {
+ Table[2]=QPointF(Width-34,Height-RHeight+2);
+ Table[3]=QPointF(Width-34,Height+2);
+ } else {
+ Table[2]=QPointF(Width+2,Height-RHeight+2);
+ Table[3]=QPointF(Width+2,Height+2);
+ }
+ Table[4]=QPointF(-1,Height+2);
+
+ if ((CurrentCountObjet & 1)==1) {
+ Painter.setBrush(QBrush(QColor(FirstMusic_Color)));
+ Pen.setColor(FirstMusic_Color);
+ } else {
+ Painter.setBrush(QBrush(QColor(SecondMusic_Color)));
+ Pen.setColor(SecondMusic_Color);
+ }
+ Pen.setWidth(0);
+ Painter.setPen(Pen);
+ Painter.drawPolygon(Table,5);
+
+ if (DrawPause) Painter.drawImage((Width-24-TransitionSize)/2+TransitionSize,Height-24,QImage(ICON_PLAYERPAUSE));
+ } else if (DrawOutTransition) {
+ // Draw out transition from a previous object
+ if ((CurrentCountObjet & 1)!=1) {
+ Painter.setBrush(QBrush(QColor(FirstMusic_Color)));
+ Pen.setColor(FirstMusic_Color);
+ } else {
+ Painter.setBrush(QBrush(QColor(SecondMusic_Color)));
+ Pen.setColor(SecondMusic_Color);
+ }
+ Pen.setWidth(0);
+ Painter.setPen(Pen);
+ Table[0]=QPointF(-1,Height-PHeight+2);
+ Table[1]=QPointF(34,Height+2);
+ Table[2]=QPointF(-1,Height+2);
+ Painter.drawPolygon(Table,3);
+ }
+
+ // Draw separated line
+ Height=double(GlobalMainWindow->ApplicationConfig->TimelineHeight/2+GlobalMainWindow->ApplicationConfig->TimelineHeight+TIMELINESOUNDHEIGHT*2);
+ Pen.setWidth(1);
+ Pen.setStyle(Qt::DotLine);
+ Pen.setColor(DotLine_Color);
+ Painter.setPen(Pen);
+ Painter.drawLine(QPointF(TransitionSize+1,this->height()-TIMELINESOUNDHEIGHT*2),QPointF(TransitionSize+1,Height-2));
+ Painter.drawLine(QPointF(this->width()-2, this->height()-TIMELINESOUNDHEIGHT*2),QPointF(this->width()-2,Height-2));
+ }
+
+ // --------------------------
+
+ Painter.restore();
+
+ // Draw selected box (if needed)
+ if (Col==GlobalMainWindow->Diaporama->CurrentCol) {
+ Painter.save();
+ Pen.setColor(WidgetSelection_Color);
+ Pen.setStyle(Qt::SolidLine);
+ Pen.setWidth(10);
+ Painter.setPen(Pen);
+ Painter.setBrush(Qt::NoBrush); //QBrush(QColor(WidgetSelection_Color)));
+ Painter.setOpacity(0.5);
+ Painter.drawRect(0,0,this->width(),Height);
+ Painter.setOpacity(1);
+ Painter.restore();
+ }
+ // Draw Drag & Drop inserting point (if needed)
+ if (((GlobalMainWindow->IsDragOn==1)&&(Col!=GlobalMainWindow->DragItemSource)&&((Col!=GlobalMainWindow->DragItemSource+1)||(GlobalMainWindow->DragItemSource!=GlobalMainWindow->Diaporama->List.count()-1))&&(Col<GlobalMainWindow->Diaporama->List.count())&&(
+ (Col==GlobalMainWindow->DragItemDest)||((Col==GlobalMainWindow->Diaporama->List.count()-1)&&(GlobalMainWindow->DragItemDest>=GlobalMainWindow->Diaporama->List.count()))))||
+ ((GlobalMainWindow->IsDragOn==2)&&((Col==GlobalMainWindow->DragItemDest)||((Col+1==GlobalMainWindow->DragItemDest)&&(Col=GlobalMainWindow->Diaporama->List.count()-1)))))
+ {
+ Painter.save();
+ Pen.setColor(WidgetDrag_Color);
+ Pen.setStyle(Qt::SolidLine);
+ Pen.setWidth(10);
+ Painter.setPen(Pen);
+ Painter.setBrush(Qt::NoBrush); //QBrush(QColor(WidgetSelection_Color)));
+ Painter.setOpacity(0.5);
+ if ((Col==GlobalMainWindow->Diaporama->List.count()-1)&&(GlobalMainWindow->DragItemDest>=GlobalMainWindow->Diaporama->List.count()))
+ Painter.drawRect(width(),0,width(),Height); else Painter.drawRect(0,0,0,Height);
+ Painter.setOpacity(1);
+ Painter.restore();
+ }
+ QApplication::restoreOverrideCursor();
+}
+
+//===========================================================================================================================
+
+void wgt_QCustomThumbnails::DrawThumbnailsBox(int Xa,int Ya,int Width,int Height,QPainter &Painter,QImage *Icon) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_QCustomThumbnails::DrawThumbnailsBox");
+ QPen Pen;
+ Pen.setWidth(1);
+ Pen.setColor(Qt::darkGray);
+ Painter.setPen(Pen);
+ Painter.setBrush(Qt::NoBrush);
+ Painter.drawRect(Xa-1,Ya-1,Width+4-1,Height+4-1);
+ Pen.setColor(Qt::white);
+ Painter.setPen(Pen);
+ Painter.drawRect(Xa-1,Ya-1,Width+2-1,Height+2-1);
+ Pen.setColor(Qt::black);
+ Painter.setPen(Pen);
+ Painter.drawRect(Xa-2,Ya-2,Width+4-1,Height+4-1);
+
+ // -------------------------- if Transition Icon
+ if (Icon) {
+ Painter.drawImage(QRect(Xa,Ya,32,32),*Icon);
+ delete Icon;
+ }
+}
+
+//********************************************************************************************************************
+// cCustomSlideTable
+//********************************************************************************************************************
+
+cCustomSlideTable::cCustomSlideTable(QWidget *parent):QTableWidget(parent) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomSlideTable::cCustomSlideTable");
+ PartitionMode=false;
+ horizontalHeader()->setResizeMode(QHeaderView::Fixed);
+ verticalHeader()->setResizeMode(QHeaderView::Fixed);
+ setSelectionBehavior(QAbstractItemView::SelectItems);
+ setSelectionMode(QAbstractItemView::SingleSelection);
+
+ setDragDropOverwriteMode(false);
+ setAcceptDrops(true);
+ setDropIndicatorShown(true);
+}
+
+//====================================================================================================================
+
+void cCustomSlideTable::dragEnterEvent(QDragEnterEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomSlideTable::dragEnterEvent");
+ GlobalMainWindow->IsDragOn=2;
+ GlobalMainWindow->DragItemSource=-1;
+ GlobalMainWindow->DragItemDest =-1;
+ setCursor(Qt::ClosedHandCursor);
+ event->acceptProposedAction();
+}
+
+void cCustomSlideTable::dropEvent(QDropEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomSlideTable::dropEvent");
+ GlobalMainWindow->IsDragOn=0;
+
+ QList<QUrl> urlList;
+ QString fName;
+ QFileInfo info;
+
+ if (event->mimeData()->hasUrls()) {
+ urlList = event->mimeData()->urls(); // returns list of QUrls
+ for (int i=0;i<urlList.count();i++) {
+ fName = urlList[i].toLocalFile(); // convert first QUrl to local path
+ info.setFile(fName); // information about file
+ if (info.isFile()) GlobalMainWindow->FileList.append(fName); // append file
+ }
+ }
+ event->acceptProposedAction();
+ if (GlobalMainWindow->FileList.count()>0) {
+ GlobalMainWindow->SavedCurIndex =GlobalMainWindow->DragItemDest>0?GlobalMainWindow->DragItemDest-1:0;
+ GlobalMainWindow->CurIndex =GlobalMainWindow->DragItemDest;
+ GlobalMainWindow->ToStatusBar(QApplication::translate("MainWindow","Add file to project :")+QFileInfo(GlobalMainWindow->FileList[0]).fileName());
+ GlobalMainWindow->DoAddDragAndDropFile();
+ }
+}
+
+void cCustomSlideTable::dragMoveEvent(QDragMoveEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomSlideTable::dragMoveEvent");
+ int ThumbWidth =GlobalMainWindow->Diaporama->GetWidthForHeight(GlobalMainWindow->ApplicationConfig->TimelineHeight-5)+32+ADJUSTXCOLUMN;
+ int ThumbHeight =GlobalMainWindow->ApplicationConfig->TimelineHeight/2+GlobalMainWindow->ApplicationConfig->TimelineHeight+TIMELINESOUNDHEIGHT*2;
+ int NbrX =width()/ThumbWidth;
+ int NbrY =height()/ThumbHeight; if (NbrY>rowCount()) NbrY=rowCount();
+ int ToUse =GlobalMainWindow->DragItemDest; if (GlobalMainWindow->DragItemDest==GlobalMainWindow->Diaporama->List.count()) ToUse--;
+ int row =PartitionMode?ToUse/NbrX:0;
+ int col =PartitionMode?ToUse-(ToUse/NbrX)*NbrX:ToUse;
+
+ // Get item number under mouse
+ int newrow=(event->pos().y()+verticalOffset())/ThumbHeight;
+ int newcol=(event->pos().x()+horizontalOffset())/ThumbWidth;
+ int Selected=(PartitionMode?newrow*NbrX+newcol:newcol);
+ if (Selected>GlobalMainWindow->Diaporama->List.count()) Selected=GlobalMainWindow->Diaporama->List.count();
+ if (Selected<0) Selected=0;
+
+ if (Selected!=GlobalMainWindow->DragItemDest) {
+ GlobalMainWindow->DragItemDest=-1;
+ wgt_QCustomThumbnails *ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
+ if (ItemToPaint) ItemToPaint->repaint();
+
+ GlobalMainWindow->DragItemDest=Selected;
+ int ToUse=GlobalMainWindow->DragItemDest;
+ if (GlobalMainWindow->DragItemDest==GlobalMainWindow->Diaporama->List.count()) ToUse--;
+ row=PartitionMode?ToUse/NbrX:0;
+ col=PartitionMode?ToUse-(ToUse/NbrX)*NbrX:ToUse;
+ ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
+ if (ItemToPaint) ItemToPaint->repaint();
+ }
+ event->acceptProposedAction();
+ setCursor(Qt::ClosedHandCursor);
+}
+
+//====================================================================================================================
+
+void cCustomSlideTable::mousePressEvent(QMouseEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomSlideTable::mousePressEvent");
+ QTableWidget::mousePressEvent(event);
+ if (GlobalMainWindow->IsDragOn==1) return;
+ setCursor(Qt::ArrowCursor);
+ GlobalMainWindow->IsDragOn=0;
+
+ // Get item number under mouse
+ int ThumbWidth =GlobalMainWindow->Diaporama->GetWidthForHeight(GlobalMainWindow->ApplicationConfig->TimelineHeight-5)+32+ADJUSTXCOLUMN;
+ int ThumbHeight=GlobalMainWindow->ApplicationConfig->TimelineHeight/2+GlobalMainWindow->ApplicationConfig->TimelineHeight+TIMELINESOUNDHEIGHT*2;
+ int row=(event->pos().y()+verticalOffset())/ThumbHeight;
+ int col=(event->pos().x()+horizontalOffset())/ThumbWidth;
+ int NbrX =width()/ThumbWidth;
+
+ int Selected=(PartitionMode?row*NbrX+col:col);
+
+ if ((Selected>=0)&&(Selected<NbrItem())) {
+ // if item is correct, check if it was previously selected. Then if not select it
+ if (Selected!=CurrentSelected()) SetCurrentCell(Selected); else {
+ // if it was previously selected then start a drag & drop operation
+ GlobalMainWindow->IsDragOn=1;
+ GlobalMainWindow->DragItemSource=Selected;
+ GlobalMainWindow->DragItemDest =Selected;
+ wgt_QCustomThumbnails *Previous=(wgt_QCustomThumbnails *)cellWidget(row,col); if (Previous) Previous->repaint();
+ setCursor(Qt::ClosedHandCursor);
+ }
+ }
+}
+
+void cCustomSlideTable::mouseMoveEvent(QMouseEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomSlideTable::mouseMoveEvent");
+ if (GlobalMainWindow->IsDragOn!=1) {
+ QTableWidget::mouseMoveEvent(event);
+ } else {
+ int ThumbWidth =GlobalMainWindow->Diaporama->GetWidthForHeight(GlobalMainWindow->ApplicationConfig->TimelineHeight-5)+32+ADJUSTXCOLUMN;
+ int ThumbHeight =GlobalMainWindow->ApplicationConfig->TimelineHeight/2+GlobalMainWindow->ApplicationConfig->TimelineHeight+TIMELINESOUNDHEIGHT*2;
+ int NbrX =width()/ThumbWidth;
+ int NbrY =height()/ThumbHeight; if (NbrY>rowCount()) NbrY=rowCount();
+ int ToUse =GlobalMainWindow->DragItemDest; if (GlobalMainWindow->DragItemDest==GlobalMainWindow->Diaporama->List.count()) ToUse--;
+ int row =PartitionMode?ToUse/NbrX:0;
+ int col =PartitionMode?ToUse-(ToUse/NbrX)*NbrX:ToUse;
+
+ if (event->pos().x()<0) {
+ if (GlobalMainWindow->DragItemDest!=-1) {
+ wgt_QCustomThumbnails *ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
+ GlobalMainWindow->DragItemDest=-1;
+ if (ItemToPaint) ItemToPaint->repaint();
+ }
+ setCursor(Qt::ForbiddenCursor);
+ // Try to scroll left if not partition mode
+ if ((!PartitionMode)&&(horizontalScrollBar()->value()>0)) horizontalScrollBar()->setValue(horizontalScrollBar()->value()-1);
+
+ } else if (event->pos().x()>=NbrX*ThumbWidth) {
+ if (GlobalMainWindow->DragItemDest!=-1) {
+ wgt_QCustomThumbnails *ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
+ GlobalMainWindow->DragItemDest=-1;
+ if (ItemToPaint) ItemToPaint->repaint();
+ }
+ setCursor(Qt::ForbiddenCursor);
+ // Try to scroll right if not partition mode
+ if ((!PartitionMode)&&(horizontalScrollBar()->value()<horizontalScrollBar()->maximum())) horizontalScrollBar()->setValue(horizontalScrollBar()->value()+1);
+
+ } else if (event->pos().y()<0) {
+ if (GlobalMainWindow->DragItemDest!=-1) {
+ wgt_QCustomThumbnails *ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
+ GlobalMainWindow->DragItemDest=-1;
+ if (ItemToPaint) ItemToPaint->repaint();
+ // Try to scroll up if partition mode
+ if ((PartitionMode)&&(verticalScrollBar()->value()>0)) verticalScrollBar()->setValue(verticalScrollBar()->value()-1);
+ }
+ setCursor(Qt::ForbiddenCursor);
+
+ } else if (event->pos().y()>=NbrY*ThumbHeight) {
+ if (GlobalMainWindow->DragItemDest!=-1) {
+ wgt_QCustomThumbnails *ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
+ GlobalMainWindow->DragItemDest=-1;
+ if (ItemToPaint) ItemToPaint->repaint();
+ }
+ setCursor(Qt::ForbiddenCursor);
+ // Try to scroll down if partition mode
+ if ((PartitionMode)&&(verticalScrollBar()->value()<verticalScrollBar()->maximum())) verticalScrollBar()->setValue(verticalScrollBar()->value()+1);
+
+ } else {
+ // Get item number under mouse
+ int newrow =(event->pos().y()+verticalOffset())/ThumbHeight;
+ int newcol =(event->pos().x()+horizontalOffset())/ThumbWidth;
+ int Selected=(PartitionMode?newrow*NbrX+newcol:newcol);
+ if ((Selected>NbrItem())||(Selected==GlobalMainWindow->DragItemSource)||(Selected==GlobalMainWindow->DragItemSource+1)) {
+ if (GlobalMainWindow->DragItemDest!=-1) {
+ wgt_QCustomThumbnails *ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
+ GlobalMainWindow->DragItemDest=-1;
+ if (ItemToPaint) ItemToPaint->repaint();
+ }
+ setCursor(Qt::ForbiddenCursor);
+ } else {
+ setCursor(Qt::ClosedHandCursor);
+ if (Selected!=GlobalMainWindow->DragItemDest) {
+ wgt_QCustomThumbnails *ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
+ GlobalMainWindow->DragItemDest=Selected;
+ if (ItemToPaint) ItemToPaint->repaint();
+ int ToUse=GlobalMainWindow->DragItemDest;
+ if (GlobalMainWindow->DragItemDest>=GlobalMainWindow->Diaporama->List.count()) ToUse--;
+ row=PartitionMode?ToUse/NbrX:0;
+ col=PartitionMode?ToUse-(ToUse/NbrX)*NbrX:ToUse;
+ ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
+ if (ItemToPaint) ItemToPaint->repaint();
+ }
+ }
+ }
+ }
+}
+
+void cCustomSlideTable::mouseReleaseEvent(QMouseEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomSlideTable::mouseReleaseEvent");
+ setCursor(Qt::ArrowCursor);
+ if (event->button()==Qt::RightButton) {
+ emit RightClickEvent(event);
+ } else if (GlobalMainWindow->IsDragOn!=1) {
+ QTableWidget::mouseReleaseEvent(event);
+ } else {
+ setCursor(Qt::ArrowCursor);
+ GlobalMainWindow->IsDragOn=false;
+ if (GlobalMainWindow->DragItemDest!=-1) emit DragMoveItem();
+ }
+}
+
+//====================================================================================================================
+
+void cCustomSlideTable::AddObjectToTimeLine(int CurIndex) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomSlideTable::AddObjectToTimeLine");
+ int ThumbWidth =GlobalMainWindow->Diaporama->GetWidthForHeight(GlobalMainWindow->ApplicationConfig->TimelineHeight-5)+32+ADJUSTXCOLUMN;
+ int ThumbHeight=GlobalMainWindow->ApplicationConfig->TimelineHeight/2+GlobalMainWindow->ApplicationConfig->TimelineHeight+TIMELINESOUNDHEIGHT*2;
+ int NbrX =viewport()->width()/ThumbWidth;
+
+ wgt_QCustomThumbnails *ObjectBackground=new wgt_QCustomThumbnails(this,THUMBNAILTYPE_OBJECT);
+ connect(ObjectBackground,SIGNAL(EditBackground()), GlobalMainWindow,SLOT(s_Event_DoubleClickedOnBackground()));
+ connect(ObjectBackground,SIGNAL(EditMediaObject()), GlobalMainWindow,SLOT(s_Event_DoubleClickedOnObject()));
+ connect(ObjectBackground,SIGNAL(EditTransition()), GlobalMainWindow,SLOT(s_Event_DoubleClickedOnTransition()));
+ connect(ObjectBackground,SIGNAL(EditSoundTrack()), GlobalMainWindow,SLOT(s_Event_DoubleClickedOnVideoSound()));
+ connect(ObjectBackground,SIGNAL(EditMusicTrack()), GlobalMainWindow,SLOT(s_Event_DoubleClickedOnMusic()));
+
+ if (PartitionMode) {
+ // Partition mode
+ CurIndex =NbrItem();
+ int CurrentRow =CurIndex/NbrX;
+ int CurrentCol =CurIndex-CurrentRow*NbrX;
+ if (CurrentRow>=rowCount()) {
+ insertRow(CurrentRow);
+ setRowHeight(CurrentRow,ThumbHeight);
+ for (int i=0;i<columnCount();i++) setCellWidget(CurrentRow,i,new wgt_QCustomThumbnails(this,THUMBNAILTYPE_NULL));
+ }
+ if (CurrentCol>=columnCount()) {
+ insertColumn(CurrentCol);
+ setColumnWidth(CurrentCol,ThumbWidth);
+ }
+ setCellWidget(CurrentRow,CurrentCol,ObjectBackground);
+
+ } else {
+ // Preview mode
+ if (rowCount()==0) {
+ insertRow(0);
+ setRowHeight(0,ThumbHeight);
+ }
+ insertColumn(CurIndex);
+ setColumnWidth(CurIndex,ThumbWidth);
+ setCellWidget(0,CurIndex,ObjectBackground);
+ }
+
+ if ((GlobalMainWindow->Diaporama->CurrentCol<0)||(GlobalMainWindow->Diaporama->CurrentCol==CurIndex)) {
+ GlobalMainWindow->Diaporama->CurrentCol=CurIndex;
+ GlobalMainWindow->AdjustRuller();
+ }
+}
+
+//====================================================================================================================
+
+void cCustomSlideTable::SetTimelineHeight(bool NewPartitionMode) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomSlideTable::SetTimelineHeight");
+ int Selected=CurrentSelected();
+ if (!NewPartitionMode) {
+ setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed);
+ int FixedHeight=15+ // Horizontal slider and marges
+ GlobalMainWindow->ApplicationConfig->TimelineHeight/2+ // Background
+ GlobalMainWindow->ApplicationConfig->TimelineHeight+ // Montage
+ TIMELINESOUNDHEIGHT*2+4; // Music
+ setFixedHeight(FixedHeight);
+ setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
+ } else {
+ setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
+ setMaximumHeight(QWIDGETSIZE_MAX);
+ setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
+ setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ }
+ QApplication::processEvents(); // Give time to Qt to redefine position of each control and timeline height !
+ PartitionMode=NewPartitionMode;
+ ResetDisplay(Selected);
+}
+
+//====================================================================================================================
+
+void cCustomSlideTable::ResetDisplay(int Selected) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomSlideTable::ResetDisplay");
+ GlobalMainWindow->FLAGSTOPITEMSELECTION=true;
+ setUpdatesEnabled(false);
+ CleanAll();
+ for (int i=0;i<GlobalMainWindow->Diaporama->List.count();i++) AddObjectToTimeLine(i);
+ GlobalMainWindow->FLAGSTOPITEMSELECTION=false;
+ SetCurrentCell(Selected);
+ setUpdatesEnabled(true); // Reset timeline painting
+}
+
+//====================================================================================================================
+
+int cCustomSlideTable::CurrentSelected() {
+ int NbrX=width()/(GlobalMainWindow->Diaporama->GetWidthForHeight(GlobalMainWindow->ApplicationConfig->TimelineHeight-5)+32+ADJUSTXCOLUMN);
+ int Selected=(PartitionMode?currentRow()*NbrX+currentColumn():currentColumn());
+ return Selected;
+}
+
+//====================================================================================================================
+
+int cCustomSlideTable::NbrItem() {
+ if (PartitionMode) {
+ int NbrCol=width()/(GlobalMainWindow->Diaporama->GetWidthForHeight(GlobalMainWindow->ApplicationConfig->TimelineHeight-5)+32+ADJUSTXCOLUMN);
+ int NbrRow=rowCount();
+ if (NbrRow>0) {
+ NbrRow--;
+ int z=0;
+ while ((cellWidget(NbrRow,z)!=NULL)&&(((wgt_QCustomThumbnails *)cellWidget(NbrRow,z))->Type!=THUMBNAILTYPE_NULL)) z++;
+ return NbrRow*NbrCol+z;
+ } else return 0;
+ } else return columnCount();
+}
+
+//====================================================================================================================
+
+void cCustomSlideTable::SetCurrentCell(int Index) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomSlideTable::SetCurrentCell");
+ setUpdatesEnabled(false);
+ if (GlobalMainWindow->ApplicationConfig->PartitionMode) {
+ int NbrCol=width()/(GlobalMainWindow->Diaporama->GetWidthForHeight(GlobalMainWindow->ApplicationConfig->TimelineHeight-5)+32+ADJUSTXCOLUMN);
+ if (NbrCol) setCurrentCell(Index/NbrCol,Index-(Index/NbrCol)*NbrCol);
+ } else setCurrentCell(0,Index);
+ setUpdatesEnabled(true);
+}
+
+//====================================================================================================================
+
+void cCustomSlideTable::CleanAll() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomSlideTable::CleanAll");
+ setUpdatesEnabled(false);
+ for (int i=0;i<rowCount();i++) for (int j=0;j<columnCount();j++) if (cellWidget(i,j)!=NULL) removeCellWidget(i,j);
+ while (columnCount()>0) removeColumn(columnCount()-1);
+ while (rowCount()) removeRow(rowCount()-1);
+ setUpdatesEnabled(true);
+}
+
diff --git a/src/ffDiaporama/cCustomSlideTable.h b/src/ffDiaporama/cCustomSlideTable.h
new file mode 100755
index 0000000..978469d
--- /dev/null
+++ b/src/ffDiaporama/cCustomSlideTable.h
@@ -0,0 +1,116 @@
+/* ======================================================================
+ This file is part of ffDiaporama
+ ffDiaporama is a tools to make diaporama as video
+ Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ ====================================================================== */
+
+#ifndef CCUSTOMSLIDETABLE_H
+#define CCUSTOMSLIDETABLE_H
+
+// Basic inclusions (common to all files)
+#include "../engine/_GlobalDefines.h"
+
+#include <QTableWidget>
+
+// Specific inclusions
+#include "_Diaporama.h"
+
+#include <QLabel>
+#include <QMouseEvent>
+
+// Thumbnails definitions
+#define ADJUSTXCOLUMN 10 // width to add to object image for display transition
+#define TIMELINEMINHEIGH 80 // min heigh of montage track
+#define TIMELINEMAXHEIGH 160 // max heigh of montage track
+#define TIMELINESOUNDHEIGHT 18 // Height of sound & music track
+
+// Thumbnail type definition
+#define THUMBNAILTYPE_OBJECT 0
+#define THUMBNAILTYPE_NULL 1
+
+//*****************************************************************************************************************************************
+
+class wgt_QCustomThumbnails : public QLabel {
+Q_OBJECT
+public:
+ int Type;
+ QTableWidget *Timeline;
+ bool HasBackGTransition;
+ QRect BackGTransitionRect;
+ bool HasTransition;
+ QRect TransitionRect;
+ bool HasSoundTrack;
+ QRect SoundTrackRect;
+ QRect BackgroundRect;
+ QRect MediaObjectRect;
+ QRect MusicTrackRect;
+
+ explicit wgt_QCustomThumbnails(QTableWidget *Timeline,int Type);
+ ~wgt_QCustomThumbnails();
+
+signals:
+ void EditTransition();
+ void EditSoundTrack();
+ void EditMediaObject();
+ void EditBackGTransition();
+ void EditBackground();
+ void EditMusicTrack();
+ void RightClick();
+
+public slots:
+
+protected:
+ virtual void mouseDoubleClickEvent(QMouseEvent * e);
+ virtual void paintEvent (QPaintEvent *);
+
+private:
+ void DrawThumbnailsBox(int Xa,int Ya,int Width,int Height,QPainter &Painter,QImage *Icon);
+};
+
+//*****************************************************************************************************************************************
+
+class cCustomSlideTable : public QTableWidget {
+Q_OBJECT
+public:
+ bool PartitionMode;
+
+ explicit cCustomSlideTable(QWidget *parent = 0);
+
+ void AddObjectToTimeLine(int CurIndex);
+ void SetTimelineHeight(bool NewPartitionMode);
+ int CurrentSelected();
+ int NbrItem();
+ void SetCurrentCell(int Index);
+ void CleanAll();
+ void ResetDisplay(int Selected);
+
+protected:
+ virtual void dragEnterEvent(QDragEnterEvent *event);
+ virtual void dragMoveEvent(QDragMoveEvent *event);
+ virtual void dropEvent(QDropEvent *event);
+ virtual void mousePressEvent(QMouseEvent *event);
+ virtual void mouseReleaseEvent(QMouseEvent *event);
+ virtual void mouseMoveEvent(QMouseEvent *event);
+
+private slots:
+
+signals:
+ void DragMoveItem();
+ void RightClickEvent(QMouseEvent *ev);
+};
+
+#endif // CCUSTOMSLIDETABLE_H
diff --git a/src/ffDiaporama/cCustomTableWidget.cpp b/src/ffDiaporama/cCustomTableWidget.cpp
deleted file mode 100755
index 881b826..0000000
--- a/src/ffDiaporama/cCustomTableWidget.cpp
+++ /dev/null
@@ -1,512 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "mainwindow.h"
-#include "wgt_QCustomThumbnails.h"
-#include "cCustomTableWidget.h"
-
-
-#include <QHeaderView>
-#include <QScrollBar>
-#include <QInputDialog>
-#include <QLineEdit>
-#include <QMessageBox>
-
-//********************************************************************************************************************
-// cCustomTableWidget
-//********************************************************************************************************************
-
-cCustomTableWidget::cCustomTableWidget(QWidget *parent):QTableWidget(parent) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomTableWidget::cCustomTableWidget");
- PartitionMode=false;
- horizontalHeader()->setResizeMode(QHeaderView::Fixed);
- verticalHeader()->setResizeMode(QHeaderView::Fixed);
- setSelectionBehavior(QAbstractItemView::SelectItems);
- setSelectionMode(QAbstractItemView::SingleSelection);
-
- setDragDropOverwriteMode(false);
- setAcceptDrops(true);
- setDropIndicatorShown(true);
-}
-
-//====================================================================================================================
-
-void cCustomTableWidget::dragEnterEvent(QDragEnterEvent *event) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomTableWidget::dragEnterEvent");
- GlobalMainWindow->IsDragOn=2;
- GlobalMainWindow->DragItemSource=-1;
- GlobalMainWindow->DragItemDest =-1;
- setCursor(Qt::ClosedHandCursor);
- event->acceptProposedAction();
-}
-
-void cCustomTableWidget::dropEvent(QDropEvent *event) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomTableWidget::dropEvent");
- GlobalMainWindow->IsDragOn=0;
-
- QList<QUrl> urlList;
- QString fName;
- QFileInfo info;
-
- if (event->mimeData()->hasUrls()) {
- urlList = event->mimeData()->urls(); // returns list of QUrls
- for (int i=0;i<urlList.count();i++) {
- fName = urlList[i].toLocalFile(); // convert first QUrl to local path
- info.setFile(fName); // information about file
- if (info.isFile()) GlobalMainWindow->FileList.append(fName); // append file
- }
- }
- event->acceptProposedAction();
- if (GlobalMainWindow->FileList.count()>0) {
- GlobalMainWindow->SavedCurIndex =GlobalMainWindow->DragItemDest>0?GlobalMainWindow->DragItemDest-1:0;
- GlobalMainWindow->CurIndex =GlobalMainWindow->DragItemDest;
- GlobalMainWindow->ToStatusBar(QApplication::translate("MainWindow","Add file to project :")+QFileInfo(GlobalMainWindow->FileList[0]).fileName());
- GlobalMainWindow->DoAddDragAndDropFile();
- }
-}
-
-void cCustomTableWidget::dragMoveEvent(QDragMoveEvent *event) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomTableWidget::dragMoveEvent");
- int ThumbWidth =GlobalMainWindow->Diaporama->GetWidthForHeight(GlobalMainWindow->ApplicationConfig->TimelineHeight-5)+32+ADJUSTXCOLUMN;
- int ThumbHeight =GlobalMainWindow->ApplicationConfig->TimelineHeight/2+GlobalMainWindow->ApplicationConfig->TimelineHeight+TIMELINESOUNDHEIGHT*2;
- int NbrX =width()/ThumbWidth;
- int NbrY =height()/ThumbHeight; if (NbrY>rowCount()) NbrY=rowCount();
- int ToUse =GlobalMainWindow->DragItemDest; if (GlobalMainWindow->DragItemDest==GlobalMainWindow->Diaporama->List.count()) ToUse--;
- int row =PartitionMode?ToUse/NbrX:0;
- int col =PartitionMode?ToUse-(ToUse/NbrX)*NbrX:ToUse;
-
- // Get item number under mouse
- int newrow=(event->pos().y()+verticalOffset())/ThumbHeight;
- int newcol=(event->pos().x()+horizontalOffset())/ThumbWidth;
- int Selected=(PartitionMode?newrow*NbrX+newcol:newcol);
- if (Selected>GlobalMainWindow->Diaporama->List.count()) Selected=GlobalMainWindow->Diaporama->List.count();
- if (Selected<0) Selected=0;
-
- if (Selected!=GlobalMainWindow->DragItemDest) {
- GlobalMainWindow->DragItemDest=-1;
- wgt_QCustomThumbnails *ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
- if (ItemToPaint) ItemToPaint->repaint();
-
- GlobalMainWindow->DragItemDest=Selected;
- int ToUse=GlobalMainWindow->DragItemDest;
- if (GlobalMainWindow->DragItemDest==GlobalMainWindow->Diaporama->List.count()) ToUse--;
- row=PartitionMode?ToUse/NbrX:0;
- col=PartitionMode?ToUse-(ToUse/NbrX)*NbrX:ToUse;
- ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
- if (ItemToPaint) ItemToPaint->repaint();
- }
- event->acceptProposedAction();
- setCursor(Qt::ClosedHandCursor);
-}
-
-//====================================================================================================================
-
-void cCustomTableWidget::mousePressEvent(QMouseEvent *event) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomTableWidget::mousePressEvent");
- if (GlobalMainWindow->IsDragOn==1) return;
- setCursor(Qt::ArrowCursor);
- GlobalMainWindow->IsDragOn=0;
-
- // Get item number under mouse
- int ThumbWidth =GlobalMainWindow->Diaporama->GetWidthForHeight(GlobalMainWindow->ApplicationConfig->TimelineHeight-5)+32+ADJUSTXCOLUMN;
- int ThumbHeight=GlobalMainWindow->ApplicationConfig->TimelineHeight/2+GlobalMainWindow->ApplicationConfig->TimelineHeight+TIMELINESOUNDHEIGHT*2;
- int row=(event->pos().y()+verticalOffset())/ThumbHeight;
- int col=(event->pos().x()+horizontalOffset())/ThumbWidth;
- int NbrX =width()/ThumbWidth;
-
- int Selected=(PartitionMode?row*NbrX+col:col);
-
- if ((Selected>=0)&&(Selected<NbrItem())) {
- // if item is correct, check if it was previously selected. Then if not select it
- if (Selected!=CurrentSelected()) SetCurrentCell(Selected); else {
- // if it was previously selected then start a drag & drop operation
- GlobalMainWindow->IsDragOn=1;
- GlobalMainWindow->DragItemSource=Selected;
- GlobalMainWindow->DragItemDest =Selected;
- wgt_QCustomThumbnails *Previous=(wgt_QCustomThumbnails *)cellWidget(row,col); if (Previous) Previous->repaint();
- setCursor(Qt::ClosedHandCursor);
- }
- }
-}
-
-void cCustomTableWidget::mouseMoveEvent(QMouseEvent *event) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomTableWidget::mouseMoveEvent");
- if (GlobalMainWindow->IsDragOn!=1) {
- //QTableWidget::mouseMoveEvent(event);
- } else {
- int ThumbWidth =GlobalMainWindow->Diaporama->GetWidthForHeight(GlobalMainWindow->ApplicationConfig->TimelineHeight-5)+32+ADJUSTXCOLUMN;
- int ThumbHeight =GlobalMainWindow->ApplicationConfig->TimelineHeight/2+GlobalMainWindow->ApplicationConfig->TimelineHeight+TIMELINESOUNDHEIGHT*2;
- int NbrX =width()/ThumbWidth;
- int NbrY =height()/ThumbHeight; if (NbrY>rowCount()) NbrY=rowCount();
- int ToUse =GlobalMainWindow->DragItemDest; if (GlobalMainWindow->DragItemDest==GlobalMainWindow->Diaporama->List.count()) ToUse--;
- int row =PartitionMode?ToUse/NbrX:0;
- int col =PartitionMode?ToUse-(ToUse/NbrX)*NbrX:ToUse;
-
- if (event->pos().x()<0) {
- if (GlobalMainWindow->DragItemDest!=-1) {
- wgt_QCustomThumbnails *ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
- GlobalMainWindow->DragItemDest=-1;
- if (ItemToPaint) ItemToPaint->repaint();
- }
- setCursor(Qt::ForbiddenCursor);
- // Try to scroll left if not partition mode
- if ((!PartitionMode)&&(horizontalScrollBar()->value()>0)) horizontalScrollBar()->setValue(horizontalScrollBar()->value()-1);
-
- } else if (event->pos().x()>=NbrX*ThumbWidth) {
- if (GlobalMainWindow->DragItemDest!=-1) {
- wgt_QCustomThumbnails *ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
- GlobalMainWindow->DragItemDest=-1;
- if (ItemToPaint) ItemToPaint->repaint();
- }
- setCursor(Qt::ForbiddenCursor);
- // Try to scroll right if not partition mode
- if ((!PartitionMode)&&(horizontalScrollBar()->value()<horizontalScrollBar()->maximum())) horizontalScrollBar()->setValue(horizontalScrollBar()->value()+1);
-
- } else if (event->pos().y()<0) {
- if (GlobalMainWindow->DragItemDest!=-1) {
- wgt_QCustomThumbnails *ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
- GlobalMainWindow->DragItemDest=-1;
- if (ItemToPaint) ItemToPaint->repaint();
- // Try to scroll up if partition mode
- if ((PartitionMode)&&(verticalScrollBar()->value()>0)) verticalScrollBar()->setValue(verticalScrollBar()->value()-1);
- }
- setCursor(Qt::ForbiddenCursor);
-
- } else if (event->pos().y()>=NbrY*ThumbHeight) {
- if (GlobalMainWindow->DragItemDest!=-1) {
- wgt_QCustomThumbnails *ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
- GlobalMainWindow->DragItemDest=-1;
- if (ItemToPaint) ItemToPaint->repaint();
- }
- setCursor(Qt::ForbiddenCursor);
- // Try to scroll down if partition mode
- if ((PartitionMode)&&(verticalScrollBar()->value()<verticalScrollBar()->maximum())) verticalScrollBar()->setValue(verticalScrollBar()->value()+1);
-
- } else {
- // Get item number under mouse
- int newrow =(event->pos().y()+verticalOffset())/ThumbHeight;
- int newcol =(event->pos().x()+horizontalOffset())/ThumbWidth;
- int Selected=(PartitionMode?newrow*NbrX+newcol:newcol);
- if ((Selected>NbrItem())||(Selected==GlobalMainWindow->DragItemSource)||(Selected==GlobalMainWindow->DragItemSource+1)) {
- if (GlobalMainWindow->DragItemDest!=-1) {
- wgt_QCustomThumbnails *ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
- GlobalMainWindow->DragItemDest=-1;
- if (ItemToPaint) ItemToPaint->repaint();
- }
- setCursor(Qt::ForbiddenCursor);
- } else {
- setCursor(Qt::ClosedHandCursor);
- if (Selected!=GlobalMainWindow->DragItemDest) {
- wgt_QCustomThumbnails *ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
- GlobalMainWindow->DragItemDest=Selected;
- if (ItemToPaint) ItemToPaint->repaint();
- int ToUse=GlobalMainWindow->DragItemDest;
- if (GlobalMainWindow->DragItemDest>=GlobalMainWindow->Diaporama->List.count()) ToUse--;
- row=PartitionMode?ToUse/NbrX:0;
- col=PartitionMode?ToUse-(ToUse/NbrX)*NbrX:ToUse;
- ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
- if (ItemToPaint) ItemToPaint->repaint();
- }
- }
- }
- }
-}
-
-void cCustomTableWidget::mouseReleaseEvent(QMouseEvent *event) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomTableWidget::mouseReleaseEvent");
- if (GlobalMainWindow->IsDragOn!=1) {
- QTableWidget::mouseReleaseEvent(event);
- } else {
- setCursor(Qt::ArrowCursor);
- GlobalMainWindow->IsDragOn=false;
- if (GlobalMainWindow->DragItemDest!=-1) emit DragMoveItem();
- }
-}
-
-//====================================================================================================================
-
-void cCustomTableWidget::AddObjectToTimeLine(int CurIndex) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomTableWidget::AddObjectToTimeLine");
- int ThumbWidth =GlobalMainWindow->Diaporama->GetWidthForHeight(GlobalMainWindow->ApplicationConfig->TimelineHeight-5)+32+ADJUSTXCOLUMN;
- int ThumbHeight=GlobalMainWindow->ApplicationConfig->TimelineHeight/2+GlobalMainWindow->ApplicationConfig->TimelineHeight+TIMELINESOUNDHEIGHT*2;
- int NbrX =viewport()->width()/ThumbWidth;
-
- wgt_QCustomThumbnails *ObjectBackground=new wgt_QCustomThumbnails(this,THUMBNAILTYPE_OBJECT);
- connect(ObjectBackground,SIGNAL(EditBackground()), GlobalMainWindow,SLOT(s_Event_DoubleClickedOnBackground()));
- connect(ObjectBackground,SIGNAL(EditBackGTransition()), GlobalMainWindow,SLOT(s_Event_DoubleClickedOnTransitionBackground()));
- connect(ObjectBackground,SIGNAL(EditMediaObject()), GlobalMainWindow,SLOT(s_Event_DoubleClickedOnObject()));
- connect(ObjectBackground,SIGNAL(EditTransition()), GlobalMainWindow,SLOT(s_Event_DoubleClickedOnTransition()));
- connect(ObjectBackground,SIGNAL(EditSoundTrack()), GlobalMainWindow,SLOT(s_Event_DoubleClickedOnVideoSound()));
- connect(ObjectBackground,SIGNAL(EditMusicTrack()), GlobalMainWindow,SLOT(s_Event_DoubleClickedOnMusic()));
-
- if (PartitionMode) {
- // Partition mode
- CurIndex =NbrItem();
- int CurrentRow =CurIndex/NbrX;
- int CurrentCol =CurIndex-CurrentRow*NbrX;
- if (CurrentRow>=rowCount()) {
- insertRow(CurrentRow);
- setRowHeight(CurrentRow,ThumbHeight);
- for (int i=0;i<columnCount();i++) setCellWidget(CurrentRow,i,new wgt_QCustomThumbnails(this,THUMBNAILTYPE_NULL));
- }
- if (CurrentCol>=columnCount()) {
- insertColumn(CurrentCol);
- setColumnWidth(CurrentCol,ThumbWidth);
- }
- setCellWidget(CurrentRow,CurrentCol,ObjectBackground);
-
- } else {
- // Preview mode
- if (rowCount()==0) {
- insertRow(0);
- setRowHeight(0,ThumbHeight);
- }
- insertColumn(CurIndex);
- setColumnWidth(CurIndex,ThumbWidth);
- setCellWidget(0,CurIndex,ObjectBackground);
- }
-
- if ((GlobalMainWindow->Diaporama->CurrentCol<0)||(GlobalMainWindow->Diaporama->CurrentCol==CurIndex)) {
- GlobalMainWindow->Diaporama->CurrentCol=CurIndex;
- GlobalMainWindow->AdjustRuller();
- }
-}
-
-//====================================================================================================================
-
-void cCustomTableWidget::SetTimelineHeight(bool NewPartitionMode) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomTableWidget::SetTimelineHeight");
- int Selected=CurrentSelected();
- if (!NewPartitionMode) {
- setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed);
- int FixedHeight=15+ // Horizontal slider and marges
- GlobalMainWindow->ApplicationConfig->TimelineHeight/2+ // Background
- GlobalMainWindow->ApplicationConfig->TimelineHeight+ // Montage
- TIMELINESOUNDHEIGHT*2+4; // Music
- setFixedHeight(FixedHeight);
- setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
- } else {
- setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
- setMaximumHeight(QWIDGETSIZE_MAX);
- setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
- setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- }
- QApplication::processEvents(); // Give time to Qt to redefine position of each control and timeline height !
- PartitionMode=NewPartitionMode;
- ResetDisplay(Selected);
-}
-
-//====================================================================================================================
-
-void cCustomTableWidget::ResetDisplay(int Selected) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomTableWidget::ResetDisplay");
- GlobalMainWindow->FLAGSTOPITEMSELECTION=true;
- setUpdatesEnabled(false);
- CleanAll();
- for (int i=0;i<GlobalMainWindow->Diaporama->List.count();i++) AddObjectToTimeLine(i);
- GlobalMainWindow->FLAGSTOPITEMSELECTION=false;
- SetCurrentCell(Selected);
- setUpdatesEnabled(true); // Reset timeline painting
-}
-
-//====================================================================================================================
-
-int cCustomTableWidget::CurrentSelected() {
- int NbrX=width()/(GlobalMainWindow->Diaporama->GetWidthForHeight(GlobalMainWindow->ApplicationConfig->TimelineHeight-5)+32+ADJUSTXCOLUMN);
- int Selected=(PartitionMode?currentRow()*NbrX+currentColumn():currentColumn());
- return Selected;
-}
-
-//====================================================================================================================
-
-int cCustomTableWidget::NbrItem() {
- if (PartitionMode) {
- int NbrCol=width()/(GlobalMainWindow->Diaporama->GetWidthForHeight(GlobalMainWindow->ApplicationConfig->TimelineHeight-5)+32+ADJUSTXCOLUMN);
- int NbrRow=rowCount();
- if (NbrRow>0) {
- NbrRow--;
- int z=0;
- while ((cellWidget(NbrRow,z)!=NULL)&&(((wgt_QCustomThumbnails *)cellWidget(NbrRow,z))->Type!=THUMBNAILTYPE_NULL)) z++;
- return NbrRow*NbrCol+z;
- } else return 0;
- } else return columnCount();
-}
-
-//====================================================================================================================
-
-void cCustomTableWidget::SetCurrentCell(int Index) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomTableWidget::SetCurrentCell");
- setUpdatesEnabled(false);
- if (GlobalMainWindow->ApplicationConfig->PartitionMode) {
- int NbrCol=width()/(GlobalMainWindow->Diaporama->GetWidthForHeight(GlobalMainWindow->ApplicationConfig->TimelineHeight-5)+32+ADJUSTXCOLUMN);
- if (NbrCol) setCurrentCell(Index/NbrCol,Index-(Index/NbrCol)*NbrCol);
- } else setCurrentCell(0,Index);
- setUpdatesEnabled(true);
-}
-
-//====================================================================================================================
-
-void cCustomTableWidget::CleanAll() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomTableWidget::CleanAll");
- setUpdatesEnabled(false);
- for (int i=0;i<rowCount();i++) for (int j=0;j<columnCount();j++) if (cellWidget(i,j)!=NULL) removeCellWidget(i,j);
- while (columnCount()>0) removeColumn(columnCount()-1);
- while (rowCount()) removeRow(rowCount()-1);
- setUpdatesEnabled(true);
-}
-
-//********************************************************************************************************************
-// cCustomTableWidget2
-//********************************************************************************************************************
-
-cCustomTableWidget2::cCustomTableWidget2(QWidget *parent):QTableWidget(parent) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomTableWidget2::cCustomTableWidget2");
- horizontalHeader()->setResizeMode(QHeaderView::Fixed);
- verticalHeader()->setResizeMode(QHeaderView::Fixed);
- setSelectionBehavior(QAbstractItemView::SelectItems);
- setSelectionMode(QAbstractItemView::SingleSelection);
-
- setDragDropOverwriteMode(false);
- setAcceptDrops(false);
- setDropIndicatorShown(false);
-}
-
-//====================================================================================================================
-
-void cCustomTableWidget2::mousePressEvent(QMouseEvent *event) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomTableWidget2::mousePressEvent");
- if (GlobalMainWindow->IsDragOn==1) return;
- setCursor(Qt::ArrowCursor);
- GlobalMainWindow->IsDragOn=0;
-
- // Get item number under mouse
- int ThumbHeight=rowHeight(0);
- int ThumbWidth =GlobalMainWindow->Diaporama->GetWidthForHeight(ThumbHeight);
- int row =(event->pos().y()+verticalOffset())/ThumbHeight;
- int col =(event->pos().x()+horizontalOffset())/ThumbWidth;
- int Selected =col;
-
- if ((Selected>=0)&&(Selected<NbrItem())) {
- // if item is correct, check if it was previously selected. Then if not select it
- if (Selected!=CurrentSelected()) SetCurrentCell(Selected); else {
- // if it was previously selected then start a drag & drop operation
- GlobalMainWindow->IsDragOn=1;
- GlobalMainWindow->DragItemSource=Selected;
- GlobalMainWindow->DragItemDest =Selected;
- wgt_QCustomThumbnails *Previous=(wgt_QCustomThumbnails *)cellWidget(row,col); if (Previous) Previous->repaint();
- setCursor(Qt::ClosedHandCursor);
- }
- }
-}
-
-void cCustomTableWidget2::mouseMoveEvent(QMouseEvent *event) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomTableWidget2::mouseMoveEvent");
- if (GlobalMainWindow->IsDragOn!=1) {
- //QTableWidget::mouseMoveEvent(event);
- } else {
- int ThumbHeight=rowHeight(0);
- int ThumbWidth =GlobalMainWindow->Diaporama->GetWidthForHeight(ThumbHeight);
- int NbrX =width()/ThumbWidth;
- int NbrY =height()/ThumbHeight; if (NbrY>rowCount()) NbrY=rowCount();
- int ToUse =GlobalMainWindow->DragItemDest; if (GlobalMainWindow->DragItemDest==GlobalMainWindow->Diaporama->List.count()) ToUse--;
- int row =0;
- int col =ToUse;
-
- if (event->pos().x()<0) {
- if (GlobalMainWindow->DragItemDest!=-1) {
- wgt_QCustomThumbnails *ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
- GlobalMainWindow->DragItemDest=-1;
- if (ItemToPaint) ItemToPaint->repaint();
- }
- setCursor(Qt::ForbiddenCursor);
- // Try to scroll left if not partition mode
- if ((horizontalScrollBar()->value()>0)) horizontalScrollBar()->setValue(horizontalScrollBar()->value()-1);
-
- } else if (event->pos().x()>=NbrX*ThumbWidth) {
- if (GlobalMainWindow->DragItemDest!=-1) {
- wgt_QCustomThumbnails *ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
- GlobalMainWindow->DragItemDest=-1;
- if (ItemToPaint) ItemToPaint->repaint();
- }
- setCursor(Qt::ForbiddenCursor);
- // Try to scroll right if not partition mode
- if ((horizontalScrollBar()->value()<horizontalScrollBar()->maximum())) horizontalScrollBar()->setValue(horizontalScrollBar()->value()+1);
-
- } else {
- // Get item number under mouse
- int Selected=(event->pos().x()+horizontalOffset())/ThumbWidth;
- if ((Selected>NbrItem())||(Selected==GlobalMainWindow->DragItemSource)||(Selected==GlobalMainWindow->DragItemSource+1)) {
- if (GlobalMainWindow->DragItemDest!=-1) {
- wgt_QCustomThumbnails *ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
- GlobalMainWindow->DragItemDest=-1;
- if (ItemToPaint) ItemToPaint->repaint();
- }
- setCursor(Qt::ForbiddenCursor);
- } else {
- setCursor(Qt::ClosedHandCursor);
- if (Selected!=GlobalMainWindow->DragItemDest) {
- wgt_QCustomThumbnails *ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
- GlobalMainWindow->DragItemDest=Selected;
- if (ItemToPaint) ItemToPaint->repaint();
- int ToUse=GlobalMainWindow->DragItemDest;
- if (GlobalMainWindow->DragItemDest>=GlobalMainWindow->Diaporama->List.count()) ToUse--;
- row=0;
- col=ToUse;
- ItemToPaint=(wgt_QCustomThumbnails *)cellWidget(row,col);
- if (ItemToPaint) ItemToPaint->repaint();
- }
- }
- }
- }
-}
-
-void cCustomTableWidget2::mouseReleaseEvent(QMouseEvent *event) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomTableWidget2::mouseReleaseEvent");
- if (GlobalMainWindow->IsDragOn!=1) {
- QTableWidget::mouseReleaseEvent(event);
- } else {
- setCursor(Qt::ArrowCursor);
- GlobalMainWindow->IsDragOn=false;
- if (GlobalMainWindow->DragItemDest!=-1) emit DragMoveItem();
- }
-}
-
-//====================================================================================================================
-
-int cCustomTableWidget2::CurrentSelected() {
- return currentColumn();
-}
-
-//====================================================================================================================
-
-int cCustomTableWidget2::NbrItem() {
- return columnCount();
-}
-
-//====================================================================================================================
-
-void cCustomTableWidget2::SetCurrentCell(int Index) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomTableWidget2::SetCurrentCell");
- setUpdatesEnabled(false);
- setCurrentCell(0,Index);
- setUpdatesEnabled(true);
-}
-
diff --git a/src/ffDiaporama/cCustomTableWidget.h b/src/ffDiaporama/cCustomTableWidget.h
deleted file mode 100755
index 6839ca9..0000000
--- a/src/ffDiaporama/cCustomTableWidget.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef CCUSTOMTABLEWIDGET_H
-#define CCUSTOMTABLEWIDGET_H
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-
-#include <QTableWidget>
-
-// Specific inclusions
-#include "_Diaporama.h"
-//#include "mainwindow.h"
-
-class cCustomTableWidget : public QTableWidget {
-Q_OBJECT
-public:
- bool PartitionMode;
-
- explicit cCustomTableWidget(QWidget *parent = 0);
-
- void AddObjectToTimeLine(int CurIndex);
- void SetTimelineHeight(bool NewPartitionMode);
- int CurrentSelected();
- int NbrItem();
- void SetCurrentCell(int Index);
- void CleanAll();
- void ResetDisplay(int Selected);
-
-protected:
- virtual void dragEnterEvent(QDragEnterEvent *event);
- virtual void dragMoveEvent(QDragMoveEvent *event);
- virtual void dropEvent(QDropEvent *event);
- virtual void mousePressEvent(QMouseEvent *event);
- virtual void mouseReleaseEvent(QMouseEvent *event);
- virtual void mouseMoveEvent(QMouseEvent *event);
-
-private slots:
-
-signals:
- void DragMoveItem();
-};
-
-class cCustomTableWidget2 : public QTableWidget {
-Q_OBJECT
-public:
- explicit cCustomTableWidget2(QWidget *parent = 0);
- int CurrentSelected();
- int NbrItem();
- void SetCurrentCell(int Index);
-
-protected:
- virtual void mousePressEvent(QMouseEvent *event);
- virtual void mouseReleaseEvent(QMouseEvent *event);
- virtual void mouseMoveEvent(QMouseEvent *event);
-
-private slots:
-
-signals:
- void DragMoveItem();
-};
-
-#endif // CCUSTOMTABLEWIDGET_H
diff --git a/src/ffDiaporama/ffDiaporama.pro b/src/ffDiaporama/ffDiaporama.pro
index e806b53..3a39014 100755
--- a/src/ffDiaporama/ffDiaporama.pro
+++ b/src/ffDiaporama/ffDiaporama.pro
@@ -29,7 +29,8 @@ LIBS +=-lSDL # specific for
# Ressource files
win32:RC_FILE += ../../ffDiaporama.rc
unix:OTHER_FILES += ../../ffDiaporama.rc
-RESOURCES += ../../RSCffDiaporama.qrc
+RESOURCES += \
+ ../../RSCffDiaporama.qrc
TRANSLATIONS += ../../locale/ffDiaporama_fr.ts \
../../locale/ffDiaporama_it.ts \
@@ -42,108 +43,115 @@ TRANSLATIONS += ../../locale/ffDiaporama_fr.ts \
../../locale/ffDiaporama_cz.ts
SOURCES += _ApplicationDefinitions.cpp \
- _SoundDefinitions.cpp \
_ImagesDefinitions.cpp \
_Diaporama.cpp \
wgt_QVideoPlayer.cpp \
- wgt_QCustomThumbnails.cpp \
- DlgApplicationSettings.cpp \
- DlgBackgroundProperties.cpp \
- cCustomGraphicsRectItem.cpp \
cCustomComboBox.cpp \
- DlgMusicProperties.cpp \
- DlgRenderVideo.cpp \
- DlgTransitionProperties.cpp \
- DlgAbout.cpp \
mainwindow.cpp \
main.cpp \
- DlgSlideProperties.cpp \
- DlgImageCorrection.cpp \
- DlgVideoEdit.cpp \
- DlgTextEdit.cpp \
- cCustomTableWidget.cpp \
- DlgManageStyle.cpp \
+ cCustomSlideTable.cpp \
_StyleDefinitions.cpp \
- ../sharedfiles/_GlobalDefines.cpp \
- ../sharedfiles/QCustomRuller.cpp \
- ../sharedfiles/DlgCheckConfig.cpp \
- ../sharedfiles/cSaveWindowPosition.cpp \
- ../sharedfiles/cBaseApplicationConfig.cpp \
- ../sharedfiles/cFilterTransformObject.cpp \
- ../fmt_filters/fmt_filters.cpp \
- ../sharedfiles/cLuLoImageCache.cpp \
- ../sharedfiles/cDeviceModelDef.cpp \
- ../sharedfiles/cSoundBlockList.cpp \
- ../sharedfiles/cBaseMediaFile.cpp \
- ../sharedfiles/_SDL_Support.cpp \
- ../sharedfiles/_QCustomDialog.cpp \
- ../sharedfiles/DlgManageDevices.cpp \
- ../sharedfiles/QCustomFileInfoLabel.cpp \
- ../sharedfiles/DlgffDPjrProperties.cpp \
- ../sharedfiles/cBrushDefinition.cpp \
- ../sharedfiles/cCustomIcon.cpp \
- ../sharedfiles/DlgInfoFile.cpp
+ DlgRenderVideo/DlgRenderVideo.cpp \
+ DlgManageStyle/DlgManageStyle.cpp \
+ DlgAbout/DlgAbout.cpp \
+ DlgTransition/DlgTransitionProperties.cpp \
+ DlgMusic/DlgMusicProperties.cpp \
+ DlgBackground/DlgBackgroundProperties.cpp \
+ DlgAppSettings/DlgManageDevices/DlgManageDevices.cpp \
+ DlgAppSettings/DlgApplicationSettings.cpp \
+ DlgImage/cImgInteractiveZone.cpp \
+ DlgImage/DlgImageCorrection.cpp \
+ DlgSlide/cCustomBlockTable.cpp \
+ DlgSlide/DlgSlideProperties.cpp \
+ DlgSlide/cInteractiveZone.cpp \
+ DlgSlide/cCustomShotTable.cpp \
+ DlgSlide/DlgRuler/DlgRulerDef.cpp \
+ DlgText/cCustomTextEdit.cpp \
+ DlgText/DlgTextEdit.cpp \
+ DlgVideo/DlgVideoEdit.cpp \
+ DlgCheckConfig/DlgCheckConfig.cpp \
+ DlgInfoFile/DlgInfoFile.cpp \
+ DlgffDPjrProperties/DlgffDPjrProperties.cpp \
+ ../engine/_GlobalDefines.cpp \
+ ../engine/QCustomRuller.cpp \
+ ../engine/cSaveWindowPosition.cpp \
+ ../engine/cBaseApplicationConfig.cpp \
+ ../engine/cFilterTransformObject.cpp \
+ ../engine/cLuLoImageCache.cpp \
+ ../engine/cDeviceModelDef.cpp \
+ ../engine/cSoundBlockList.cpp \
+ ../engine/cBaseMediaFile.cpp \
+ ../engine/_SDL_Support.cpp \
+ ../engine/_QCustomDialog.cpp \
+ ../engine/QCustomFileInfoLabel.cpp \
+ ../engine/cBrushDefinition.cpp \
+ ../engine/cCustomIcon.cpp \
+ ../fmt_filters/fmt_filters.cpp
HEADERS += \
- _SoundDefinitions.h \
_ImagesDefinitions.h \
_ApplicationDefinitions.h \
_Diaporama.h \
+ _StyleDefinitions.h \
wgt_QVideoPlayer.h \
- wgt_QCustomThumbnails.h \
- DlgApplicationSettings.h \
- DlgBackgroundProperties.h \
- cCustomGraphicsRectItem.h \
cCustomComboBox.h \
- DlgMusicProperties.h \
- DlgRenderVideo.h \
- DlgTransitionProperties.h \
- DlgAbout.h \
+ cCustomSlideTable.h \
mainwindow.h \
- DlgSlideProperties.h \
- DlgImageCorrection.h \
- DlgVideoEdit.h \
- DlgTextEdit.h \
- cCustomTableWidget.h \
- DlgManageStyle.h \
- _StyleDefinitions.h \
- ../sharedfiles/QCustomRuller.h \
- ../sharedfiles/DlgCheckConfig.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../fmt_filters/fmt_filters.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/_SDL_Support.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/DlgManageDevices.h \
- ../sharedfiles/QCustomFileInfoLabel.h \
- ../sharedfiles/DlgffDPjrProperties.h \
- ../sharedfiles/cBrushDefinition.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/DlgInfoFile.h
+ DlgRenderVideo/DlgRenderVideo.h \
+ DlgManageStyle/DlgManageStyle.h \
+ DlgAbout/DlgAbout.h \
+ DlgTransition/DlgTransitionProperties.h \
+ DlgMusic/DlgMusicProperties.h \
+ DlgBackground/DlgBackgroundProperties.h \
+ DlgAppSettings/DlgManageDevices/DlgManageDevices.h \
+ DlgAppSettings/DlgApplicationSettings.h \
+ DlgImage/cImgInteractiveZone.h \
+ DlgImage/DlgImageCorrection.h \
+ DlgSlide/DlgSlideProperties.h \
+ DlgSlide/cCustomBlockTable.h \
+ DlgSlide/cInteractiveZone.h \
+ DlgSlide/cCustomShotTable.h \
+ DlgSlide/DlgRuler/DlgRulerDef.h \
+ DlgText/cCustomTextEdit.h \
+ DlgText/DlgTextEdit.h \
+ DlgVideo/DlgVideoEdit.h \
+ DlgCheckConfig/DlgCheckConfig.h \
+ DlgInfoFile/DlgInfoFile.h \
+ DlgffDPjrProperties/DlgffDPjrProperties.h \
+ ../engine/QCustomRuller.h \
+ ../engine/cSaveWindowPosition.h \
+ ../engine/cBaseApplicationConfig.h \
+ ../engine/cFilterTransformObject.h \
+ ../engine/cLuLoImageCache.h \
+ ../engine/cDeviceModelDef.h \
+ ../engine/_GlobalDefines.h \
+ ../engine/cSoundBlockList.h \
+ ../engine/cBaseMediaFile.h \
+ ../engine/_SDL_Support.h \
+ ../engine/_QCustomDialog.h \
+ ../engine/QCustomFileInfoLabel.h \
+ ../engine/cBrushDefinition.h \
+ ../engine/cCustomIcon.h \
+ ../fmt_filters/fmt_filters.h
FORMS += mainwindow.ui \
wgt_QVideoPlayer.ui \
- DlgApplicationSettings.ui \
- DlgBackgroundProperties.ui \
- DlgMusicProperties.ui \
- DlgRenderVideo.ui \
- DlgTransitionProperties.ui \
- DlgAbout.ui \
- DlgSlideProperties.ui \
- DlgImageCorrection.ui \
- DlgVideoEdit.ui \
- DlgTextEdit.ui \
- DlgManageStyle.ui \
- ../sharedfiles/DlgCheckConfig.ui \
- ../sharedfiles/DlgManageDevices.ui \
- ../sharedfiles/DlgffDPjrProperties.ui \
- ../sharedfiles/DlgInfoFile.ui
+ DlgRenderVideo/DlgRenderVideo.ui \
+ DlgManageStyle/DlgManageStyle.ui \
+ DlgAbout/DlgAbout.ui \
+ DlgTransition/DlgTransitionProperties.ui \
+ DlgMusic/DlgMusicProperties.ui \
+ DlgBackground/DlgBackgroundProperties.ui \
+ DlgAppSettings/DlgManageDevices/DlgManageDevices.ui \
+ DlgAppSettings/DlgApplicationSettings.ui \
+ DlgImage/DlgImageCorrection.ui \
+ DlgSlide/DlgSlideProperties.ui \
+ DlgSlide/DlgRuler/DlgRulerDef.ui \
+ DlgText/DlgTextEdit.ui \
+ DlgVideo/DlgVideoEdit.ui \
+ DlgCheckConfig/DlgCheckConfig.ui \
+ DlgInfoFile/DlgInfoFile.ui \
+ DlgffDPjrProperties/DlgffDPjrProperties.ui
# Installation on linux systems
diff --git a/src/ffDiaporama/main.cpp b/src/ffDiaporama/main.cpp
index f7b68ff..f43d092 100755
--- a/src/ffDiaporama/main.cpp
+++ b/src/ffDiaporama/main.cpp
@@ -18,7 +18,7 @@
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
====================================================================== */
-// Somethings needed by ffmpeg
+// Somethings needed by libav
#ifdef _STDINT_H
#undef _STDINT_H // Remove previous inclusion (if exist)
#endif
diff --git a/src/ffDiaporama/mainwindow.cpp b/src/ffDiaporama/mainwindow.cpp
index 3e16dcb..5b99720 100755
--- a/src/ffDiaporama/mainwindow.cpp
+++ b/src/ffDiaporama/mainwindow.cpp
@@ -19,17 +19,12 @@
====================================================================== */
#include "_StyleDefinitions.h"
-#include "_SoundDefinitions.h"
#include "_ImagesDefinitions.h"
#include "_ApplicationDefinitions.h"
-
-#include "../sharedfiles/DlgCheckConfig.h"
-#include "../sharedfiles/DlgffDPjrProperties.h"
+#include "cCustomSlideTable.h"
#include "mainwindow.h"
#include "ui_mainwindow.h"
-#include "wgt_QCustomThumbnails.h"
-#include "cCustomTableWidget.h"
#include <QClipboard>
#include <QMimeData>
@@ -41,13 +36,15 @@
#include <QMessageBox>
#include <QFileDialog>
-#include "DlgAbout.h"
-#include "DlgBackgroundProperties.h"
-#include "DlgMusicProperties.h"
-#include "DlgSlideProperties.h"
-#include "DlgTransitionProperties.h"
-#include "DlgApplicationSettings.h"
-#include "DlgRenderVideo.h"
+#include "DlgCheckConfig/DlgCheckConfig.h"
+#include "DlgffDPjrProperties/DlgffDPjrProperties.h"
+#include "DlgRenderVideo/DlgRenderVideo.h"
+#include "DlgAbout/DlgAbout.h"
+#include "DlgTransition/DlgTransitionProperties.h"
+#include "DlgMusic/DlgMusicProperties.h"
+#include "DlgBackground/DlgBackgroundProperties.h"
+#include "DlgSlide/DlgSlideProperties.h"
+#include "DlgAppSettings/DlgApplicationSettings.h"
MainWindow *GlobalMainWindow=NULL;
@@ -60,13 +57,12 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
CurrentThreadId =this->thread()->currentThreadId();
InternetBUILDVERSION ="";
GlobalMainWindow =this;
- IsFirstInitDone =false; // true when first show window was done
+ IsFirstInitDone =false; // true when first show window was done
FLAGSTOPITEMSELECTION =false; // Flag to stop Item Selection process for delete and move of object
DragItemSource =-1;
DragItemDest =-1;
IsDragOn =0;
InPlayerUpdate =false;
- CurrentRenderingDialog =NULL;
setAcceptDrops(true);
ApplicationConfig->ParentWindow=this;
}
@@ -106,23 +102,14 @@ void MainWindow::InitWindow(QString ForceLanguage,QApplication *App) {
AddToSystemProperties(QString(SDLVERSION_STR)+QString("%1").arg(SDL_MAJOR_VERSION)+"."+QString("%1").arg(SDL_MINOR_VERSION)+"."+QString("%1").arg(SDL_PATCHLEVEL)+"-Licence=GPL version 2.1 or later");
// Register all formats and codecs for libavformat/libavcodec/etc ...
- screen.showMessage(QApplication::translate("MainWindow","Starting ffmpeg..."),Qt::AlignHCenter|Qt::AlignBottom);
- ApplicationConfig->DeviceModelList.Initffmpeg();
+ screen.showMessage(QApplication::translate("MainWindow","Starting libav..."),Qt::AlignHCenter|Qt::AlignBottom);
+ if (!ApplicationConfig->DeviceModelList.Initffmpeg(ApplicationConfig->BinaryEncoderPath)) exit(1);
- // Display ffmpeg versions
+ // Display libav versions
AddToSystemProperties(QString(LIBAVCODECVERSION_STR)+QString("%1").arg(LIBAVCODEC_VERSION_MAJOR)+"."+QString("%1").arg(LIBAVCODEC_VERSION_MINOR)+"."+QString("%1").arg(LIBAVCODEC_VERSION_MICRO)+"."+QString("%1").arg(avcodec_version())+"-Licence="+QString(avcodec_license()));
AddToSystemProperties(QString(LIBAVFORMATVERSION_STR)+QString("%1").arg(LIBAVFORMAT_VERSION_MAJOR)+"."+QString("%1").arg(LIBAVFORMAT_VERSION_MINOR)+"."+QString("%1").arg(LIBAVFORMAT_VERSION_MICRO)+"."+QString("%1").arg(avformat_version())+"-Licence="+QString(avformat_license()));
AddToSystemProperties(QString(LIBSWSCALEVERSION_STR)+QString("%1").arg(LIBSWSCALE_VERSION_MAJOR)+"."+QString("%1").arg(LIBSWSCALE_VERSION_MINOR)+"."+QString("%1").arg(LIBSWSCALE_VERSION_MICRO)+"."+QString("%1").arg(swscale_version())+"-Licence="+QString(swscale_license()));
- // Display finding codecs & formats
- AddSeparatorToSystemProperties(); AddToSystemProperties(QApplication::translate("MainWindow","Registered video codecs for encoding :"));
- for (int i=0;i<NBR_VIDEOCODECDEF;i++) if (VIDEOCODECDEF[i].IsFind) AddToSystemProperties(" "+QString(VIDEOCODECDEF[i].LongName)+"-ffmpeg codec:"+QString(VIDEOCODECDEF[i].ShortName));
- AddSeparatorToSystemProperties(); AddToSystemProperties(QApplication::translate("MainWindow","Registered audio codecs for encoding :"));
- for (int i=0;i<NBR_AUDIOCODECDEF;i++) if (AUDIOCODECDEF[i].IsFind) AddToSystemProperties(" "+QString(AUDIOCODECDEF[i].LongName)+"-ffmpeg codec:"+QString(AUDIOCODECDEF[i].ShortName));
- AddSeparatorToSystemProperties(); AddToSystemProperties(QApplication::translate("MainWindow","Registered container formats for encoding :"));
- for (int i=0;i<NBR_FORMATDEF;i++) if (FORMATDEF[i].IsFind) AddToSystemProperties(" "+QString(FORMATDEF[i].LongName));
- AddSeparatorToSystemProperties(); AddToSystemProperties(QString("%1").arg(ApplicationConfig->DeviceModelList.RenderDeviceModel.count())+QApplication::translate("MainWindow"," Device registered for rendering"));
-
AddSeparatorToSystemProperties(); AddToSystemProperties(QApplication::translate("MainWindow","Library :"));
QString Path;
screen.showMessage(QApplication::translate("MainWindow","Loading background library..."),Qt::AlignHCenter|Qt::AlignBottom);
@@ -161,12 +148,22 @@ void MainWindow::InitWindow(QString ForceLanguage,QApplication *App) {
ApplicationConfig->ImagesCache.MaxValue=ApplicationConfig->MemCacheMaxValue;
+ // Force icon in contextual menu
+ ui->actionAddTitle->setIconVisibleInMenu(true);
+ ui->actionAddFiles->setIconVisibleInMenu(true);
+ ui->actionAddProject->setIconVisibleInMenu(true);
+ ui->actionEdit_background->setIconVisibleInMenu(true);
+ ui->actionEdit_object->setIconVisibleInMenu(true);
+ ui->actionEdit_music->setIconVisibleInMenu(true);
+ ui->actionEdit_object_in_transition->setIconVisibleInMenu(true);
+ ui->actionCut->setIconVisibleInMenu(true);
+ ui->actionCopy->setIconVisibleInMenu(true);
+ ui->actionPaste->setIconVisibleInMenu(true);
+ ui->actionRemove->setIconVisibleInMenu(true);
+
Diaporama=new cDiaporama(ApplicationConfig);
- Diaporama->Timeline=ui->timeline;
ui->preview->InitDiaporamaPlay(Diaporama);
ui->preview2->InitDiaporamaPlay(Diaporama);
- connect(ui->preview,SIGNAL(DoubleClick()),this,SLOT(s_Event_DoubleClickedOnObject()));
- connect(ui->preview2,SIGNAL(DoubleClick()),this,SLOT(s_Event_DoubleClickedOnObject()));
ui->ZoomMinusBT->setEnabled(ApplicationConfig->TimelineHeight>TIMELINEMINHEIGH);
ui->ZoomPlusBT->setEnabled(ApplicationConfig->TimelineHeight<TIMELINEMAXHEIGH);
@@ -174,6 +171,7 @@ void MainWindow::InitWindow(QString ForceLanguage,QApplication *App) {
// We have finish with the SplashScreen
screen.hide();
+ connect(ui->TABTooltip,SIGNAL(linkActivated(const QString)),this,SLOT(s_Action_OpenTABHelpLink(const QString)));
connect(ui->ToolBoxNormal,SIGNAL(currentChanged(int)),this,SLOT(s_Event_ToolbarChanged(int)));
// Help menu
@@ -192,19 +190,36 @@ void MainWindow::InitWindow(QString ForceLanguage,QApplication *App) {
connect(ui->Action_Exit_BT,SIGNAL(released()),this,SLOT(s_Action_Exit())); connect(ui->Action_Exit_BT_2,SIGNAL(released()),this,SLOT(s_Action_Exit()));
// Project menu
- connect(ui->ActionAdd_BT,SIGNAL(released()),this,SLOT(s_Action_AddFile())); connect(ui->ActionAdd_BT_2,SIGNAL(released()),this,SLOT(s_Action_AddFile()));
- connect(ui->ActionAddtitle_BT,SIGNAL(released()),this,SLOT(s_Action_AddTitle())); connect(ui->ActionAddtitle_BT_2,SIGNAL(released()),this,SLOT(s_Action_AddTitle()));
- connect(ui->ActionAddProject_BT,SIGNAL(released()),this,SLOT(s_Action_AddProject())); connect(ui->ActionAddProject_BT_2,SIGNAL(released()),this,SLOT(s_Action_AddProject()));
- connect(ui->ActionRemove_BT,SIGNAL(released()),this,SLOT(s_Action_RemoveObject())); connect(ui->ActionRemove_BT_2,SIGNAL(released()),this,SLOT(s_Action_RemoveObject()));
- connect(ui->ActionCut_BT,SIGNAL(released()),this,SLOT(s_Action_CutToClipboard())); connect(ui->ActionCut_BT_2,SIGNAL(released()),this,SLOT(s_Action_CutToClipboard()));
- connect(ui->ActionCopy_BT,SIGNAL(released()),this,SLOT(s_Action_CopyToClipboard())); connect(ui->ActionCopy_BT_2,SIGNAL(released()),this,SLOT(s_Action_CopyToClipboard()));
- connect(ui->ActionPaste_BT,SIGNAL(released()),this,SLOT(s_Action_PasteFromClipboard())); connect(ui->ActionPaste_BT_2,SIGNAL(released()),this,SLOT(s_Action_PasteFromClipboard()));
- connect(ui->ActionEdit_BT,SIGNAL(pressed()),this,SLOT(s_Action_EditObject())); connect(ui->ActionEdit_BT_2,SIGNAL(pressed()),this,SLOT(s_Action_EditObject()));
+ connect(ui->ActionAdd_BT,SIGNAL(released()),this,SLOT(s_Action_AddFile()));
+ connect(ui->ActionAdd_BT_2,SIGNAL(released()),this,SLOT(s_Action_AddFile()));
+ connect(ui->actionAddFiles,SIGNAL(triggered()),this,SLOT(s_Action_AddFile()));
+
+ connect(ui->ActionAddtitle_BT,SIGNAL(released()),this,SLOT(s_Action_AddTitle()));
+ connect(ui->ActionAddtitle_BT_2,SIGNAL(released()),this,SLOT(s_Action_AddTitle()));
+ connect(ui->actionAddTitle,SIGNAL(triggered()),this,SLOT(s_Action_AddTitle()));
+
+ connect(ui->ActionAddProject_BT,SIGNAL(released()),this,SLOT(s_Action_AddProject()));
+ connect(ui->ActionAddProject_BT_2,SIGNAL(released()),this,SLOT(s_Action_AddProject()));
+ connect(ui->actionAddProject,SIGNAL(triggered()),this,SLOT(s_Action_AddProject()));
+
+ connect(ui->ActionRemove_BT,SIGNAL(released()),this,SLOT(s_Action_RemoveObject()));
+ connect(ui->ActionRemove_BT_2,SIGNAL(released()),this,SLOT(s_Action_RemoveObject()));
+ connect(ui->actionRemove,SIGNAL(triggered()),this,SLOT(s_Action_RemoveObject()));
+ connect(ui->ActionCut_BT,SIGNAL(released()),this,SLOT(s_Action_CutToClipboard()));
+ connect(ui->ActionCut_BT_2,SIGNAL(released()),this,SLOT(s_Action_CutToClipboard()));
+ connect(ui->actionCut,SIGNAL(triggered()),this,SLOT(s_Action_CutToClipboard()));
+ connect(ui->ActionCopy_BT,SIGNAL(released()),this,SLOT(s_Action_CopyToClipboard()));
+ connect(ui->ActionCopy_BT_2,SIGNAL(released()),this,SLOT(s_Action_CopyToClipboard()));
+ connect(ui->actionCopy,SIGNAL(triggered()),this,SLOT(s_Action_CopyToClipboard()));
+ connect(ui->ActionPaste_BT,SIGNAL(released()),this,SLOT(s_Action_PasteFromClipboard()));
+ connect(ui->ActionPaste_BT_2,SIGNAL(released()),this,SLOT(s_Action_PasteFromClipboard()));
+ connect(ui->actionPaste,SIGNAL(triggered()),this,SLOT(s_Action_PasteFromClipboard()));
+ connect(ui->ActionEdit_BT,SIGNAL(pressed()),this,SLOT(s_Action_EditObject()));
+ connect(ui->ActionEdit_BT_2,SIGNAL(pressed()),this,SLOT(s_Action_EditObject()));
connect(QApplication::clipboard(),SIGNAL(dataChanged()),this,SLOT(s_Event_ClipboardChanged()));
connect(ui->actionEdit_background,SIGNAL(triggered()),this,SLOT(s_Event_DoubleClickedOnBackground()));
- connect(ui->actionEdit_background_transition,SIGNAL(triggered()),this,SLOT(s_Event_DoubleClickedOnTransitionBackground()));
connect(ui->actionEdit_object,SIGNAL(triggered()),this,SLOT(s_Event_DoubleClickedOnObject()));
connect(ui->actionEdit_object_in_transition,SIGNAL(triggered()),this,SLOT(s_Event_DoubleClickedOnTransition()));
connect(ui->actionEdit_music,SIGNAL(triggered()),this,SLOT(s_Event_DoubleClickedOnMusic()));
@@ -214,23 +229,36 @@ void MainWindow::InitWindow(QString ForceLanguage,QApplication *App) {
connect(ui->ActionSmartphone_BT,SIGNAL(released()),this,SLOT(s_Action_RenderSmartphone())); connect(ui->ActionSmartphone_BT_2,SIGNAL(released()),this,SLOT(s_Action_RenderSmartphone()));
connect(ui->ActionMultimedia_BT,SIGNAL(released()),this,SLOT(s_Action_RenderMultimedia())); connect(ui->ActionMultimedia_BT_2,SIGNAL(released()),this,SLOT(s_Action_RenderMultimedia()));
connect(ui->ActionForTheWEB_BT,SIGNAL(released()),this,SLOT(s_Action_RenderForTheWEB())); connect(ui->ActionForTheWEB_BT_2,SIGNAL(released()),this,SLOT(s_Action_RenderForTheWEB()));
- connect(ui->ActionLossLess_BT,SIGNAL(released()),this,SLOT(s_Action_RenderLossLess())); connect(ui->ActionLossLess_BT_2,SIGNAL(released()),this,SLOT(s_Action_RenderLossLess()));
+ connect(ui->ActionLossLess_BT,SIGNAL(released()),this,SLOT(s_Action_RenderLossLess())); connect(ui->ActionLossLess_BT_2,SIGNAL(released()),this,SLOT(s_Action_RenderLossLess()));
// Timeline
connect(ui->ZoomPlusBT,SIGNAL(released()),this,SLOT(s_Action_ZoomPlus()));
connect(ui->ZoomMinusBT,SIGNAL(released()),this,SLOT(s_Action_ZoomMinus()));
connect(ui->timeline,SIGNAL(itemSelectionChanged()),this,SLOT(s_Event_TimelineSelectionChanged()));
connect(ui->timeline,SIGNAL(DragMoveItem()),this,SLOT(s_Event_TimelineDragMoveItem()));
-
connect(ui->PartitionBT,SIGNAL(released()),this,SLOT(s_Action_ChPartitionMode()));
connect(ui->Partition2BT,SIGNAL(released()),this,SLOT(s_Action_ChPartitionMode()));
- connect(ui->TABTooltip,SIGNAL(linkActivated(const QString)),this,SLOT(s_Action_OpenTABHelpLink(const QString)));
+
+ // Contextual menu
+ connect(ui->timeline,SIGNAL(RightClickEvent(QMouseEvent *)),this,SLOT(s_Event_ContextualMenu(QMouseEvent *)));
+ connect(ui->preview,SIGNAL(RightClickEvent(QMouseEvent *)),this,SLOT(s_Event_ContextualMenu(QMouseEvent *)));
+ connect(ui->preview2,SIGNAL(RightClickEvent(QMouseEvent *)),this,SLOT(s_Event_ContextualMenu(QMouseEvent *)));
+
+ // double click
+ connect(ui->preview,SIGNAL(DoubleClick()),this,SLOT(s_Event_DoubleClickedOnObject()));
+ connect(ui->preview2,SIGNAL(DoubleClick()),this,SLOT(s_Event_DoubleClickedOnObject()));
+
+ // Save image event
+ connect(ui->preview,SIGNAL(SaveImageEvent()),this,SLOT(s_Event_SaveImageEvent()));
+ connect(ui->preview2,SIGNAL(SaveImageEvent()),this,SLOT(s_Event_SaveImageEvent()));
// Prepare title bar depending on running version
TitleBar=QString(APPLICATION_NAME)+QString(" ")+QString(APPLICATION_VERSION);
if ((TitleBar.indexOf("devel")!=-1)||(TitleBar.indexOf("beta")!=-1)) TitleBar=TitleBar+QString(" - ")+CurrentAppVersion;
// Some other init
+ LastLogMessageTime=QTime::currentTime();
+ EventReceiver=this; // Connect Event Receiver so now we accept LOG messages
ui->StatusBar_SlideNumber->setText(QApplication::translate("MainWindow","Slide : ")+"0 / 0");
s_Event_ToolbarChanged(0);
ToStatusBar("");
@@ -239,7 +267,7 @@ void MainWindow::InitWindow(QString ForceLanguage,QApplication *App) {
if (ApplicationConfig->CheckConfigAtStartup) QTimer::singleShot(500,this,SLOT(s_Action_DlgCheckConfig())); else {
QString Status;
- if (!Checkffmpeg(Status)) QTimer::singleShot(500,this,SLOT(s_Action_DlgCheckConfig()));
+ if (!Checkffmpeg(Status,ApplicationConfig)) QTimer::singleShot(500,this,SLOT(s_Action_DlgCheckConfig()));
}
}
@@ -255,6 +283,32 @@ MainWindow::~MainWindow() {
}
//====================================================================================================================
+
+void MainWindow::customEvent(QEvent *event) {
+ if (event->type()!=BaseAppEvent) QMainWindow::customEvent(event); else while (!EventList.isEmpty()) {
+ QString Event =EventList.takeFirst();
+ int EventType =((QString)(Event.split("###;###")[0])).toInt();
+ QString EventParam =Event.split("###;###")[1];
+
+ if (EventType==EVENT_GeneralLogChanged) {
+ //int MessageType =((QString)EventParam.split("###:###")[0]).toInt();
+ QString Message =EventParam.split("###:###")[1];
+ //QString EventSource =EventParam.split("###:###")[2];
+ ToStatusBar(Message);
+ LastLogMessageTime=QTime::currentTime();
+ QTimer::singleShot(1000,this,SLOT(s_CleanStatusBar()));
+ }
+ }
+}
+
+//====================================================================================================================
+
+void MainWindow::s_CleanStatusBar() {
+ if (LastLogMessageTime.msecsTo(QTime::currentTime())>=500) ToStatusBar("");
+ //LastLogMessageTime=QTime::currentTime();
+}
+
+//====================================================================================================================
// A REVOIR !!
void MainWindow::keyReleaseEvent(QKeyEvent *event) {
ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::keyReleaseEvent");
@@ -462,19 +516,24 @@ void MainWindow::RefreshControls() {
ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::RefreshControls");
// Timeline actions
- ui->ActionRemove_BT->setEnabled(ui->timeline->NbrItem()>0); ui->ActionRemove_BT_2->setEnabled(ui->timeline->NbrItem()>0);
- ui->ActionEdit_BT->setEnabled(ui->timeline->NbrItem()>0); ui->ActionEdit_BT_2->setEnabled(ui->timeline->NbrItem()>0);
+ ui->ActionRemove_BT->setEnabled(ui->timeline->NbrItem()>0);
+ ui->ActionRemove_BT_2->setEnabled(ui->timeline->NbrItem()>0);
+ ui->actionRemove->setEnabled(ui->timeline->NbrItem()>0);
+ ui->ActionEdit_BT->setEnabled(ui->timeline->NbrItem()>0);
+ ui->ActionEdit_BT_2->setEnabled(ui->timeline->NbrItem()>0);
ui->ZoomMinusBT->setEnabled((ui->timeline->NbrItem()>0)&&(ApplicationConfig->TimelineHeight>TIMELINEMINHEIGH));
ui->ZoomPlusBT->setEnabled((ui->timeline->NbrItem()>0)&&(ApplicationConfig->TimelineHeight<TIMELINEMAXHEIGH));
// File menu
- ui->Action_Save_BT->setEnabled(Diaporama->IsModify); ui->Action_Save_BT_2->setEnabled(Diaporama->IsModify);
- ui->ActionSave_as_BT->setEnabled(Diaporama->List.count()>0); ui->ActionSave_as_BT_2->setEnabled(Diaporama->List.count()>0);
- ui->Action_OpenRecent_BT->setEnabled(ApplicationConfig->RecentFile.count()>0); ui->Action_OpenRecent_BT_2->setEnabled(ApplicationConfig->RecentFile.count()>0);
+ ui->Action_Save_BT->setEnabled(Diaporama->IsModify);
+ ui->Action_Save_BT_2->setEnabled(Diaporama->IsModify);
+ ui->ActionSave_as_BT->setEnabled(Diaporama->List.count()>0);
+ ui->ActionSave_as_BT_2->setEnabled(Diaporama->List.count()>0);
+ ui->Action_OpenRecent_BT->setEnabled(ApplicationConfig->RecentFile.count()>0);
+ ui->Action_OpenRecent_BT_2->setEnabled(ApplicationConfig->RecentFile.count()>0);
// Project menu
ui->actionEdit_background->setEnabled(ui->timeline->NbrItem()>0);
- ui->actionEdit_background_transition->setEnabled(ui->timeline->NbrItem()>0);
ui->actionEdit_object->setEnabled(ui->timeline->NbrItem()>0);
ui->actionEdit_object_in_transition->setEnabled(ui->timeline->NbrItem()>0);
ui->actionEdit_music->setEnabled(ui->timeline->NbrItem()>0);
@@ -482,13 +541,19 @@ void MainWindow::RefreshControls() {
// Clipboard_Object
ui->ActionCopy_BT->setEnabled(ui->timeline->CurrentSelected()>=0);
ui->ActionCopy_BT_2->setEnabled(ui->timeline->CurrentSelected()>=0);
+ ui->actionCopy->setEnabled(ui->timeline->CurrentSelected()>=0);
ui->ActionCut_BT->setEnabled(ui->timeline->CurrentSelected()>=0);
ui->ActionCut_BT_2->setEnabled(ui->timeline->CurrentSelected()>=0);
+ ui->actionCut->setEnabled(ui->timeline->CurrentSelected()>=0);
- ui->ActionRender_BT->setEnabled(ui->timeline->NbrItem()>0); ui->ActionRender_BT_2->setEnabled(ui->timeline->NbrItem()>0);
- ui->ActionSmartphone_BT->setEnabled(ui->timeline->NbrItem()>0); ui->ActionSmartphone_BT_2->setEnabled(ui->timeline->NbrItem()>0);
- ui->ActionMultimedia_BT->setEnabled(ui->timeline->NbrItem()>0); ui->ActionMultimedia_BT_2->setEnabled(ui->timeline->NbrItem()>0);
- ui->ActionForTheWEB_BT->setEnabled(ui->timeline->NbrItem()>0); ui->ActionForTheWEB_BT_2->setEnabled(ui->timeline->NbrItem()>0);
+ ui->ActionRender_BT->setEnabled(ui->timeline->NbrItem()>0);
+ ui->ActionRender_BT_2->setEnabled(ui->timeline->NbrItem()>0);
+ ui->ActionSmartphone_BT->setEnabled(ui->timeline->NbrItem()>0);
+ ui->ActionSmartphone_BT_2->setEnabled(ui->timeline->NbrItem()>0);
+ ui->ActionMultimedia_BT->setEnabled(ui->timeline->NbrItem()>0);
+ ui->ActionMultimedia_BT_2->setEnabled(ui->timeline->NbrItem()>0);
+ ui->ActionForTheWEB_BT->setEnabled(ui->timeline->NbrItem()>0);
+ ui->ActionForTheWEB_BT_2->setEnabled(ui->timeline->NbrItem()>0);
ui->ActionLossLess_BT->setEnabled((ui->timeline->NbrItem()>0)&&(AUDIOCODECDEF[7].IsFind)&&(VIDEOCODECDEF[8].IsFind)&&(FORMATDEF[2].IsFind));
ui->ActionLossLess_BT_2->setEnabled((ui->timeline->NbrItem()>0)&&(AUDIOCODECDEF[7].IsFind)&&(VIDEOCODECDEF[8].IsFind)&&(FORMATDEF[2].IsFind));
@@ -510,6 +575,18 @@ void MainWindow::SetModifyFlag(bool IsModify) {
//====================================================================================================================
+void MainWindow::s_Event_SetModifyFlag() {
+ SetModifyFlag(true);
+}
+
+//====================================================================================================================
+
+void MainWindow::SetTimelineCurrentCell(int Cell) {
+ ui->timeline->SetCurrentCell(Cell);
+}
+
+//====================================================================================================================
+
void MainWindow::s_Action_About() {
ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_Action_About");
@@ -530,7 +607,7 @@ void MainWindow::s_Action_DlgCheckConfig() {
Dlg.exec();
QString Status;
- if (!Checkffmpeg(Status)) {
+ if (!Checkffmpeg(Status,ApplicationConfig)) {
CustomMessageBox(this,QMessageBox::Critical,APPLICATION_NAME,QApplication::translate("MainWindow","Configuration not correct!"));
close();
}
@@ -643,11 +720,15 @@ void MainWindow::s_Event_DoubleClickedOnObject() {
QTimer::singleShot(500,this,SLOT(s_Event_DoubleClickedOnObject()));
return;
}
+ if (Diaporama->List.count()==0) return;
bool DoneAgain=true;
while (DoneAgain) {
DoneAgain=false;
- int Ret=DlgSlideProperties(Diaporama->List[Diaporama->CurrentCol],this).exec();
+ DlgSlideProperties Dlg(Diaporama->List[Diaporama->CurrentCol],HELPFILE_DlgSlideProperties,ApplicationConfig,ApplicationConfig->DlgSlidePropertiesWSP,this);
+ Dlg.InitDialog();
+ connect(&Dlg,SIGNAL(SetModifyFlag()),this,SLOT(s_Event_SetModifyFlag()));
+ int Ret=Dlg.exec();
if (Ret!=1) {
SetModifyFlag(true);
if (Diaporama->List[Diaporama->CurrentCol]->Thumbnail) {
@@ -659,7 +740,7 @@ void MainWindow::s_Event_DoubleClickedOnObject() {
}
if ((Ret==2)||(Ret==3)) {
Diaporama->CurrentCol=Diaporama->CurrentCol+((Ret==2)?-1:1);
- Diaporama->Timeline->SetCurrentCell(Diaporama->CurrentCol);
+ SetTimelineCurrentCell(Diaporama->CurrentCol);
// Update slider mark
if (Diaporama->List.count()>0)
@@ -691,7 +772,10 @@ void MainWindow::s_Event_DoubleClickedOnTransition() {
return;
}
- if (DlgTransitionProperties(Diaporama->List[Diaporama->CurrentCol],false,this).exec()==0) {
+ DlgTransitionProperties Dlg(Diaporama->List[Diaporama->CurrentCol],HELPFILE_DlgTransitionProperties,ApplicationConfig,ApplicationConfig->DlgTransitionPropertiesWSP,this);
+ Dlg.InitDialog();
+ int Ret=Dlg.exec();
+ if (Ret==0) {
SetModifyFlag(true);
(ApplicationConfig->PartitionMode?ui->preview2:ui->preview)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol));
AdjustRuller();
@@ -722,8 +806,10 @@ void MainWindow::s_Event_DoubleClickedOnBackground() {
QTimer::singleShot(500,this,SLOT(s_Event_DoubleClickedOnBackground()));
return;
}
-
- if (DlgBackgroundProperties(Diaporama->List[Diaporama->CurrentCol],this).exec()==0) {
+ DlgBackgroundProperties Dlg(Diaporama->List[Diaporama->CurrentCol],HELPFILE_DlgBackgroundProperties,ApplicationConfig,ApplicationConfig->DlgBackgroundPropertiesWSP,this);
+ Dlg.InitDialog();
+ connect(&Dlg,SIGNAL(RefreshDisplay()),this,SLOT(s_Event_RefreshDisplay()));
+ if (Dlg.exec()==0) {
SetModifyFlag(true);
(ApplicationConfig->PartitionMode?ui->preview2:ui->preview)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol));
AdjustRuller();
@@ -731,18 +817,10 @@ void MainWindow::s_Event_DoubleClickedOnBackground() {
}
//====================================================================================================================
-// Double click on transition part of widget in the background track
-//====================================================================================================================
-void MainWindow::s_Event_DoubleClickedOnTransitionBackground() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_Event_DoubleClickedOnTransitionBackground");
-
- ui->preview->SetPlayerToPause(); // Ensure player is stop
- ui->preview2->SetPlayerToPause(); // Ensure player is stop
- if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display
- QTimer::singleShot(500,this,SLOT(s_Event_DoubleClickedOnTransitionBackground()));
- return;
- }
+void MainWindow::s_Event_RefreshDisplay() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_Event_RefreshDisplay");
+ (ApplicationConfig->PartitionMode?ui->preview2:ui->preview)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol));
}
//====================================================================================================================
@@ -759,7 +837,10 @@ void MainWindow::s_Event_DoubleClickedOnMusic() {
return;
}
- if (DlgMusicProperties(Diaporama->List[Diaporama->CurrentCol],this).exec()==0) {
+ DlgMusicProperties Dlg(Diaporama->List[Diaporama->CurrentCol],HELPFILE_DlgMusicProperties,ApplicationConfig,ApplicationConfig->DlgMusicPropertiesWSP,this);
+ Dlg.InitDialog();
+ connect(&Dlg,SIGNAL(SetModifyFlag()),this,SLOT(s_Event_SetModifyFlag()));
+ if (Dlg.exec()==0) {
SetModifyFlag(true);
(ApplicationConfig->PartitionMode?ui->preview2:ui->preview)->SeekPlayer(Diaporama->GetObjectStartPosition(Diaporama->CurrentCol)+Diaporama->GetTransitionDuration(Diaporama->CurrentCol));
AdjustRuller();
@@ -773,9 +854,7 @@ void MainWindow::s_Event_TimelineDragMoveItem() {
if (DragItemSource<DragItemDest) DragItemDest--;
Diaporama->List.move(DragItemSource,DragItemDest);
- ui->timeline->setUpdatesEnabled(false);
ui->timeline->SetCurrentCell(DragItemDest);
- ui->timeline->setUpdatesEnabled(true); // Reset timeline painting
}
//====================================================================================================================
@@ -830,7 +909,7 @@ void MainWindow::s_Event_TimelineSelectionChanged() {
}
//====================================================================================================================
-// Update dock informations
+// Update dock information
//====================================================================================================================
void MainWindow::s_Action_OpenTABHelpLink(const QString Link) {
@@ -847,13 +926,13 @@ void MainWindow::s_Event_ToolbarChanged(int MenuIndex) {
QString Html;
switch (MenuIndex) {
case 0: Html=QApplication::translate("MainWindow","<html><body>Select a project to open or to create a new project<br>"\
- "To discover ffDiaporama:<br><a href=\"%1\">Consult the WIKI</a></body></html>").arg(3854);
+ "To discover ffDiaporama:<br><a href=\"%1\">Consult the WIKI</a></body></html>").arg(HELPFILE_WIKIINDEX);
break;
case 1: Html=QApplication::translate("MainWindow","<html><body>Add empty slides or slides based on photos or videos<br>"\
- "To discover how to build your slide show and to animate slides:<br><a href=\"%1\">Discover the principles of functioning of ffDiaporama</a></body></html>").arg(3870);
+ "To discover how to build your slide show and to animate slides:<br><a href=\"%1\">Discover the principles of functioning of ffDiaporama</a></body></html>").arg(HELPFILE_PRINCIPLESINDEX);
break;
case 2: Html=QApplication::translate("MainWindow","<html><body>Select the equipment type that you plan to use for your video<br>"\
- "To discover how to render videos:<br><a href=\"%1\">Consult the rendering videos WIKI page</a></body></html>").arg(3904);
+ "To discover how to render videos:<br><a href=\"%1\">Consult the rendering videos WIKI page</a></body></html>").arg(HELPFILE_RENDERINDEX);
break;
case 3: Html=QApplication::translate("MainWindow","<html><body>Visit the ffDiaporama Web site to use the forum,<br>"\
"consult tutorials and learn the lastest news:<br><a href=\"http://ffdiaporama.tuxfamily.org\">http://ffdiaporama.tuxfamily.org</a></body></html>");
@@ -881,8 +960,10 @@ void MainWindow::s_Action_RenderVideo() {
ui->ActionRender_BT_2->setDown(false);
if (Diaporama->IsModify) Diaporama->UpdateChapterInformation();
- DlgRenderVideo(*Diaporama,EXPORTMODE_ADVANCED,this).exec();
- CurrentRenderingDialog=NULL;
+ DlgRenderVideo Dlg(*Diaporama,EXPORTMODE_ADVANCED,HELPFILE_DlgRenderVideo,ApplicationConfig,ApplicationConfig->DlgRenderVideoWSP,this);
+ connect(&Dlg,SIGNAL(SetModifyFlag()),this,SLOT(s_Event_SetModifyFlag()));
+ Dlg.InitDialog();
+ Dlg.exec();
AdjustRuller();
}
@@ -899,8 +980,10 @@ void MainWindow::s_Action_RenderSmartphone() {
ui->ActionSmartphone_BT_2->setDown(false);
if (Diaporama->IsModify) Diaporama->UpdateChapterInformation();
- DlgRenderVideo(*Diaporama,MODE_SMARTPHONE,this).exec();
- CurrentRenderingDialog=NULL;
+ DlgRenderVideo Dlg(*Diaporama,MODE_SMARTPHONE,HELPFILE_DlgRenderVideo,ApplicationConfig,ApplicationConfig->DlgRenderVideoWSP,this);
+ connect(&Dlg,SIGNAL(SetModifyFlag()),this,SLOT(s_Event_SetModifyFlag()));
+ Dlg.InitDialog();
+ Dlg.exec();
AdjustRuller();
}
@@ -917,8 +1000,10 @@ void MainWindow::s_Action_RenderMultimedia() {
ui->ActionMultimedia_BT_2->setDown(false);
if (Diaporama->IsModify) Diaporama->UpdateChapterInformation();
- DlgRenderVideo(*Diaporama,MODE_MULTIMEDIASYS,this).exec();
- CurrentRenderingDialog=NULL;
+ DlgRenderVideo Dlg(*Diaporama,MODE_MULTIMEDIASYS,HELPFILE_DlgRenderVideo,ApplicationConfig,ApplicationConfig->DlgRenderVideoWSP,this);
+ connect(&Dlg,SIGNAL(SetModifyFlag()),this,SLOT(s_Event_SetModifyFlag()));
+ Dlg.InitDialog();
+ Dlg.exec();
AdjustRuller();
}
@@ -935,8 +1020,10 @@ void MainWindow::s_Action_RenderForTheWEB() {
ui->ActionForTheWEB_BT_2->setDown(false);
if (Diaporama->IsModify) Diaporama->UpdateChapterInformation();
- DlgRenderVideo(*Diaporama,MODE_FORTHEWEB,this).exec();
- CurrentRenderingDialog=NULL;
+ DlgRenderVideo Dlg(*Diaporama,MODE_FORTHEWEB,HELPFILE_DlgRenderVideo,ApplicationConfig,ApplicationConfig->DlgRenderVideoWSP,this);
+ connect(&Dlg,SIGNAL(SetModifyFlag()),this,SLOT(s_Event_SetModifyFlag()));
+ Dlg.InitDialog();
+ Dlg.exec();
AdjustRuller();
}
@@ -953,8 +1040,10 @@ void MainWindow::s_Action_RenderLossLess() {
ui->ActionLossLess_BT_2->setDown(false);
if (Diaporama->IsModify) Diaporama->UpdateChapterInformation();
- DlgRenderVideo(*Diaporama,MODE_LOSSLESS,this).exec();
- CurrentRenderingDialog=NULL;
+ DlgRenderVideo Dlg(*Diaporama,MODE_LOSSLESS,HELPFILE_DlgRenderVideo,ApplicationConfig,ApplicationConfig->DlgRenderVideoWSP,this);
+ connect(&Dlg,SIGNAL(SetModifyFlag()),this,SLOT(s_Event_SetModifyFlag()));
+ Dlg.InitDialog();
+ Dlg.exec();
AdjustRuller();
}
@@ -1053,7 +1142,6 @@ void MainWindow::s_Action_New() {
// Create new diaporama
Diaporama=NewDiaporama;
BackgroundList.ScanDisk("background",Diaporama->ImageGeometry);
- Diaporama->Timeline=ui->timeline;
ui->preview->InitDiaporamaPlay(Diaporama);
ui->preview->SetActualDuration(Diaporama->GetDuration());
ui->preview->SetStartEndPos(0,0,-1,0,-1,0);
@@ -1162,7 +1250,6 @@ void MainWindow::DoOpenFile() {
// Create new diaporama
Diaporama=new cDiaporama(ApplicationConfig);
- Diaporama->Timeline=ui->timeline;
// Init GUI for this project
ui->preview->InitDiaporamaPlay(Diaporama);
@@ -1182,6 +1269,7 @@ void MainWindow::DoOpenFile() {
while (ApplicationConfig->RecentFile.count()>10) ApplicationConfig->RecentFile.takeFirst();
ui->timeline->SetCurrentCell(0);
RefreshControls();
+ SetTimelineHeight();
QApplication::restoreOverrideCursor();
ToStatusBar("");
}
@@ -1664,15 +1752,103 @@ void MainWindow::s_Action_AddProject() {
//====================================================================================================================
+void MainWindow::s_Event_SaveImageEvent() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_Event_SaveImageEvent");
+ ui->preview->SetPlayerToPause(); // Ensure player is stop
+ ui->preview2->SetPlayerToPause(); // Ensure player is stop
+ if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display
+ QTimer::singleShot(500,this,SLOT(s_Event_SaveImageEvent()));
+ return;
+ }
+ QStringList Size;
+ QMenu *ContextMenu=new QMenu(this);
+ for (int i=0;i<NBR_SIZEDEF;i++)
+ Size.append(QString("%1x%2").arg(DefImageFormat[0][ApplicationConfig->ImageGeometry][i].Width).arg(Diaporama->GetHeightForWidth(DefImageFormat[0][ApplicationConfig->ImageGeometry][i].Width)));
+
+ // Sort list
+ for (int i=0;i<Size.count();i++) {
+ for (int j=0;j<Size.count()-1;j++) {
+ int a=Size[j].left(Size[j].indexOf("x")).toInt();
+ int b=Size[j+1].left(Size[j+1].indexOf("x")).toInt();
+ if (a>b) Size.swap(j,j+1);
+ }
+ }
+
+ for (int i=0;i<Size.count();i++) {
+ QAction *UpdateAction=new QAction(QApplication::translate("MainWindow","Capture the image ")+Size[i],this);
+ ContextMenu->addAction(UpdateAction);
+ }
+ QAction *Ret=ContextMenu->exec(QCursor::pos());
+ if (Ret!=NULL) {
+ QString Format=Ret->text().mid(QApplication::translate("MainWindow","Capture the image ").length());
+ int Width =Format.left(Format.indexOf("x")).toInt();
+ int Height=Format.mid(Format.indexOf("x")+1).toInt();
+ QString OutputFileName=ApplicationConfig->LastCaptureImage;
+ QString Filter="JPG (*.jpg)";
+ if (!OutputFileName.endsWith(QDir::separator())) OutputFileName=OutputFileName+QDir::separator();
+ OutputFileName=OutputFileName+QApplication::translate("MainWindow","Capture image");
+ OutputFileName=QFileDialog::getSaveFileName(this,QApplication::translate("MainWindow","Select destination file"),OutputFileName,"PNG (*.png);;JPG (*.jpg)",&Filter);
+ if (OutputFileName!="") {
+ if (ApplicationConfig->RememberLastDirectories) ApplicationConfig->LastCaptureImage=QFileInfo(OutputFileName).absolutePath(); // Keep folder for next use
+ if ((Filter.toLower().indexOf("png")!=-1)&&(!OutputFileName.endsWith(".png"))) OutputFileName=OutputFileName+".png";
+ if ((Filter.toLower().indexOf("jpg")!=-1)&&(!OutputFileName.endsWith(".jpg"))) OutputFileName=OutputFileName+".jpg";
+ cDiaporamaObjectInfo *Frame=new cDiaporamaObjectInfo(NULL,Diaporama->CurrentPosition,Diaporama,1);
+ Diaporama->LoadSources(Frame,double(Height)/double(1080),Width,Height,false,0);
+ Diaporama->DoAssembly(Frame,Width,Height);
+ Frame->RenderedImage->save(OutputFileName,0,100);
+ delete Frame;
+ }
+ }
+ delete ContextMenu;
+}
+
+//====================================================================================================================
+
+void MainWindow::s_Event_ContextualMenu(QMouseEvent *) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_Action_EditObject");
+ ui->preview->SetPlayerToPause(); // Ensure player is stop
+ ui->preview2->SetPlayerToPause(); // Ensure player is stop
+ if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display
+ QTimer::singleShot(500,this,SLOT(s_Event_ContextualMenu()));
+ return;
+ }
+
+ QMenu *ContextMenu=new QMenu(this);
+ ContextMenu->addAction(ui->actionAddTitle);
+ ContextMenu->addAction(ui->actionAddFiles);
+ ContextMenu->addAction(ui->actionAddProject);
+ ContextMenu->addSeparator();
+ ContextMenu->addAction(ui->actionEdit_background);
+ ContextMenu->addAction(ui->actionEdit_object);
+ ContextMenu->addAction(ui->actionEdit_music);
+ ContextMenu->addAction(ui->actionEdit_object_in_transition);
+ ContextMenu->addSeparator();
+ ContextMenu->addAction(ui->actionCut);
+ ContextMenu->addAction(ui->actionCopy);
+ ContextMenu->addAction(ui->actionPaste);
+ ContextMenu->addSeparator();
+ ContextMenu->addAction(ui->actionRemove);
+ ContextMenu->exec(QCursor::pos());
+ delete ContextMenu;
+}
+
+//====================================================================================================================
+
void MainWindow::s_Action_EditObject() {
ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_Action_EditObject");
+ ui->preview->SetPlayerToPause(); // Ensure player is stop
+ ui->preview2->SetPlayerToPause(); // Ensure player is stop
+ if (InPlayerUpdate) { // Resend message and quit if player have not finish to update it's display
+ QTimer::singleShot(500,this,SLOT(s_Action_EditObject()));
+ return;
+ }
QMenu *ContextMenu=new QMenu(this);
ContextMenu->addAction(ui->actionEdit_background);
ContextMenu->addAction(ui->actionEdit_object);
ContextMenu->addAction(ui->actionEdit_music);
ContextMenu->addAction(ui->actionEdit_object_in_transition);
- ContextMenu->addAction(ui->actionEdit_background_transition);
+ //ContextMenu->addAction(ui->actionEdit_background_transition);
ContextMenu->exec(QCursor::pos());
delete ContextMenu;
ui->ActionEdit_BT->setDown(false);
@@ -1828,6 +2004,7 @@ void MainWindow::s_Event_ClipboardChanged() {
ui->ActionPaste_BT->setEnabled((QApplication::clipboard())&&(QApplication::clipboard()->mimeData())&&(QApplication::clipboard()->mimeData()->hasFormat("ffDiaporama/slide")));
ui->ActionPaste_BT_2->setEnabled((QApplication::clipboard())&&(QApplication::clipboard()->mimeData())&&(QApplication::clipboard()->mimeData()->hasFormat("ffDiaporama/slide")));
+ ui->actionPaste->setEnabled((QApplication::clipboard())&&(QApplication::clipboard()->mimeData())&&(QApplication::clipboard()->mimeData()->hasFormat("ffDiaporama/slide")));
}
//====================================================================================================================
diff --git a/src/ffDiaporama/mainwindow.h b/src/ffDiaporama/mainwindow.h
index 768a9ff..e5800bc 100755
--- a/src/ffDiaporama/mainwindow.h
+++ b/src/ffDiaporama/mainwindow.h
@@ -22,10 +22,10 @@
#define MAINWINDOW_H
// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
+#include "../engine/_GlobalDefines.h"
// Include some common various class
-#include "../sharedfiles/_SDL_Support.h"
+#include "../engine/_SDL_Support.h"
#include <QNetworkReply>
@@ -48,6 +48,7 @@ public:
int LastCount;
QString InternetBUILDVERSION;
QString TitleBar;
+ QTime LastLogMessageTime;
// Variables use for actions
QString FileForIO;
@@ -61,8 +62,6 @@ public:
Qt::HANDLE CurrentThreadId;
bool InPlayerUpdate;
- DlgRenderVideo *CurrentRenderingDialog;
-
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
void InitWindow(QString ForceLanguage,QApplication *App);
@@ -75,34 +74,40 @@ public:
void SetTimelineHeight();
void CheckVersion();
void ToStatusBar(QString Text);
+ void SetTimelineCurrentCell(int Cell);
- void DoAddDragAndDropFile(); // Must be in public part because it was called by cCustomTableWidget
+ void DoAddDragAndDropFile(); // Must be in public part because it was called by cCustomSlideTable
void DoOpenFileParam(); // Must be in public part because it was called by main
protected:
- virtual void resizeEvent(QResizeEvent *);
- virtual void closeEvent(QCloseEvent *);
- virtual void showEvent(QShowEvent *);
- virtual void keyReleaseEvent(QKeyEvent *event);
+ virtual void resizeEvent(QResizeEvent *);
+ virtual void closeEvent(QCloseEvent *);
+ virtual void showEvent(QShowEvent *);
+ virtual void keyReleaseEvent(QKeyEvent *event);
+ virtual void customEvent(QEvent *); // LOG messages event
private slots:
+ void s_CleanStatusBar();
void DoMaximized(); // Use on init to force window maximized
+ void s_Event_SetModifyFlag();
+ void s_Event_RefreshDisplay();
// Event functions
void s_Event_ClipboardChanged(); // Something have changed in the clipboard
void s_Event_ToolbarChanged(int MenuIndex); // User change current toolbar TAB
void s_Event_NetworkReply(QNetworkReply*); // Build version was downloaded from internet
- // Timeline
+ // Timeline & player
void s_Event_TimelineDragMoveItem(); // Drag & drop operation in timeline
void s_Event_TimelineSelectionChanged(); // Timeline current item changed
void s_Event_DoubleClickedOnObject(); // Double click on widget in the object track
void s_Event_DoubleClickedOnTransition(); // Double click on transition part of widget in the object track
void s_Event_DoubleClickedOnVideoSound(); // Double click on video sound part of widget in the object track
void s_Event_DoubleClickedOnBackground(); // Double click on widget in the background track
- void s_Event_DoubleClickedOnTransitionBackground(); // Double click on transition part of widget in the background track
void s_Event_DoubleClickedOnMusic(); // Double click on widget in the music track
+ void s_Event_ContextualMenu(QMouseEvent *); // Right click
+ void s_Event_SaveImageEvent(); // Click on preview save image button
// Actions small bottom right toolbar menu
void s_Action_ZoomPlus();
diff --git a/src/ffDiaporama/mainwindow.ui b/src/ffDiaporama/mainwindow.ui
index d8bec30..f9f4310 100755
--- a/src/ffDiaporama/mainwindow.ui
+++ b/src/ffDiaporama/mainwindow.ui
@@ -32,7 +32,7 @@
<string notr="true">MainWindow</string>
</property>
<property name="windowIcon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/application-ffDiaporama.png</normaloff>:/application-ffDiaporama.png</iconset>
</property>
<widget class="QWidget" name="centralwidget">
@@ -107,7 +107,7 @@ QToolButton:pressed {
<enum>QTabWidget::Rounded</enum>
</property>
<property name="currentIndex">
- <number>2</number>
+ <number>1</number>
</property>
<widget class="QWidget" name="TabFile">
<property name="font">
@@ -160,7 +160,7 @@ QToolButton:pressed {
project</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/filenew.png</normaloff>:/img/filenew.png</iconset>
</property>
<property name="iconSize">
@@ -211,7 +211,7 @@ project</string>
project</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/fileopen.png</normaloff>:/img/fileopen.png</iconset>
</property>
<property name="iconSize">
@@ -262,7 +262,7 @@ project</string>
recent</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/filerecent.png</normaloff>:/img/filerecent.png</iconset>
</property>
<property name="iconSize">
@@ -310,7 +310,7 @@ recent</string>
project</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/filesave.png</normaloff>:/img/filesave.png</iconset>
</property>
<property name="iconSize">
@@ -361,7 +361,7 @@ project</string>
project as</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/filesaveas.png</normaloff>:/img/filesaveas.png</iconset>
</property>
<property name="iconSize">
@@ -404,7 +404,7 @@ project as</string>
properties</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/PrjProperties.png</normaloff>:/img/PrjProperties.png</iconset>
</property>
<property name="iconSize">
@@ -445,7 +445,7 @@ properties</string>
<string>Settings</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/config.png</normaloff>:/img/config.png</iconset>
</property>
<property name="iconSize">
@@ -486,7 +486,7 @@ properties</string>
<string>Exit</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/exit.png</normaloff>:/img/exit.png</iconset>
</property>
<property name="iconSize">
@@ -563,7 +563,7 @@ properties</string>
title</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/add_text.png</normaloff>:/img/add_text.png</iconset>
</property>
<property name="iconSize">
@@ -611,7 +611,7 @@ title</string>
files</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/add_image.png</normaloff>:/img/add_image.png</iconset>
</property>
<property name="iconSize">
@@ -656,7 +656,7 @@ files</string>
project</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/add_project.png</normaloff>:/img/add_project.png</iconset>
</property>
<property name="iconSize">
@@ -704,7 +704,7 @@ project</string>
<string>Cut</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/editcut.png</normaloff>:/img/editcut.png</iconset>
</property>
<property name="iconSize">
@@ -748,7 +748,7 @@ project</string>
<string>Copy</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/editcopy.png</normaloff>:/img/editcopy.png</iconset>
</property>
<property name="iconSize">
@@ -792,7 +792,7 @@ project</string>
<string>Paste</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/editpaste.png</normaloff>:/img/editpaste.png</iconset>
</property>
<property name="iconSize">
@@ -846,7 +846,7 @@ project</string>
<string>Edit</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/edit.png</normaloff>:/img/edit.png</iconset>
</property>
<property name="iconSize">
@@ -887,7 +887,7 @@ project</string>
<string>Remove</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/trash.png</normaloff>:/img/trash.png</iconset>
</property>
<property name="iconSize">
@@ -914,6 +914,12 @@ project</string>
</layout>
</widget>
<widget class="QWidget" name="TabRender">
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
<attribute name="title">
<string>Render video</string>
</attribute>
@@ -955,7 +961,7 @@ project</string>
smartphone</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/Smartphone.png</normaloff>:/img/Smartphone.png</iconset>
</property>
<property name="iconSize">
@@ -1000,7 +1006,7 @@ smartphone</string>
system</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/tv.png</normaloff>:/img/tv.png</iconset>
</property>
<property name="iconSize">
@@ -1039,7 +1045,7 @@ system</string>
WEB</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
</property>
<property name="iconSize">
@@ -1077,7 +1083,7 @@ WEB</string>
<string>Lossless</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/Lossless.png</normaloff>:/img/Lossless.png</iconset>
</property>
<property name="iconSize">
@@ -1124,7 +1130,7 @@ WEB</string>
<string>Advanced</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/render.png</normaloff>:/img/render.png</iconset>
</property>
<property name="iconSize">
@@ -1148,6 +1154,12 @@ WEB</string>
</layout>
</widget>
<widget class="QWidget" name="TabHelp">
+ <property name="font">
+ <font>
+ <family>Sans Serif</family>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
<attribute name="title">
<string>Help</string>
</attribute>
@@ -1185,13 +1197,13 @@ WEB</string>
</font>
</property>
<property name="toolTip">
- <string>Display informations about ffDiaporama</string>
+ <string>Display information about ffDiaporama</string>
</property>
<property name="text">
<string>About</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/application-ffDiaporama.png</normaloff>:/application-ffDiaporama.png</iconset>
</property>
<property name="iconSize">
@@ -1239,7 +1251,7 @@ WEB</string>
and help</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
</property>
<property name="iconSize">
@@ -1289,7 +1301,7 @@ and help</string>
<string>What's new</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/contents.png</normaloff>:/img/contents.png</iconset>
</property>
<property name="iconSize">
@@ -1389,7 +1401,7 @@ QToolButton:pressed {
project</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/filenew.png</normaloff>:/img/filenew.png</iconset>
</property>
<property name="iconSize">
@@ -1440,7 +1452,7 @@ project</string>
project</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/fileopen.png</normaloff>:/img/fileopen.png</iconset>
</property>
<property name="iconSize">
@@ -1491,7 +1503,7 @@ project</string>
recent</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/filerecent.png</normaloff>:/img/filerecent.png</iconset>
</property>
<property name="iconSize">
@@ -1539,7 +1551,7 @@ recent</string>
project</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/filesave.png</normaloff>:/img/filesave.png</iconset>
</property>
<property name="iconSize">
@@ -1590,7 +1602,7 @@ project</string>
project as</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/filesaveas.png</normaloff>:/img/filesaveas.png</iconset>
</property>
<property name="iconSize">
@@ -1633,7 +1645,7 @@ project as</string>
properties</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/PrjProperties.png</normaloff>:/img/PrjProperties.png</iconset>
</property>
<property name="iconSize">
@@ -1674,7 +1686,7 @@ properties</string>
<string>Settings</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/config.png</normaloff>:/img/config.png</iconset>
</property>
<property name="iconSize">
@@ -1715,7 +1727,7 @@ properties</string>
<string>Exit</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/exit.png</normaloff>:/img/exit.png</iconset>
</property>
<property name="iconSize">
@@ -1790,7 +1802,7 @@ properties</string>
title</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/add_text.png</normaloff>:/img/add_text.png</iconset>
</property>
<property name="iconSize">
@@ -1838,7 +1850,7 @@ title</string>
files</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/add_image.png</normaloff>:/img/add_image.png</iconset>
</property>
<property name="iconSize">
@@ -1883,7 +1895,7 @@ files</string>
project</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/add_project.png</normaloff>:/img/add_project.png</iconset>
</property>
<property name="iconSize">
@@ -1931,7 +1943,7 @@ project</string>
<string>Cut</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/editcut.png</normaloff>:/img/editcut.png</iconset>
</property>
<property name="iconSize">
@@ -1975,7 +1987,7 @@ project</string>
<string>Copy</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/editcopy.png</normaloff>:/img/editcopy.png</iconset>
</property>
<property name="iconSize">
@@ -2019,7 +2031,7 @@ project</string>
<string>Paste</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/editpaste.png</normaloff>:/img/editpaste.png</iconset>
</property>
<property name="iconSize">
@@ -2073,7 +2085,7 @@ project</string>
<string>Edit</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/edit.png</normaloff>:/img/edit.png</iconset>
</property>
<property name="iconSize">
@@ -2114,7 +2126,7 @@ project</string>
<string>Remove</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/trash.png</normaloff>:/img/trash.png</iconset>
</property>
<property name="iconSize">
@@ -2186,7 +2198,7 @@ project</string>
smartphone</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/Smartphone.png</normaloff>:/img/Smartphone.png</iconset>
</property>
<property name="iconSize">
@@ -2231,7 +2243,7 @@ smartphone</string>
system</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/tv.png</normaloff>:/img/tv.png</iconset>
</property>
<property name="iconSize">
@@ -2270,7 +2282,7 @@ system</string>
WEB</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
</property>
<property name="iconSize">
@@ -2308,7 +2320,7 @@ WEB</string>
<string>Lossless</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/Lossless.png</normaloff>:/img/Lossless.png</iconset>
</property>
<property name="iconSize">
@@ -2355,7 +2367,7 @@ WEB</string>
<string>Advanced</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/render.png</normaloff>:/img/render.png</iconset>
</property>
<property name="iconSize">
@@ -2403,13 +2415,13 @@ WEB</string>
</font>
</property>
<property name="toolTip">
- <string>Display informations about ffDiaporama</string>
+ <string>Display information about ffDiaporama</string>
</property>
<property name="text">
<string>About</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/application-ffDiaporama.png</normaloff>:/application-ffDiaporama.png</iconset>
</property>
<property name="iconSize">
@@ -2457,7 +2469,7 @@ WEB</string>
and help</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
</property>
<property name="iconSize">
@@ -2507,7 +2519,7 @@ and help</string>
<string>What's new</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/contents.png</normaloff>:/img/contents.png</iconset>
</property>
<property name="iconSize">
@@ -2564,7 +2576,7 @@ and help</string>
</layout>
</item>
<item>
- <widget class="cCustomTableWidget" name="timeline">
+ <widget class="cCustomSlideTable" name="timeline">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
@@ -2656,7 +2668,7 @@ and help</string>
<string notr="true"/>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/fifteenpieces.png</normaloff>:/img/fifteenpieces.png</iconset>
</property>
</row>
@@ -2777,7 +2789,7 @@ and help</string>
<string notr="true"/>
</property>
<property name="pixmap">
- <pixmap resource="../../RSCffDiaporama.qrc">:/img/logo_big.png</pixmap>
+ <pixmap>:/img/logo_big.png</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
@@ -2939,7 +2951,7 @@ and help</string>
<string>...</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/player_play.png</normaloff>:/img/player_play.png</iconset>
</property>
</widget>
@@ -2979,7 +2991,7 @@ and help</string>
<string notr="true"/>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/journal.png</normaloff>:/img/journal.png</iconset>
</property>
</widget>
@@ -3019,7 +3031,7 @@ and help</string>
<string notr="true"/>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/zoomup.png</normaloff>:/img/zoomup.png</iconset>
</property>
</widget>
@@ -3059,7 +3071,7 @@ and help</string>
<string notr="true"/>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/zoomdown.png</normaloff>:/img/zoomdown.png</iconset>
</property>
</widget>
@@ -3069,6 +3081,10 @@ and help</string>
</layout>
</widget>
<action name="actionEdit_background">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/fifteenpieces.png</normaloff>:/img/fifteenpieces.png</iconset>
+ </property>
<property name="text">
<string>Edit background</string>
</property>
@@ -3080,6 +3096,10 @@ and help</string>
</property>
</action>
<action name="actionEdit_object">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/edit.png</normaloff>:/img/edit.png</iconset>
+ </property>
<property name="text">
<string>Edit slide</string>
</property>
@@ -3091,6 +3111,10 @@ and help</string>
</property>
</action>
<action name="actionEdit_music">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/object_sound.png</normaloff>:/img/object_sound.png</iconset>
+ </property>
<property name="text">
<string>Edit music</string>
</property>
@@ -3102,6 +3126,10 @@ and help</string>
</property>
</action>
<action name="actionEdit_object_in_transition">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Transitions/tr-00-01.png</normaloff>:/img/Transitions/tr-00-01.png</iconset>
+ </property>
<property name="text">
<string>Edit object transition</string>
</property>
@@ -3112,12 +3140,103 @@ and help</string>
<string>F8</string>
</property>
</action>
- <action name="actionEdit_background_transition">
+ <action name="actionRemove">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/trash.png</normaloff>:/img/trash.png</iconset>
+ </property>
+ <property name="text">
+ <string>Remove</string>
+ </property>
+ <property name="toolTip">
+ <string>Remove current slide (DEL)</string>
+ </property>
+ <property name="shortcut">
+ <string>Del</string>
+ </property>
+ </action>
+ <action name="actionCut">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/editcut.png</normaloff>:/img/editcut.png</iconset>
+ </property>
+ <property name="text">
+ <string>Cut</string>
+ </property>
+ <property name="toolTip">
+ <string>Copy current slide to clipboard and remove it (Ctrl+X)</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+X</string>
+ </property>
+ </action>
+ <action name="actionCopy">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/editcopy.png</normaloff>:/img/editcopy.png</iconset>
+ </property>
+ <property name="text">
+ <string>Copy</string>
+ </property>
+ <property name="toolTip">
+ <string>Copy current slide to clipboard (Ctrl+C)</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+C</string>
+ </property>
+ </action>
+ <action name="actionPaste">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/editpaste.png</normaloff>:/img/editpaste.png</iconset>
+ </property>
+ <property name="text">
+ <string>Paste</string>
+ </property>
+ <property name="toolTip">
+ <string>Paste current slide from clipboard (Ctrl+V)</string>
+ </property>
+ <property name="shortcut">
+ <string>Ctrl+V</string>
+ </property>
+ </action>
+ <action name="actionAddTitle">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/add_text.png</normaloff>:/img/add_text.png</iconset>
+ </property>
+ <property name="text">
+ <string>Add title</string>
+ </property>
+ <property name="toolTip">
+ <string>Add an empty slide</string>
+ </property>
+ </action>
+ <action name="actionAddFiles">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/add_image.png</normaloff>:/img/add_image.png</iconset>
+ </property>
+ <property name="text">
+ <string>Add files</string>
+ </property>
+ <property name="toolTip">
+ <string>Add image or video as slide (INS)</string>
+ </property>
+ <property name="shortcut">
+ <string>Ins</string>
+ </property>
+ </action>
+ <action name="actionAddProject">
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/add_project.png</normaloff>:/img/add_project.png</iconset>
+ </property>
<property name="text">
- <string>Edit background transition</string>
+ <string>Add project</string>
</property>
<property name="toolTip">
- <string>Edit the entering background transition for the slide</string>
+ <string>Add a previously saved project at the end of this project</string>
</property>
</action>
</widget>
@@ -3129,9 +3248,9 @@ and help</string>
<container>1</container>
</customwidget>
<customwidget>
- <class>cCustomTableWidget</class>
+ <class>cCustomSlideTable</class>
<extends>QTableWidget</extends>
- <header>cCustomTableWidget.h</header>
+ <header>cCustomSlideTable.h</header>
</customwidget>
</customwidgets>
<resources>
diff --git a/src/ffDiaporama/object_script.ffDiaporama.Debug b/src/ffDiaporama/object_script.ffDiaporama.Debug
index 6130797..6637553 100755
--- a/src/ffDiaporama/object_script.ffDiaporama.Debug
+++ b/src/ffDiaporama/object_script.ffDiaporama.Debug
@@ -1,68 +1,76 @@
INPUT(
./..\..\..\windebugbuild\src\ffDiaporama\_ApplicationDefinitions.o
-./..\..\..\windebugbuild\src\ffDiaporama\_SoundDefinitions.o
./..\..\..\windebugbuild\src\ffDiaporama\_ImagesDefinitions.o
./..\..\..\windebugbuild\src\ffDiaporama\_Diaporama.o
./..\..\..\windebugbuild\src\ffDiaporama\wgt_QVideoPlayer.o
-./..\..\..\windebugbuild\src\ffDiaporama\wgt_QCustomThumbnails.o
-./..\..\..\windebugbuild\src\ffDiaporama\DlgApplicationSettings.o
-./..\..\..\windebugbuild\src\ffDiaporama\DlgBackgroundProperties.o
-./..\..\..\windebugbuild\src\ffDiaporama\cCustomGraphicsRectItem.o
./..\..\..\windebugbuild\src\ffDiaporama\cCustomComboBox.o
-./..\..\..\windebugbuild\src\ffDiaporama\DlgMusicProperties.o
-./..\..\..\windebugbuild\src\ffDiaporama\DlgRenderVideo.o
-./..\..\..\windebugbuild\src\ffDiaporama\DlgTransitionProperties.o
-./..\..\..\windebugbuild\src\ffDiaporama\DlgAbout.o
./..\..\..\windebugbuild\src\ffDiaporama\mainwindow.o
./..\..\..\windebugbuild\src\ffDiaporama\main.o
-./..\..\..\windebugbuild\src\ffDiaporama\DlgSlideProperties.o
+./..\..\..\windebugbuild\src\ffDiaporama\cCustomSlideTable.o
+./..\..\..\windebugbuild\src\ffDiaporama\_StyleDefinitions.o
+./..\..\..\windebugbuild\src\ffDiaporama\DlgRenderVideo.o
+./..\..\..\windebugbuild\src\ffDiaporama\DlgManageStyle.o
+./..\..\..\windebugbuild\src\ffDiaporama\DlgAbout.o
+./..\..\..\windebugbuild\src\ffDiaporama\DlgTransitionProperties.o
+./..\..\..\windebugbuild\src\ffDiaporama\DlgMusicProperties.o
+./..\..\..\windebugbuild\src\ffDiaporama\DlgBackgroundProperties.o
+./..\..\..\windebugbuild\src\ffDiaporama\DlgManageDevices.o
+./..\..\..\windebugbuild\src\ffDiaporama\DlgApplicationSettings.o
+./..\..\..\windebugbuild\src\ffDiaporama\cImgInteractiveZone.o
./..\..\..\windebugbuild\src\ffDiaporama\DlgImageCorrection.o
-./..\..\..\windebugbuild\src\ffDiaporama\DlgVideoEdit.o
+./..\..\..\windebugbuild\src\ffDiaporama\cCustomBlockTable.o
+./..\..\..\windebugbuild\src\ffDiaporama\DlgSlideProperties.o
+./..\..\..\windebugbuild\src\ffDiaporama\cInteractiveZone.o
+./..\..\..\windebugbuild\src\ffDiaporama\cCustomShotTable.o
+./..\..\..\windebugbuild\src\ffDiaporama\DlgRulerDef.o
+./..\..\..\windebugbuild\src\ffDiaporama\cCustomTextEdit.o
./..\..\..\windebugbuild\src\ffDiaporama\DlgTextEdit.o
-./..\..\..\windebugbuild\src\ffDiaporama\cCustomTableWidget.o
-./..\..\..\windebugbuild\src\ffDiaporama\DlgManageStyle.o
-./..\..\..\windebugbuild\src\ffDiaporama\_StyleDefinitions.o
+./..\..\..\windebugbuild\src\ffDiaporama\DlgVideoEdit.o
+./..\..\..\windebugbuild\src\ffDiaporama\DlgCheckConfig.o
+./..\..\..\windebugbuild\src\ffDiaporama\DlgInfoFile.o
+./..\..\..\windebugbuild\src\ffDiaporama\DlgffDPjrProperties.o
./..\..\..\windebugbuild\src\ffDiaporama\_GlobalDefines.o
./..\..\..\windebugbuild\src\ffDiaporama\QCustomRuller.o
-./..\..\..\windebugbuild\src\ffDiaporama\DlgCheckConfig.o
./..\..\..\windebugbuild\src\ffDiaporama\cSaveWindowPosition.o
./..\..\..\windebugbuild\src\ffDiaporama\cBaseApplicationConfig.o
./..\..\..\windebugbuild\src\ffDiaporama\cFilterTransformObject.o
-./..\..\..\windebugbuild\src\ffDiaporama\fmt_filters.o
./..\..\..\windebugbuild\src\ffDiaporama\cLuLoImageCache.o
./..\..\..\windebugbuild\src\ffDiaporama\cDeviceModelDef.o
./..\..\..\windebugbuild\src\ffDiaporama\cSoundBlockList.o
./..\..\..\windebugbuild\src\ffDiaporama\cBaseMediaFile.o
./..\..\..\windebugbuild\src\ffDiaporama\_SDL_Support.o
./..\..\..\windebugbuild\src\ffDiaporama\_QCustomDialog.o
-./..\..\..\windebugbuild\src\ffDiaporama\DlgManageDevices.o
./..\..\..\windebugbuild\src\ffDiaporama\QCustomFileInfoLabel.o
-./..\..\..\windebugbuild\src\ffDiaporama\DlgffDPjrProperties.o
./..\..\..\windebugbuild\src\ffDiaporama\cBrushDefinition.o
./..\..\..\windebugbuild\src\ffDiaporama\cCustomIcon.o
-./..\..\..\windebugbuild\src\ffDiaporama\DlgInfoFile.o
+./..\..\..\windebugbuild\src\ffDiaporama\fmt_filters.o
./..\..\..\windebugbuild\src\ffDiaporama\moc_wgt_QVideoPlayer.o
-./..\..\..\windebugbuild\src\ffDiaporama\moc_wgt_QCustomThumbnails.o
-./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgApplicationSettings.o
-./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgBackgroundProperties.o
./..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomComboBox.o
-./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgMusicProperties.o
+./..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomSlideTable.o
+./..\..\..\windebugbuild\src\ffDiaporama\moc_mainwindow.o
./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgRenderVideo.o
-./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTransitionProperties.o
+./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageStyle.o
./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgAbout.o
-./..\..\..\windebugbuild\src\ffDiaporama\moc_mainwindow.o
-./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgSlideProperties.o
+./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTransitionProperties.o
+./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgMusicProperties.o
+./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgBackgroundProperties.o
+./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageDevices.o
+./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgApplicationSettings.o
+./..\..\..\windebugbuild\src\ffDiaporama\moc_cImgInteractiveZone.o
./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgImageCorrection.o
-./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgVideoEdit.o
+./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgSlideProperties.o
+./..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomBlockTable.o
+./..\..\..\windebugbuild\src\ffDiaporama\moc_cInteractiveZone.o
+./..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomShotTable.o
+./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgRulerDef.o
+./..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomTextEdit.o
./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgTextEdit.o
-./..\..\..\windebugbuild\src\ffDiaporama\moc_cCustomTableWidget.o
-./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageStyle.o
-./..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomRuller.o
+./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgVideoEdit.o
./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgCheckConfig.o
+./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgInfoFile.o
+./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgffDPjrProperties.o
+./..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomRuller.o
./..\..\..\windebugbuild\src\ffDiaporama\moc__QCustomDialog.o
-./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgManageDevices.o
./..\..\..\windebugbuild\src\ffDiaporama\moc_QCustomFileInfoLabel.o
-./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgffDPjrProperties.o
-./..\..\..\windebugbuild\src\ffDiaporama\moc_DlgInfoFile.o
./..\..\..\windebugbuild\src\ffDiaporama\qrc_RSCffDiaporama.o
);
diff --git a/src/ffDiaporama/object_script.ffDiaporama.Release b/src/ffDiaporama/object_script.ffDiaporama.Release
index 78b8402..95c34de 100755
--- a/src/ffDiaporama/object_script.ffDiaporama.Release
+++ b/src/ffDiaporama/object_script.ffDiaporama.Release
@@ -1,68 +1,76 @@
INPUT(
./..\..\..\winbuild\src\ffDiaporama\_ApplicationDefinitions.o
-./..\..\..\winbuild\src\ffDiaporama\_SoundDefinitions.o
./..\..\..\winbuild\src\ffDiaporama\_ImagesDefinitions.o
./..\..\..\winbuild\src\ffDiaporama\_Diaporama.o
./..\..\..\winbuild\src\ffDiaporama\wgt_QVideoPlayer.o
-./..\..\..\winbuild\src\ffDiaporama\wgt_QCustomThumbnails.o
-./..\..\..\winbuild\src\ffDiaporama\DlgApplicationSettings.o
-./..\..\..\winbuild\src\ffDiaporama\DlgBackgroundProperties.o
-./..\..\..\winbuild\src\ffDiaporama\cCustomGraphicsRectItem.o
./..\..\..\winbuild\src\ffDiaporama\cCustomComboBox.o
-./..\..\..\winbuild\src\ffDiaporama\DlgMusicProperties.o
-./..\..\..\winbuild\src\ffDiaporama\DlgRenderVideo.o
-./..\..\..\winbuild\src\ffDiaporama\DlgTransitionProperties.o
-./..\..\..\winbuild\src\ffDiaporama\DlgAbout.o
./..\..\..\winbuild\src\ffDiaporama\mainwindow.o
./..\..\..\winbuild\src\ffDiaporama\main.o
-./..\..\..\winbuild\src\ffDiaporama\DlgSlideProperties.o
+./..\..\..\winbuild\src\ffDiaporama\cCustomSlideTable.o
+./..\..\..\winbuild\src\ffDiaporama\_StyleDefinitions.o
+./..\..\..\winbuild\src\ffDiaporama\DlgRenderVideo.o
+./..\..\..\winbuild\src\ffDiaporama\DlgManageStyle.o
+./..\..\..\winbuild\src\ffDiaporama\DlgAbout.o
+./..\..\..\winbuild\src\ffDiaporama\DlgTransitionProperties.o
+./..\..\..\winbuild\src\ffDiaporama\DlgMusicProperties.o
+./..\..\..\winbuild\src\ffDiaporama\DlgBackgroundProperties.o
+./..\..\..\winbuild\src\ffDiaporama\DlgManageDevices.o
+./..\..\..\winbuild\src\ffDiaporama\DlgApplicationSettings.o
+./..\..\..\winbuild\src\ffDiaporama\cImgInteractiveZone.o
./..\..\..\winbuild\src\ffDiaporama\DlgImageCorrection.o
-./..\..\..\winbuild\src\ffDiaporama\DlgVideoEdit.o
+./..\..\..\winbuild\src\ffDiaporama\cCustomBlockTable.o
+./..\..\..\winbuild\src\ffDiaporama\DlgSlideProperties.o
+./..\..\..\winbuild\src\ffDiaporama\cInteractiveZone.o
+./..\..\..\winbuild\src\ffDiaporama\cCustomShotTable.o
+./..\..\..\winbuild\src\ffDiaporama\DlgRulerDef.o
+./..\..\..\winbuild\src\ffDiaporama\cCustomTextEdit.o
./..\..\..\winbuild\src\ffDiaporama\DlgTextEdit.o
-./..\..\..\winbuild\src\ffDiaporama\cCustomTableWidget.o
-./..\..\..\winbuild\src\ffDiaporama\DlgManageStyle.o
-./..\..\..\winbuild\src\ffDiaporama\_StyleDefinitions.o
+./..\..\..\winbuild\src\ffDiaporama\DlgVideoEdit.o
+./..\..\..\winbuild\src\ffDiaporama\DlgCheckConfig.o
+./..\..\..\winbuild\src\ffDiaporama\DlgInfoFile.o
+./..\..\..\winbuild\src\ffDiaporama\DlgffDPjrProperties.o
./..\..\..\winbuild\src\ffDiaporama\_GlobalDefines.o
./..\..\..\winbuild\src\ffDiaporama\QCustomRuller.o
-./..\..\..\winbuild\src\ffDiaporama\DlgCheckConfig.o
./..\..\..\winbuild\src\ffDiaporama\cSaveWindowPosition.o
./..\..\..\winbuild\src\ffDiaporama\cBaseApplicationConfig.o
./..\..\..\winbuild\src\ffDiaporama\cFilterTransformObject.o
-./..\..\..\winbuild\src\ffDiaporama\fmt_filters.o
./..\..\..\winbuild\src\ffDiaporama\cLuLoImageCache.o
./..\..\..\winbuild\src\ffDiaporama\cDeviceModelDef.o
./..\..\..\winbuild\src\ffDiaporama\cSoundBlockList.o
./..\..\..\winbuild\src\ffDiaporama\cBaseMediaFile.o
./..\..\..\winbuild\src\ffDiaporama\_SDL_Support.o
./..\..\..\winbuild\src\ffDiaporama\_QCustomDialog.o
-./..\..\..\winbuild\src\ffDiaporama\DlgManageDevices.o
./..\..\..\winbuild\src\ffDiaporama\QCustomFileInfoLabel.o
-./..\..\..\winbuild\src\ffDiaporama\DlgffDPjrProperties.o
./..\..\..\winbuild\src\ffDiaporama\cBrushDefinition.o
./..\..\..\winbuild\src\ffDiaporama\cCustomIcon.o
-./..\..\..\winbuild\src\ffDiaporama\DlgInfoFile.o
+./..\..\..\winbuild\src\ffDiaporama\fmt_filters.o
./..\..\..\winbuild\src\ffDiaporama\moc_wgt_QVideoPlayer.o
-./..\..\..\winbuild\src\ffDiaporama\moc_wgt_QCustomThumbnails.o
-./..\..\..\winbuild\src\ffDiaporama\moc_DlgApplicationSettings.o
-./..\..\..\winbuild\src\ffDiaporama\moc_DlgBackgroundProperties.o
./..\..\..\winbuild\src\ffDiaporama\moc_cCustomComboBox.o
-./..\..\..\winbuild\src\ffDiaporama\moc_DlgMusicProperties.o
+./..\..\..\winbuild\src\ffDiaporama\moc_cCustomSlideTable.o
+./..\..\..\winbuild\src\ffDiaporama\moc_mainwindow.o
./..\..\..\winbuild\src\ffDiaporama\moc_DlgRenderVideo.o
-./..\..\..\winbuild\src\ffDiaporama\moc_DlgTransitionProperties.o
+./..\..\..\winbuild\src\ffDiaporama\moc_DlgManageStyle.o
./..\..\..\winbuild\src\ffDiaporama\moc_DlgAbout.o
-./..\..\..\winbuild\src\ffDiaporama\moc_mainwindow.o
-./..\..\..\winbuild\src\ffDiaporama\moc_DlgSlideProperties.o
+./..\..\..\winbuild\src\ffDiaporama\moc_DlgTransitionProperties.o
+./..\..\..\winbuild\src\ffDiaporama\moc_DlgMusicProperties.o
+./..\..\..\winbuild\src\ffDiaporama\moc_DlgBackgroundProperties.o
+./..\..\..\winbuild\src\ffDiaporama\moc_DlgManageDevices.o
+./..\..\..\winbuild\src\ffDiaporama\moc_DlgApplicationSettings.o
+./..\..\..\winbuild\src\ffDiaporama\moc_cImgInteractiveZone.o
./..\..\..\winbuild\src\ffDiaporama\moc_DlgImageCorrection.o
-./..\..\..\winbuild\src\ffDiaporama\moc_DlgVideoEdit.o
+./..\..\..\winbuild\src\ffDiaporama\moc_DlgSlideProperties.o
+./..\..\..\winbuild\src\ffDiaporama\moc_cCustomBlockTable.o
+./..\..\..\winbuild\src\ffDiaporama\moc_cInteractiveZone.o
+./..\..\..\winbuild\src\ffDiaporama\moc_cCustomShotTable.o
+./..\..\..\winbuild\src\ffDiaporama\moc_DlgRulerDef.o
+./..\..\..\winbuild\src\ffDiaporama\moc_cCustomTextEdit.o
./..\..\..\winbuild\src\ffDiaporama\moc_DlgTextEdit.o
-./..\..\..\winbuild\src\ffDiaporama\moc_cCustomTableWidget.o
-./..\..\..\winbuild\src\ffDiaporama\moc_DlgManageStyle.o
-./..\..\..\winbuild\src\ffDiaporama\moc_QCustomRuller.o
+./..\..\..\winbuild\src\ffDiaporama\moc_DlgVideoEdit.o
./..\..\..\winbuild\src\ffDiaporama\moc_DlgCheckConfig.o
+./..\..\..\winbuild\src\ffDiaporama\moc_DlgInfoFile.o
+./..\..\..\winbuild\src\ffDiaporama\moc_DlgffDPjrProperties.o
+./..\..\..\winbuild\src\ffDiaporama\moc_QCustomRuller.o
./..\..\..\winbuild\src\ffDiaporama\moc__QCustomDialog.o
-./..\..\..\winbuild\src\ffDiaporama\moc_DlgManageDevices.o
./..\..\..\winbuild\src\ffDiaporama\moc_QCustomFileInfoLabel.o
-./..\..\..\winbuild\src\ffDiaporama\moc_DlgffDPjrProperties.o
-./..\..\..\winbuild\src\ffDiaporama\moc_DlgInfoFile.o
./..\..\..\winbuild\src\ffDiaporama\qrc_RSCffDiaporama.o
);
diff --git a/src/ffDiaporama/wgt_QCustomThumbnails.cpp b/src/ffDiaporama/wgt_QCustomThumbnails.cpp
deleted file mode 100755
index e55aaeb..0000000
--- a/src/ffDiaporama/wgt_QCustomThumbnails.cpp
+++ /dev/null
@@ -1,679 +0,0 @@
-/* ======================================================================
- This file is part of ffGlobalMainWindow->Diaporama
- ffGlobalMainWindow->Diaporama is a tools to make GlobalMainWindow->Diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "wgt_QCustomThumbnails.h"
-#include "cCustomTableWidget.h"
-#include "mainwindow.h"
-
-//======================================
-// Specific defines for this dialog box
-//======================================
-#define TransitionSize 36
-#define WidgetSelection_Color Qt::blue
-#define WidgetDrag_Color Qt::red
-#define WidgetBackground_Color 0xC2C7CB
-#define WidgetBorder_Color Qt::black
-#define ObjectBackground_Ruller Qt::darkGray
-#define FirstMusic_Color Qt::green
-#define SecondMusic_Color Qt::darkGreen
-#define FirstSound_Color Qt::cyan
-#define SecondSound_Color Qt::darkCyan
-#define DotLine_Color Qt::white
-
-// Icons
-#define ICON_SHOTPRESENCE ":/img/TimelineShots.png" // FileName of icon representing shots in the timeline
-#define ICON_BLOCKPRESENCE ":/img/TimelineBlocks.png" // FileName of icon representing blocks in the timeline
-#define ICON_HAVEFILTER ":/img/Transform.png" // FileName of icon representing block with filter in the timeline
-#define ICON_PLAYERPAUSE ":/img/player_pause.png" // FileName of pause icon
-
-//===========================================================================================================================
-
-wgt_QCustomThumbnails::wgt_QCustomThumbnails(QTableWidget *TheTimeline,int TheType) : QLabel(TheTimeline) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_QCustomThumbnails::wgt_QCustomThumbnails");
- Timeline =TheTimeline;
- Type =TheType;
- DiaporamaObject =NULL;
- HasBackGTransition =false;
- BackGTransitionRect =QRect(0,0,0,0);
- HasTransition =false;
- TransitionRect =QRect(0,0,0,0);
- HasSoundTrack =false;
- SoundTrackRect =QRect(0,0,0,0);
- BackgroundRect =QRect(0,0,0,0);
- MediaObjectRect =QRect(0,0,0,0);
- MusicTrackRect =QRect(0,0,0,0);
-
- setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
-}
-
-//===========================================================================================================================
-
-wgt_QCustomThumbnails::~wgt_QCustomThumbnails() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_QCustomThumbnails::wgt_QCustomThumbnails");
-}
-
-void wgt_QCustomThumbnails::mouseMoveEvent(QMouseEvent *event) {
- QLabel::mouseMoveEvent(event);
-}
-
-void wgt_QCustomThumbnails::mousePressEvent(QMouseEvent *event) {
- QLabel::mousePressEvent(event);
-}
-
-//===========================================================================================================================
-// Double click handler : emit edit signal depending on mouse position
-//===========================================================================================================================
-
-void wgt_QCustomThumbnails::mouseDoubleClickEvent(QMouseEvent *Event) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_QCustomThumbnails::mouseDoubleClickEvent");
- int XPos=mapFromGlobal(QPoint(Event->globalX(),Event->globalY())).x();
- int YPos=mapFromGlobal(QPoint(Event->globalX(),Event->globalY())).y();
-
- if ((HasBackGTransition)&&(XPos>=BackGTransitionRect.left())&&(XPos<=BackGTransitionRect.right())&&(YPos>=BackGTransitionRect.top())&&(YPos<=BackGTransitionRect.bottom())) emit EditBackGTransition();
- else if ((HasTransition)&&(XPos>=TransitionRect.left())&&(XPos<=TransitionRect.right())&&(YPos>=TransitionRect.top())&&(YPos<=TransitionRect.bottom())) emit EditTransition();
- else if ((HasSoundTrack)&&(XPos>=SoundTrackRect.left())&&(XPos<=SoundTrackRect.right())&&(YPos>=SoundTrackRect.top())&&(YPos<=SoundTrackRect.bottom())) emit EditSoundTrack();
- else if ((XPos>=BackgroundRect.left())&&(XPos<=BackgroundRect.right())&&(YPos>=BackgroundRect.top())&&(YPos<=BackgroundRect.bottom())) emit EditBackground();
- else if ((XPos>=MediaObjectRect.left())&&(XPos<=MediaObjectRect.right())&&(YPos>=MediaObjectRect.top())&&(YPos<=MediaObjectRect.bottom())) emit EditMediaObject();
- else if ((XPos>=MusicTrackRect.left())&&(XPos<=MusicTrackRect.right())&&(YPos>=MusicTrackRect.top())&&(YPos<=MusicTrackRect.bottom())) emit EditMusicTrack();
-}
-
-//===========================================================================================================================
-
-void wgt_QCustomThumbnails::paintEvent(QPaintEvent *) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_QCustomThumbnails::paintEvent");
- QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
- QPainter Painter(this);
- Painter.setRenderHints(QPainter::Antialiasing|QPainter::TextAntialiasing|QPainter::SmoothPixmapTransform|QPainter::HighQualityAntialiasing|QPainter::NonCosmeticDefaultPen);
-
- //===========================================================================================================================
- if (Type==THUMBNAILTYPE_SHOT) { // Thumnails of the slide dialog timeline
- //===========================================================================================================================
-
- if (DiaporamaObject) {
- // Draw a standard thumbnail (just the image) at position of the current row
- Painter.save();
-
- int Col =0;
- qlonglong Position=0;
- qlonglong Duration=0;
- bool RedColor=false;
-
- if ((Col<Timeline->columnCount()-1)&&(Col<DiaporamaObject->List.count()-1)) Duration=DiaporamaObject->List[Col]->StaticDuration; else {
- Duration=DiaporamaObject->GetDuration()-Position; // Last shot
- RedColor=(Col<Timeline->columnCount())&&(Duration!=DiaporamaObject->List[Col]->StaticDuration);
- }
- while ((Col<Timeline->columnCount())&&(Col<DiaporamaObject->List.count())) {
- if (Timeline->cellWidget(0,Col)!=this) {
- Position=Position+Duration;
- Col++;
- if ((Col<Timeline->columnCount()-1)&&(Col<DiaporamaObject->List.count()-1)) Duration=DiaporamaObject->List[Col]->StaticDuration; else {
- Duration=DiaporamaObject->GetDuration()-Position; // Last shot
- RedColor=(Col<Timeline->columnCount())&&(Duration!=DiaporamaObject->List[Col]->StaticDuration);
- }
- } else if (Timeline->cellWidget(0,Col)==this) {
- int Height=Timeline->rowHeight(0);
- int Width =Timeline->columnWidth(Col);
- if (Width!=GlobalMainWindow->Diaporama->GetWidthForHeight(Height)) {
- Width=GlobalMainWindow->Diaporama->GetWidthForHeight(Height);
- Timeline->setColumnWidth(Col,Width);
- }
-
- Painter.fillRect(0,0,Width,Height,Transparent);
-
- //-------------------------
- // Draw thumbnail of image
- //-------------------------
-
- // Add static shot composition
- if (Col<DiaporamaObject->List.count()) for (int j=0;j<DiaporamaObject->List[Col]->ShotComposition.List.count();j++) {
- int StartPosToAdd=0;
- if (DiaporamaObject->List[Col]->ShotComposition.List[j]->BackgroundBrush->Video) {
- for (int k=0;k<Col;k++) {
- for (int l=0;l<DiaporamaObject->List[k]->ShotComposition.List.count();l++) if (DiaporamaObject->List[k]->ShotComposition.List[l]->IndexKey==DiaporamaObject->List[Col]->ShotComposition.List[j]->IndexKey) {
- if (DiaporamaObject->List[k]->ShotComposition.List[l]->IsVisible) StartPosToAdd+=DiaporamaObject->List[k]->StaticDuration;
- l=DiaporamaObject->List[k]->ShotComposition.List.count(); // Stop loop
- }
- }
- DiaporamaObject->List[Col]->ShotComposition.List[j]->DrawCompositionObject(&Painter,double(Height)/double(1080),0,0,Width,Height,true,0,StartPosToAdd,NULL,0,NULL,false);
- } else DiaporamaObject->List[Col]->ShotComposition.List[j]->DrawCompositionObject(&Painter,double(Height)/double(1080),0,0,Width,Height,true,Position,0,NULL,0,NULL,false);
- }
-
- // -------------------------- Draw selected box (if needed)
-
- if (Col==Timeline->currentColumn()) {
- QPen Pen;
- Pen.setColor(Qt::blue);
- Pen.setWidth(6);
- Painter.setPen(Pen);
- Painter.setBrush(Qt::NoBrush);
- Painter.drawRect(0,0,this->width()-1,this->height()-1);
- }
-
- // Draw Drag & Drop inserting point (if needed)
- if ((GlobalMainWindow->IsDragOn==1)&&(Col!=GlobalMainWindow->DragItemSource)&&((Col!=GlobalMainWindow->DragItemSource+1)||(GlobalMainWindow->DragItemSource!=DiaporamaObject->List.count()-1))&&(Col<DiaporamaObject->List.count())&&(
- (Col==GlobalMainWindow->DragItemDest)||((Col==DiaporamaObject->List.count()-1)&&(GlobalMainWindow->DragItemDest>=DiaporamaObject->List.count()))))
- {
- Painter.save();
- QPen Pen;
- Pen.setColor(WidgetDrag_Color);
- Pen.setStyle(Qt::SolidLine);
- Pen.setWidth(10);
- Painter.setPen(Pen);
- Painter.setBrush(Qt::NoBrush); //QBrush(QColor(WidgetSelection_Color)));
- Painter.setOpacity(0.5);
- if ((Col==DiaporamaObject->List.count()-1)&&(GlobalMainWindow->DragItemDest>=DiaporamaObject->List.count())) Painter.drawRect(width(),0,width(),Height);
- else Painter.drawRect(0,0,0,Height);
- Painter.setOpacity(1);
- Painter.restore();
- }
-
- // -------------------------- Draw shot duration
- QPen Pen;
- QFont font= QApplication::font();
- font.setPointSizeF(double(3500)/double(SCALINGTEXTFACTOR)); // Scale font
- Painter.setFont(font);
- Pen.setWidth(1);
- Pen.setStyle(Qt::SolidLine);
- if (Col<DiaporamaObject->List.count()) {
- QString ShotDuration=QTime(0,0,0,0).addMSecs(Duration).toString("hh:mm:ss.zzz");
- Pen.setColor(Qt::black);
- Painter.setPen(Pen);
- Painter.drawText(QRectF(1,4+1,this->width(),this->height()),ShotDuration,Qt::AlignHCenter|Qt::AlignTop);
- Pen.setColor(RedColor?Qt::red:Qt::white);
- Painter.setPen(Pen);
- Painter.drawText(QRectF(0,4,this->width()-1,this->height()-1),ShotDuration,Qt::AlignHCenter|Qt::AlignTop);
- }
- Col++;
- MediaObjectRect=QRect(0,0,Width,Height);
- }
- }
- Painter.restore();
- }
-
- //===========================================================================================================================
- } else { // Thumnails of the mainwindow timeline
- //===========================================================================================================================
-
- Painter.save();
- cCustomTableWidget *Timeline=(cCustomTableWidget *)this->Timeline;
-
- // Calc diaporama object number
- int Col=0;
- if (GlobalMainWindow->ApplicationConfig->PartitionMode) {
- int Max=Timeline->NbrItem();
- int NbrCol=Timeline->columnCount();
- while ((Col<Max)&&(Timeline->cellWidget((Col/NbrCol),Col-(Col/NbrCol)*NbrCol)!=this)) Col++;
- } else while ((Col<Timeline->columnCount())&&(Timeline->cellWidget(0,Col)!=this)) Col++;
-
- cDiaporamaObject *Object = (Col<GlobalMainWindow->Diaporama->List.count())?GlobalMainWindow->Diaporama->List[Col]:NULL;
-
- int TimelineHeight = GlobalMainWindow->ApplicationConfig->TimelineHeight;
- bool IsTransition = (Object!=NULL)&&((Object->TransitionFamilly!=0)||(Object->TransitionSubType!=0));
- double Width = double(this->width());
- double Height = double(GlobalMainWindow->ApplicationConfig->TimelineHeight/2+ // Background
- GlobalMainWindow->ApplicationConfig->TimelineHeight+ // Montage
- TIMELINESOUNDHEIGHT*2); //this->height());
- QPointF Table[10];
-
- // Draw background widget
- QPen Pen;
- Pen.setWidth(1);
- Pen.setStyle(Qt::SolidLine);
- Pen.setColor(WidgetBorder_Color);
- Painter.setPen(Pen);
- Painter.setBrush(QBrush(QColor(WidgetBackground_Color)));
- Painter.drawRect(-1,0,Width+2,Height-1);
-
- if ((Object)&&(Type==THUMBNAILTYPE_OBJECT)) {
-
- //==========================================================================================================================
- // Track BACKGROUND
- //==========================================================================================================================
- Pen.setColor(ObjectBackground_Ruller);
- Painter.setPen(Pen);
- Painter.setBrush(QBrush(QColor(ObjectBackground_Ruller)));
- Painter.drawRect(-1,(TimelineHeight/2-16)/2,Width+2,16);
-
- int BackThumbHeight = TimelineHeight/2-6;
- int BackThumbWidth = GlobalMainWindow->Diaporama->GetWidthForHeight(BackThumbHeight);
- Object->Parent->PrepareBackground(Col,BackThumbWidth,BackThumbHeight,&Painter,TransitionSize+3,2); // Draw Thumb
- DrawThumbnailsBox(TransitionSize+3,2,BackThumbWidth,BackThumbHeight,Painter,NULL);
- BackgroundRect=QRect(TransitionSize+3,2,BackThumbWidth,BackThumbHeight);
-
- //==========================================================================================================================
- // Draw background transition box & icon
- //==========================================================================================================================
- if (Object->BackgroundType) {
- HasBackGTransition =true;
- BackGTransitionRect=QRect(0,0,TransitionSize,TransitionSize);
- DrawThumbnailsBox(2,(TimelineHeight/2-32)/2,32,32,Painter,IsTransition?IconList.GetIcon(0,1):IconList.GetIcon(0,0));
- }
-
- //==========================================================================================================================
- // Draw object transition box & icon
- //==========================================================================================================================
- HasTransition =true;
- TransitionRect=QRect(0,TimelineHeight/2,TransitionSize,TransitionSize);
- DrawThumbnailsBox(2,TimelineHeight/2+2-1,32,32,Painter,IsTransition?IconList.GetIcon(GlobalMainWindow->Diaporama->List[Col]->TransitionFamilly,GlobalMainWindow->Diaporama->List[Col]->TransitionSubType):IconList.GetIcon(0,0));
-
-
- //==========================================================================================================================
- // Track OBJECTSEQUENCE
- //==========================================================================================================================
- int ThumbHeight = Height-TimelineHeight/2-TIMELINESOUNDHEIGHT*2-5;
- int ThumbWidth = GlobalMainWindow->Diaporama->GetWidthForHeight(ThumbHeight);
- int NewThumbHeight = ThumbHeight-TIMELINESOUNDHEIGHT-2;
- int NewThumbWidth = GlobalMainWindow->Diaporama->GetWidthForHeight(NewThumbHeight);
- int BarWidth = (ThumbWidth-NewThumbWidth)/2;
- bool HaveSound = false;
- double SoundVolume = 0;
- bool PreviousHaveSound = false;
- double PreviousSoundVolume = 0;
- bool HaveFilter =false;
-
- // Search it at least one block have filter
- for (int obj=0;obj<Object->ObjectComposition.List.count();obj++)
- if (((Object->ObjectComposition.List[obj]->BackgroundBrush->Image)&&((Object->ObjectComposition.List[obj]->BackgroundBrush->Image->BrushFileTransform.HaveFilter())))||
- ((Object->ObjectComposition.List[obj]->BackgroundBrush->Video)&&((Object->ObjectComposition.List[obj]->BackgroundBrush->Video->BrushFileTransform.HaveFilter())))) HaveFilter=true;
-
- // Parse current ObjectComposition table to determine if slide have sound
- for (int i=0;i<Object->ObjectComposition.List.count();i++) if ((Object->ObjectComposition.List[i]->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)&&
- (Object->ObjectComposition.List[i]->BackgroundBrush->Video)) {
- HaveSound=true;
- // Parse all object from all shot to determine max volume
- for (int v=0;v<Object->List.count();v++) for (int w=0;w<Object->List[v]->ShotComposition.List.count();w++)
- if ((Object->List[v]->ShotComposition.List[w]->IndexKey==Object->ObjectComposition.List[i]->IndexKey)&&
- (Object->List[v]->ShotComposition.List[w]->BackgroundBrush->SoundVolume>SoundVolume))
- SoundVolume=Object->List[v]->ShotComposition.List[w]->BackgroundBrush->SoundVolume;
- }
-
- // Parse previous object.ObjectComposition table to determine if previous slide have sound
- if (Col>0) {
- for (int i=0;i<GlobalMainWindow->Diaporama->List[Col-1]->ObjectComposition.List.count();i++)
- if ((GlobalMainWindow->Diaporama->List[Col-1]->ObjectComposition.List[i]->BackgroundBrush->BrushType==BRUSHTYPE_IMAGEDISK)&&
- (GlobalMainWindow->Diaporama->List[Col-1]->ObjectComposition.List[i]->BackgroundBrush->Video)&&
- (GlobalMainWindow->Diaporama->List[Col-1]->ObjectComposition.List[i]->BackgroundBrush->SoundVolume!=0)) {
-
- PreviousHaveSound=true;
- // Parse all object from all shot to determine max volume
- for (int v=0;v<GlobalMainWindow->Diaporama->List[Col-1]->List.count();v++) for (int w=0;w<GlobalMainWindow->Diaporama->List[Col-1]->List[v]->ShotComposition.List.count();w++)
- if ((GlobalMainWindow->Diaporama->List[Col-1]->List[v]->ShotComposition.List[w]->IndexKey==GlobalMainWindow->Diaporama->List[Col-1]->ObjectComposition.List[i]->IndexKey)&&
- (GlobalMainWindow->Diaporama->List[Col-1]->List[v]->ShotComposition.List[w]->BackgroundBrush->SoundVolume>PreviousSoundVolume))
- PreviousSoundVolume=GlobalMainWindow->Diaporama->List[Col-1]->List[v]->ShotComposition.List[w]->BackgroundBrush->SoundVolume;
- }
- }
-
- // Draw transition out of previous track
- if (IsTransition && PreviousHaveSound && !HaveSound) {
- Pen.setColor(ObjectBackground_Ruller);
- Pen.setWidth(1);
- Pen.setStyle(Qt::SolidLine);
- Painter.setPen(Pen);
- Painter.setBrush(QBrush(QColor(ObjectBackground_Ruller)));
- Table[0]=QPointF(0,Height-TIMELINESOUNDHEIGHT*2-TIMELINESOUNDHEIGHT-2);
- Table[1]=QPointF(TransitionSize,Height-TIMELINESOUNDHEIGHT*2-2);
- Table[2]=QPointF(0,Height-TIMELINESOUNDHEIGHT*2-2);
- Painter.drawPolygon(Table,3);
- // Draw transition out for this (previous) soundtrack
- Pen.setColor(((Col&0x1)!=0x1)?FirstSound_Color:SecondSound_Color);
- Pen.setWidth(1);
- Pen.setStyle(Qt::SolidLine);
- Painter.setPen(Pen);
- Painter.setBrush(QBrush(QColor(((Col&0x1)!=0x1)?FirstSound_Color:SecondSound_Color)));
- int RHeightPrevious=int(double(TIMELINESOUNDHEIGHT)*(PreviousSoundVolume/1.5));
- Table[0]=QPointF(0,Height-TIMELINESOUNDHEIGHT*2-RHeightPrevious-2);
- Table[1]=QPointF(TransitionSize,Height-TIMELINESOUNDHEIGHT*2-2);
- Table[2]=QPointF(0,Height-TIMELINESOUNDHEIGHT*2-2);
- Painter.drawPolygon(Table,3);
- }
-
- if (!HaveSound) {
- // Display a thumb with no sound
- Painter.fillRect(TransitionSize+3,TimelineHeight/2+2-1,ThumbWidth,ThumbHeight,Transparent);
- Object->DrawThumbnail(ThumbWidth+2,ThumbHeight+2,&Painter,TransitionSize+3,TimelineHeight/2+2-1); // Draw Thumb
- if (Object->ObjectComposition.List.count()>1) Painter.drawImage(TransitionSize+3+8,2-1+ThumbHeight-32,QImage(ICON_BLOCKPRESENCE)); // Add mark if multiple block
- if (Object->List.count()>1) Painter.drawImage(TransitionSize+3+ThumbWidth-32,2-1+ThumbHeight-32,QImage(ICON_SHOTPRESENCE)); // Add mark if multiple shot
- if (HaveFilter) Painter.drawImage(TransitionSize+3+ThumbWidth-32,2-1+ThumbHeight-32+24,QImage(ICON_HAVEFILTER)); // Add mark if at least one block have filter
- DrawThumbnailsBox(TransitionSize+3,TimelineHeight/2+2-1,ThumbWidth,ThumbHeight,Painter,NULL);
- MediaObjectRect=QRect(TransitionSize+3,TimelineHeight/2+2-1,ThumbWidth,ThumbHeight);
-
- } else {
- // Display a thumb with sound track
-
- int H3 =NewThumbHeight/5;
- int HH3 =(NewThumbHeight-H3*3)/4;
- int RHeight =int(double(TIMELINESOUNDHEIGHT)*(SoundVolume/1.5));
-
- // Draw thumb part
- Painter.fillRect(TransitionSize+3,TimelineHeight/2+2-1,ThumbWidth,NewThumbHeight,Transparent);
- Object->DrawThumbnail(NewThumbWidth+2,NewThumbHeight+4,&Painter,TransitionSize+3+BarWidth-1,TimelineHeight/2-1); // Draw Thumb
-
- QPen Pen;
- Pen.setWidth(1);
- Painter.setBrush(Qt::NoBrush);
- Pen.setColor(Qt::black); Painter.setPen(Pen); Painter.drawRect(TransitionSize+3-2,TimelineHeight/2+1-2,ThumbWidth+4,NewThumbHeight+4);
- Pen.setColor(Qt::darkGray); Painter.setPen(Pen); Painter.drawRect(TransitionSize+3-1,TimelineHeight/2+1-1,ThumbWidth+2,NewThumbHeight+2);
- Pen.setColor(Qt::white); Painter.setPen(Pen); Painter.drawRect(TransitionSize+3, TimelineHeight/2+1, ThumbWidth, NewThumbHeight);
- Painter.drawRect(TransitionSize+3+BarWidth-1,TimelineHeight/2+1,NewThumbWidth+1,NewThumbHeight);
-
- MediaObjectRect=QRect(TransitionSize+3, TimelineHeight/2+2-1, ThumbWidth, NewThumbHeight);
-
- // Draw black bar for cinema decoration at left & right
- Painter.fillRect(TransitionSize+3, TimelineHeight/2+2, BarWidth-2, NewThumbHeight-1,QBrush(Qt::black));
- Painter.fillRect(TransitionSize+3+BarWidth+NewThumbWidth+2-1, TimelineHeight/2+2, ThumbWidth-NewThumbWidth-BarWidth-2+1, NewThumbHeight-1,QBrush(Qt::black));
-
- // Draw cinema decoration at left & right
- int YPos=Height-TimelineHeight/2-TIMELINESOUNDHEIGHT*2-(ThumbHeight-2)/2;
- for (int HH=0;HH<3;HH++) {
- Painter.fillRect(TransitionSize+3+4, YPos+HH3+(H3+HH3)*HH-1, BarWidth-2-8, H3,QBrush(Qt::lightGray));
- Painter.fillRect(TransitionSize+3+BarWidth+NewThumbWidth+2+4, YPos+HH3+(H3+HH3)*HH-1, BarWidth-2-8, H3,QBrush(Qt::lightGray));
- }
- if (Object->ObjectComposition.List.count()>1) Painter.drawImage(TransitionSize+3,TimelineHeight/2+2-1+NewThumbHeight-48-4,QImage(ICON_BLOCKPRESENCE)); // Add mark if multiple block
- if (Object->List.count()>1) Painter.drawImage(TransitionSize+3+BarWidth*2+NewThumbWidth-24-2,TimelineHeight/2+2-1+NewThumbHeight-48-4,QImage(ICON_SHOTPRESENCE)); // Add mark if multiple shot
- if (HaveFilter) Painter.drawImage(TransitionSize+3+BarWidth*2+NewThumbWidth-24-2,TimelineHeight/2+2-1+NewThumbHeight-24-4,QImage(ICON_HAVEFILTER)); // Add mark if at least one block have filter
-
- // Draw background for soundtrack
- Pen.setColor(ObjectBackground_Ruller);
- Pen.setWidth(1);
- Pen.setStyle(Qt::SolidLine);
- Painter.setPen(Pen);
- Painter.setBrush(QBrush(QColor(ObjectBackground_Ruller)));
- Painter.drawRect(0,Height-2-TIMELINESOUNDHEIGHT*2-TIMELINESOUNDHEIGHT,Width,TIMELINESOUNDHEIGHT);
- SoundTrackRect=QRect(0,Height-2-TIMELINESOUNDHEIGHT*2-TIMELINESOUNDHEIGHT,Width,TIMELINESOUNDHEIGHT);
- HasSoundTrack =true;
-
- // Draw transitions
- if (IsTransition) {
- // Draw transition out for previous soundtrack
- if ((Col>0)&&(PreviousHaveSound)) {
- Pen.setColor(((Col&0x1)!=0x1)?FirstSound_Color:SecondSound_Color);
- Pen.setWidth(1);
- Pen.setStyle(Qt::SolidLine);
- Painter.setPen(Pen);
- Painter.setBrush(QBrush(QColor(((Col&0x1)!=0x1)?FirstSound_Color:SecondSound_Color)));
- int RHeightPrevious=int(double(TIMELINESOUNDHEIGHT)*(PreviousSoundVolume/1.5));
- Table[0]=QPointF(0,Height-2-RHeightPrevious-TIMELINESOUNDHEIGHT*2);
- Table[1]=QPointF(TransitionSize,Height-2-TIMELINESOUNDHEIGHT*2);
- Table[2]=QPointF(0,Height-2-TIMELINESOUNDHEIGHT*2);
- Painter.drawPolygon(Table,3);
- }
- // Draw in transition + soundtrack
- Pen.setColor(((Col&0x1)==0x1)?FirstSound_Color:SecondSound_Color);
- Pen.setWidth(1);
- Pen.setStyle(Qt::SolidLine);
- Painter.setPen(Pen);
- Painter.setBrush(QBrush(QColor(((Col&0x1)==0x1)?FirstSound_Color:SecondSound_Color)));
- Table[0]=QPointF(0,Height-2-TIMELINESOUNDHEIGHT*2);
- Table[1]=QPointF(TransitionSize,Height-2-RHeight-TIMELINESOUNDHEIGHT*2);
- Table[2]=QPointF(Width,Height-2-RHeight-TIMELINESOUNDHEIGHT*2); // Draw soundtrack without transition
- Table[3]=QPointF(Width,Height-2-TIMELINESOUNDHEIGHT*2);
- Painter.drawPolygon(Table,4);
- } else {
- Pen.setColor(((Col&0x1)==0x1)?FirstSound_Color:SecondSound_Color);
- Pen.setWidth(1);
- Pen.setStyle(Qt::SolidLine);
- Painter.setPen(Pen);
- Painter.setBrush(QBrush(QColor(((Col&0x1)==0x1)?FirstSound_Color:SecondSound_Color)));
- Table[0]=QPointF(0,Height-2-TIMELINESOUNDHEIGHT*2);
- Table[1]=QPointF(0,Height-2-RHeight-TIMELINESOUNDHEIGHT*2);
- Table[2]=QPointF(Width,Height-2-RHeight-TIMELINESOUNDHEIGHT*2); // Draw soundtrack without transition
- Table[3]=QPointF(Width,Height-2-TIMELINESOUNDHEIGHT*2);
- Painter.drawPolygon(Table,4);
- }
- }
-
- // Draw transition duration, slide duration and slide name
- QFont font= QApplication::font();
- font.setPointSizeF(double(3500)/double(SCALINGTEXTFACTOR)); // Scale font
- Painter.setFont(font);
- Pen.setWidth(1);
- Pen.setStyle(Qt::SolidLine);
- QString SlideDuration=QTime(0,0,0,0).addMSecs(Object->GetDuration()).toString("hh:mm:ss.zzz");
- QString FileName=Object->SlideName;
- QString TransitionDuration=QTime(0,0,0,0).addMSecs(Object->GetTransitDuration()).toString("ss.z");
- QString SlideNumber=QString("%1").arg(Col+1);
- // Chapter TAG
- if (Col==0) Painter.drawImage(2,2,QImage(":/img/Chapter.png"));
- else if (Object->StartNewChapter) Painter.drawImage(TransitionSize+3,2,QImage(":/img/Chapter.png"));
- if (TransitionDuration[0]=='0') TransitionDuration=TransitionDuration.right(TransitionDuration.length()-1); // Cut first 0
- while (TransitionDuration.endsWith("0")) TransitionDuration=TransitionDuration.left(TransitionDuration.length()-1);
- while (TransitionDuration.endsWith(".")) TransitionDuration=TransitionDuration.left(TransitionDuration.length()-1);
-
- if (Object->TypeObject==DIAPORAMAOBJECTTYPE_VIDEO) {
- Pen.setColor(Qt::black);
- Painter.setPen(Pen);
- Painter.drawText(QRectF(TransitionSize+3+BarWidth+1,TimelineHeight/2+2-1+1,NewThumbWidth,16),SlideDuration,Qt::AlignHCenter|Qt::AlignVCenter);
- Painter.drawText(QRectF(TransitionSize+3+BarWidth+1,TimelineHeight/2+2-1+1+NewThumbHeight-16,NewThumbWidth,16),FileName,Qt::AlignHCenter|Qt::AlignVCenter);
- Painter.drawText(QRectF(2+1,TimelineHeight/2+2-1+34+1,32,16),TransitionDuration,Qt::AlignHCenter|Qt::AlignVCenter);
- Painter.drawText(QRectF(BackThumbWidth+2+1,(TimelineHeight/2-16)/2+1,Width-BackThumbWidth-4,16),SlideNumber,Qt::AlignHCenter|Qt::AlignVCenter);
-
- Pen.setColor(Qt::white);
- Painter.setPen(Pen);
- Painter.drawText(QRectF(TransitionSize+3+BarWidth,TimelineHeight/2+2-1,NewThumbWidth,16),SlideDuration,Qt::AlignHCenter|Qt::AlignVCenter);
- Painter.drawText(QRectF(TransitionSize+3+BarWidth,TimelineHeight/2+2-1+NewThumbHeight-16,NewThumbWidth,16),FileName,Qt::AlignHCenter|Qt::AlignVCenter);
- Painter.drawText(QRectF(2,TimelineHeight/2+2-1+34,32,16),TransitionDuration,Qt::AlignHCenter|Qt::AlignVCenter);
- Painter.drawText(QRectF(BackThumbWidth+2,(TimelineHeight/2-16)/2,Width-BackThumbWidth-4,16),SlideNumber,Qt::AlignHCenter|Qt::AlignVCenter);
- } else {
- Pen.setColor(Qt::black);
- Painter.setPen(Pen);
- Painter.drawText(QRectF(TransitionSize+3+1,TimelineHeight/2+2-1+1,ThumbWidth,16),SlideDuration,Qt::AlignHCenter|Qt::AlignVCenter);
- Painter.drawText(QRectF(TransitionSize+3+1,TimelineHeight/2+2-1+1+ThumbHeight-16,ThumbWidth,16),FileName,Qt::AlignHCenter|Qt::AlignVCenter);
- Painter.drawText(QRectF(2+1,TimelineHeight/2+2-1+34+1,32,16),TransitionDuration,Qt::AlignHCenter|Qt::AlignVCenter);
- Painter.drawText(QRectF(BackThumbWidth+2+1,(TimelineHeight/2-16)/2+1,Width-BackThumbWidth-4,16),SlideNumber,Qt::AlignHCenter|Qt::AlignVCenter);
-
- Pen.setColor(Qt::white);
- Painter.setPen(Pen);
- Painter.drawText(QRectF(TransitionSize+3,TimelineHeight/2+2-1,ThumbWidth,16),SlideDuration,Qt::AlignHCenter|Qt::AlignVCenter);
- Painter.drawText(QRectF(TransitionSize+3,TimelineHeight/2+2-1+ThumbHeight-16,ThumbWidth,16),FileName,Qt::AlignHCenter|Qt::AlignVCenter);
- Painter.drawText(QRectF(2,TimelineHeight/2+2-1+34,32,16),TransitionDuration,Qt::AlignHCenter|Qt::AlignVCenter);
- Painter.drawText(QRectF(BackThumbWidth+2,(TimelineHeight/2-16)/2,Width-BackThumbWidth-4,16),SlideNumber,Qt::AlignHCenter|Qt::AlignVCenter);
- }
-
- //==========================================================================================================================
- // Track OBJECTMUSIC
- //==========================================================================================================================
- Height -=4;
- MusicTrackRect=QRect(-1,Height-TIMELINESOUNDHEIGHT*2,Width+2,TIMELINESOUNDHEIGHT*2);
- HasSoundTrack =true;
-
- int CurrentCountObjet =0;
- qlonglong StartPosition =0;
- qlonglong NextStartPosition =0;
- double CurrentFactor =Object->MusicPause?0:Object->MusicReduceVolume?Object->MusicReduceFactor:1;
- double PreviousFactor =0;
-
- if ((Col>0)&&(Object->Parent->GetMusicObject(Col-1,StartPosition)!=NULL))
- PreviousFactor=(Object->Parent->List[Col-1]->MusicPause)?0:(Object->Parent->List[Col-1]->MusicReduceVolume)?Object->Parent->List[Col-1]->MusicReduceFactor:1;
-
- bool EndMusic =true;
- bool DrawVolumeTransition=(PreviousFactor!=CurrentFactor);
- bool DrawInTransition =false;
- bool DrawOutTransition =false;
- bool DrawOutCut =false;
- bool DrawPause =false;
- int RHeight =int(TIMELINESOUNDHEIGHT*2*(CurrentFactor/1.5));
- int PHeight =int(TIMELINESOUNDHEIGHT*2*(PreviousFactor/1.5));
-
- if (Col>0) {
- cMusicObject *PrevMusique=Object->Parent->GetMusicObject(Col-1,StartPosition);
- if ((PrevMusique)&&((QTime(0,0,0,0).msecsTo(PrevMusique->Duration)-StartPosition)>Object->Parent->List[Col-1]->GetDuration())) DrawOutTransition=true;
- }
-
- // Calculate wich music will be use for this object and for the next object
- int OwnerObjectMusic =0;
- int OwnerObjectNextMusic=0;
- cMusicObject *CurMusic =Object->Parent->GetMusicObject(Col,StartPosition,&CurrentCountObjet,&OwnerObjectMusic);
- cMusicObject *NextMusic =NULL;
-
- if ((Col+1)<Timeline->columnCount()) {
- NextMusic=Object->Parent->GetMusicObject(Col+1,NextStartPosition,NULL,&OwnerObjectNextMusic);
- //if (NextMusic==CurMusic) EndMusic=false;
- if ((OwnerObjectMusic==OwnerObjectNextMusic)&&(CurMusic!=NULL)&&(NextMusic!=NULL)) EndMusic=false;
- else if ((CurMusic)&&((QTime(0,0,0,0).msecsTo(CurMusic->Duration))-StartPosition>=Object->GetDuration())) EndMusic=false;
- } else if (CurMusic) EndMusic=(QTime(0,0,0,0).msecsTo(CurMusic->Duration)-StartPosition)<Object->GetDuration();
-
- if (CurMusic!=NULL) {
- // Search if sound end during the slide
- if (EndMusic) DrawOutCut=true;
-
- // Start a new Playlist
- if (Object->MusicType) {
- if (Object->MusicList.count()>0) {
- // Search if previous slide have music
- if (((Col>0)&&(Object->Parent->GetMusicObject(Col-1,StartPosition)!=NULL))&&(IsTransition)) DrawInTransition=true;
- DrawVolumeTransition=false;
- }
- // continue Playlist from a previous object
- } else if (Object->MusicPause) DrawPause=true;
- if (DrawInTransition && IsTransition) {
- // Draw out transition from a previous object
- if (DrawOutTransition) {
- if ((CurrentCountObjet & 1)!=1) {
- Painter.setBrush(QBrush(QColor(FirstMusic_Color)));
- Pen.setColor(FirstMusic_Color);
- } else {
- Painter.setBrush(QBrush(QColor(SecondMusic_Color)));
- Pen.setColor(SecondMusic_Color);
- }
- Pen.setWidth(0);
- Painter.setPen(Pen);
- Table[0]=QPointF(-1,Height-PHeight+2);
- Table[1]=QPointF(34,Height+2);
- Table[2]=QPointF(-1,Height+2);
- Painter.drawPolygon(Table,3);
- }
- Table[0]=QPointF(-1,Height+2);
- Table[1]=QPointF(34,Height-RHeight+2);
- } else if (DrawVolumeTransition && IsTransition) {
- Table[0]=QPointF(-1,Height-PHeight+2);
- Table[1]=QPointF(34,Height-RHeight+2);
- } else {
- Table[0]=QPointF(-1,Height+2);
- Table[1]=QPointF(-1,Height-RHeight+2);
- }
- if (DrawOutCut) {
- Table[2]=QPointF(Width-34,Height-RHeight+2);
- Table[3]=QPointF(Width-34,Height+2);
- } else {
- Table[2]=QPointF(Width+2,Height-RHeight+2);
- Table[3]=QPointF(Width+2,Height+2);
- }
- Table[4]=QPointF(-1,Height+2);
-
- if ((CurrentCountObjet & 1)==1) {
- Painter.setBrush(QBrush(QColor(FirstMusic_Color)));
- Pen.setColor(FirstMusic_Color);
- } else {
- Painter.setBrush(QBrush(QColor(SecondMusic_Color)));
- Pen.setColor(SecondMusic_Color);
- }
- Pen.setWidth(0);
- Painter.setPen(Pen);
- Painter.drawPolygon(Table,5);
-
- if (DrawPause) Painter.drawImage((Width-24-TransitionSize)/2+TransitionSize,Height-24,QImage(ICON_PLAYERPAUSE));
- } else if (DrawOutTransition) {
- // Draw out transition from a previous object
- if ((CurrentCountObjet & 1)!=1) {
- Painter.setBrush(QBrush(QColor(FirstMusic_Color)));
- Pen.setColor(FirstMusic_Color);
- } else {
- Painter.setBrush(QBrush(QColor(SecondMusic_Color)));
- Pen.setColor(SecondMusic_Color);
- }
- Pen.setWidth(0);
- Painter.setPen(Pen);
- Table[0]=QPointF(-1,Height-PHeight+2);
- Table[1]=QPointF(34,Height+2);
- Table[2]=QPointF(-1,Height+2);
- Painter.drawPolygon(Table,3);
- }
-
- // Draw separated line
- Height=double(GlobalMainWindow->ApplicationConfig->TimelineHeight/2+GlobalMainWindow->ApplicationConfig->TimelineHeight+TIMELINESOUNDHEIGHT*2);
- Pen.setWidth(1);
- Pen.setStyle(Qt::DotLine);
- Pen.setColor(DotLine_Color);
- Painter.setPen(Pen);
- Painter.drawLine(QPointF(TransitionSize+1,this->height()-TIMELINESOUNDHEIGHT*2),QPointF(TransitionSize+1,Height-2));
- Painter.drawLine(QPointF(this->width()-2, this->height()-TIMELINESOUNDHEIGHT*2),QPointF(this->width()-2,Height-2));
- }
-
- // --------------------------
-
- Painter.restore();
-
- // Draw selected box (if needed)
- if (Col==GlobalMainWindow->Diaporama->CurrentCol) {
- Painter.save();
- Pen.setColor(WidgetSelection_Color);
- Pen.setStyle(Qt::SolidLine);
- Pen.setWidth(10);
- Painter.setPen(Pen);
- Painter.setBrush(Qt::NoBrush); //QBrush(QColor(WidgetSelection_Color)));
- Painter.setOpacity(0.5);
- Painter.drawRect(0,0,this->width(),Height);
- Painter.setOpacity(1);
- Painter.restore();
- }
- // Draw Drag & Drop inserting point (if needed)
- if (((GlobalMainWindow->IsDragOn==1)&&(Col!=GlobalMainWindow->DragItemSource)&&((Col!=GlobalMainWindow->DragItemSource+1)||(GlobalMainWindow->DragItemSource!=GlobalMainWindow->Diaporama->List.count()-1))&&(Col<GlobalMainWindow->Diaporama->List.count())&&(
- (Col==GlobalMainWindow->DragItemDest)||((Col==GlobalMainWindow->Diaporama->List.count()-1)&&(GlobalMainWindow->DragItemDest>=GlobalMainWindow->Diaporama->List.count()))))||
- ((GlobalMainWindow->IsDragOn==2)&&((Col==GlobalMainWindow->DragItemDest)||((Col+1==GlobalMainWindow->DragItemDest)&&(Col=GlobalMainWindow->Diaporama->List.count()-1)))))
- {
- Painter.save();
- Pen.setColor(WidgetDrag_Color);
- Pen.setStyle(Qt::SolidLine);
- Pen.setWidth(10);
- Painter.setPen(Pen);
- Painter.setBrush(Qt::NoBrush); //QBrush(QColor(WidgetSelection_Color)));
- Painter.setOpacity(0.5);
- if ((Col==GlobalMainWindow->Diaporama->List.count()-1)&&(GlobalMainWindow->DragItemDest>=GlobalMainWindow->Diaporama->List.count()))
- Painter.drawRect(width(),0,width(),Height); else Painter.drawRect(0,0,0,Height);
- Painter.setOpacity(1);
- Painter.restore();
- }
- }
- QApplication::restoreOverrideCursor();
-}
-
-//===========================================================================================================================
-
-void wgt_QCustomThumbnails::DrawThumbnailsBox(int Xa,int Ya,int Width,int Height,QPainter &Painter,QImage *Icon) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_QCustomThumbnails::DrawThumbnailsBox");
- QPen Pen;
- Pen.setWidth(1);
- Pen.setColor(Qt::darkGray);
- Painter.setPen(Pen);
- Painter.setBrush(Qt::NoBrush);
- Painter.drawRect(Xa-1,Ya-1,Width+4-1,Height+4-1);
- Pen.setColor(Qt::white);
- Painter.setPen(Pen);
- Painter.drawRect(Xa-1,Ya-1,Width+2-1,Height+2-1);
- Pen.setColor(Qt::black);
- Painter.setPen(Pen);
- Painter.drawRect(Xa-2,Ya-2,Width+4-1,Height+4-1);
-
- // -------------------------- if Transition Icon
- if (Icon) {
- Painter.drawImage(QRect(Xa,Ya,32,32),*Icon);
- delete Icon;
- }
-}
diff --git a/src/ffDiaporama/wgt_QCustomThumbnails.h b/src/ffDiaporama/wgt_QCustomThumbnails.h
deleted file mode 100755
index 4fa6cc1..0000000
--- a/src/ffDiaporama/wgt_QCustomThumbnails.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef WGT_QCUSTOMTHUMBNAILS_H
-#define WGT_QCUSTOMTHUMBNAILS_H
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-
-// Specific inclusions
-#include "_Diaporama.h"
-#include "cCustomTableWidget.h"
-
-#include <QLabel>
-#include <QMouseEvent>
-
-// Thumbnails definitions
-#define ADJUSTXCOLUMN 10 // width to add to object image for display transition
-#define TIMELINEMINHEIGH 80 // min heigh of montage track
-#define TIMELINEMAXHEIGH 160 // max heigh of montage track
-#define TIMELINESOUNDHEIGHT 18 // Height of sound & music track
-
-// Thumbnail type definition
-#define THUMBNAILTYPE_OBJECT 0
-#define THUMBNAILTYPE_NULL 1
-#define THUMBNAILTYPE_SHOT 2
-
-class wgt_QCustomThumbnails : public QLabel {
-Q_OBJECT
-public:
- QTableWidget *Timeline;
- cDiaporamaObject *DiaporamaObject; // Use only for THUMBNAILTYPE_SHOT
- int Type;
- bool HasBackGTransition;
- QRect BackGTransitionRect;
- bool HasTransition;
- QRect TransitionRect;
- bool HasSoundTrack;
- QRect SoundTrackRect;
- QRect BackgroundRect;
- QRect MediaObjectRect;
- QRect MusicTrackRect;
-
- explicit wgt_QCustomThumbnails(QTableWidget *Timeline,int Type);
- ~wgt_QCustomThumbnails();
-
-protected:
- virtual void mouseMoveEvent(QMouseEvent *event);
- virtual void mousePressEvent(QMouseEvent *event);
-
-signals:
- void EditTransition();
- void EditSoundTrack();
- void EditMediaObject();
- void EditBackGTransition();
- void EditBackground();
- void EditMusicTrack();
-
-public slots:
-
-protected:
- virtual void mouseDoubleClickEvent(QMouseEvent * e);
- virtual void paintEvent (QPaintEvent *);
-
-private:
- void DrawThumbnailsBox(int Xa,int Ya,int Width,int Height,QPainter &Painter,QImage *Icon);
-};
-
-#endif // WGT_QCUSTOMTHUMBNAILS_H
diff --git a/src/ffDiaporama/wgt_QVideoPlayer.cpp b/src/ffDiaporama/wgt_QVideoPlayer.cpp
index 3adcd4b..6216a9d 100755
--- a/src/ffDiaporama/wgt_QVideoPlayer.cpp
+++ b/src/ffDiaporama/wgt_QVideoPlayer.cpp
@@ -44,6 +44,32 @@ void QMovieLabel::mouseDoubleClickEvent(QMouseEvent *) {
emit DoubleClick();
}
+void QMovieLabel::mouseReleaseEvent(QMouseEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QMovieLabel::mousePressEvent");
+ if (event->button()==Qt::RightButton) emit RightClickEvent(event); else QLabel::mouseReleaseEvent(event);
+}
+
+void QMovieLabel::SetImage(QImage Image) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QMovieLabel::SetImage");
+ CurrentImage=Image.copy();
+ repaint();
+}
+
+void QMovieLabel::SetImage(QImage *Image) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:QMovieLabel::SetImage");
+ CurrentImage=Image->copy();
+ repaint();
+}
+
+void QMovieLabel::paintEvent(QPaintEvent */*event*/) {
+ if (CurrentImage.isNull()) return;
+ QPainter Painter(this);
+ //Painter.save();
+ Painter.drawImage(0,0,CurrentImage);
+ //Painter.restore();
+}
+
+
//*********************************************************************************************************************************************
// Base object for image manipulation
//*********************************************************************************************************************************************
@@ -123,6 +149,7 @@ wgt_QVideoPlayer::wgt_QVideoPlayer(QWidget *parent) : QWidget(parent),ui(new Ui:
ActualPosition = -1;
tDuration = QTime(0,0,0,0);
ActualDisplay = NULL;
+ ResetPositionWanted = false;
ui->Position->setFixedWidth(DisplayMSec?80:60); ui->Position->setText(QTime(0,0,0,0).toString(DisplayMSec?"hh:mm:ss.zzz":"hh:mm:ss"));
ui->Duration->setFixedWidth(DisplayMSec?80:60); ui->Duration->setText(QTime(0,0,0,0).toString(DisplayMSec?"hh:mm:ss.zzz":"hh:mm:ss"));
@@ -145,11 +172,14 @@ wgt_QVideoPlayer::wgt_QVideoPlayer(QWidget *parent) : QWidget(parent),ui(new Ui:
connect(&Timer,SIGNAL(timeout()),this,SLOT(s_TimerEvent()));
connect(ui->VideoPlayerPlayPauseBT,SIGNAL(clicked()),this,SLOT(s_VideoPlayerPlayPauseBT()));
connect(ui->MovieFrame,SIGNAL(DoubleClick()),this,SLOT(s_DoubleClick()));
+ connect(ui->MovieFrame,SIGNAL(RightClickEvent(QMouseEvent *)),this,SLOT(s_RightClickEvent(QMouseEvent *)));
// Slider control
connect(ui->CustomRuller,SIGNAL(sliderPressed()),this,SLOT(s_SliderPressed()));
connect(ui->CustomRuller,SIGNAL(sliderReleased()),this,SLOT(s_SliderReleased()));
connect(ui->CustomRuller,SIGNAL(valueChanged(int)),this,SLOT(s_SliderMoved(int)));
+ connect(ui->CustomRuller,SIGNAL(PositionChangeByUser()),this,SLOT(s_PositionChangeByUser()));
+ connect(ui->VideoPlayerSaveImageBT,SIGNAL(pressed()),this,SLOT(s_SaveImage()));
}
//============================================================================================
@@ -179,6 +209,13 @@ void wgt_QVideoPlayer::showEvent(QShowEvent *) {
//============================================================================================
+void wgt_QVideoPlayer::s_SaveImage() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_QVideoPlayer::s_SaveImage");
+ emit SaveImageEvent();
+}
+
+//============================================================================================
+
void wgt_QVideoPlayer::s_DoubleClick() {
ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_QVideoPlayer::s_DoubleClick");
emit DoubleClick();
@@ -186,6 +223,13 @@ void wgt_QVideoPlayer::s_DoubleClick() {
//============================================================================================
+void wgt_QVideoPlayer::s_RightClickEvent(QMouseEvent *event) {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_QVideoPlayer::s_RightClickEvent");
+ emit RightClickEvent(event);
+}
+
+//============================================================================================
+
void wgt_QVideoPlayer::resizeEvent(QResizeEvent *) {
ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_QVideoPlayer::resizeEvent");
Resize();
@@ -221,8 +265,7 @@ void wgt_QVideoPlayer::Resize() {
ui->MovieFrame->setFixedWidth(TheWidth);
ui->MovieFrame->setFixedHeight(TheHeight);
- ui->CustomRuller->setFixedWidth(TheWidth-ui->VideoPlayerPlayPauseBT->width()-ui->Position->width());
- if (ui->CustomRuller!=NULL) ui->CustomRuller->setFixedWidth(TheWidth-ui->VideoPlayerPlayPauseBT->width()-ui->Position->width());
+ if (ui->CustomRuller!=NULL) ui->CustomRuller->setFixedWidth(TheWidth-ui->VideoPlayerPlayPauseBT->width()-ui->Position->width()-ui->VideoPlayerSaveImageBT->width());
if (ActualPosition!=-1) {
int aActualPosition=ActualPosition;
ActualPosition=-1;
@@ -372,6 +415,8 @@ void wgt_QVideoPlayer::s_SliderMoved(int Value) {
if (GlobalMainWindow->InPlayerUpdate) return;
GlobalMainWindow->InPlayerUpdate=true;
+ if (ResetPositionWanted) SetPlayerToPause();
+
// Update display in controls
ui->CustomRuller->setValue(Value);
ActualPosition=Value;
@@ -388,20 +433,20 @@ void wgt_QVideoPlayer::s_SliderMoved(int Value) {
SetPlayerToPause(); // Stop if it's the end
} else if (ImageList.List.count()>1) { // Process
- // Retrieve frame informations
+ // Retrieve frame information
cDiaporamaObjectInfo *Frame=ImageList.DetachFirstImage();
// Display frame
if ((Frame->RenderedImage)&&(ActualDisplay!=Frame->RenderedImage))
- ui->MovieFrame->setPixmap(QPixmap().fromImage(*Frame->RenderedImage));
+ ui->MovieFrame->SetImage(Frame->RenderedImage);
ActualDisplay=Frame->RenderedImage;
- // If Diaporama mode and needed, set Diaporama to an other object
+ // If Diaporama mode and needed, set Diaporama to another object
if (Diaporama) {
if (Diaporama->CurrentCol!=Frame->CurrentObject_Number) {
Diaporama->CurrentCol=Frame->CurrentObject_Number;
- Diaporama->Timeline->SetCurrentCell(Frame->CurrentObject_Number);
+ GlobalMainWindow->SetTimelineCurrentCell(Frame->CurrentObject_Number);
// Update slider mark
if (Diaporama->List.count()>0)
@@ -435,7 +480,8 @@ void wgt_QVideoPlayer::s_SliderMoved(int Value) {
QImage *VideoImage=FileInfo->ImageAt(true,ActualPosition,0,NULL,1,false,NULL,false);
if (VideoImage) {
- ui->MovieFrame->setPixmap(QPixmap().fromImage(VideoImage->scaledToHeight(ui->MovieFrame->height()))); // Display frame
+ // Display frame
+ ui->MovieFrame->SetImage(VideoImage->scaledToHeight(ui->MovieFrame->height()));
delete VideoImage;
}
@@ -444,13 +490,14 @@ void wgt_QVideoPlayer::s_SliderMoved(int Value) {
cDiaporamaObjectInfo *Frame=new cDiaporamaObjectInfo(NULL,Value,Diaporama,double(1000)/WantedFPS);
PrepareImage(Frame,false,true); // This will add frame to the ImageList
Frame=ImageList.DetachFirstImage(); // Then detach frame from the ImageList
- ui->MovieFrame->setPixmap(QPixmap().fromImage(*Frame->RenderedImage)); // Display frame
+ // Display frame
+ ui->MovieFrame->SetImage(Frame->RenderedImage);
- // If needed, set Diaporama to an other object
+ // If needed, set Diaporama to another object
if (Diaporama->CurrentCol!=Frame->CurrentObject_Number) {
if (FLAGSTOPITEMSELECTION!=NULL) *FLAGSTOPITEMSELECTION=true; // Ensure mainwindow no modify player widget position
Diaporama->CurrentCol=Frame->CurrentObject_Number;
- Diaporama->Timeline->SetCurrentCell(Frame->CurrentObject_Number);
+ GlobalMainWindow->SetTimelineCurrentCell(Frame->CurrentObject_Number);
if (FLAGSTOPITEMSELECTION!=NULL) *FLAGSTOPITEMSELECTION=false;
// Update slider mark
@@ -486,6 +533,12 @@ void wgt_QVideoPlayer::s_TimerEvent() {
int LastPosition=0;
+ if (ResetPositionWanted) {
+ MixedMusic.ClearList(); // Free sound buffers
+ ImageList.ClearList(); // Free ImageList
+ ResetPositionWanted=false;
+ }
+
// If no image in the list then create the first
if (ImageList.List.count()==0) {
@@ -544,7 +597,6 @@ void wgt_QVideoPlayer::s_TimerEvent() {
void wgt_QVideoPlayer::PrepareImage(cDiaporamaObjectInfo *Frame,bool SoundWanted,bool AddStartPos) {
ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_QVideoPlayer::PrepareImage");
- //QTime Now=QTime().currentTime();
if (SoundWanted) {
// Ensure MusicTracks are ready
if ((Frame->CurrentObject)&&(Frame->CurrentObject_MusicTrack==NULL)) {
@@ -671,3 +723,10 @@ void wgt_QVideoPlayer::SetActualDuration(int Duration) {
ui->Position->setText(GetCurrentPos().toString(DisplayMSec?"hh:mm:ss.zzz":"hh:mm:ss"));
ui->Duration->setText(tDuration.toString(DisplayMSec?"hh:mm:ss.zzz":"hh:mm:ss"));
}
+
+//============================================================================================
+
+void wgt_QVideoPlayer::s_PositionChangeByUser() {
+ ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_QVideoPlayer::s_PositionChangeByUser");
+ ResetPositionWanted=true;
+}
diff --git a/src/ffDiaporama/wgt_QVideoPlayer.h b/src/ffDiaporama/wgt_QVideoPlayer.h
index a71b4cf..b849ee5 100755
--- a/src/ffDiaporama/wgt_QVideoPlayer.h
+++ b/src/ffDiaporama/wgt_QVideoPlayer.h
@@ -22,7 +22,7 @@
#define WGT_QVIDEOPLAYER_H
// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
+#include "../engine/_GlobalDefines.h"
// Specific inclusions
#include "_Diaporama.h"
@@ -51,14 +51,22 @@ public:
class QMovieLabel : public QLabel {
Q_OBJECT
public:
+ QImage CurrentImage;
+
explicit QMovieLabel(QWidget *parent=0);
~QMovieLabel();
+ void SetImage(QImage Image);
+ void SetImage(QImage *Image);
+
protected:
- virtual void mouseDoubleClickEvent(QMouseEvent * e);
+ virtual void paintEvent(QPaintEvent *event);
+ virtual void mouseDoubleClickEvent(QMouseEvent *e);
+ virtual void mouseReleaseEvent(QMouseEvent *e);
signals:
- void DoubleClick();
+ void DoubleClick();
+ void RightClickEvent(QMouseEvent *);
};
class wgt_QVideoPlayer : public QWidget {
@@ -66,7 +74,7 @@ Q_OBJECT
public:
bool *FLAGSTOPITEMSELECTION; // Flag to stop Item Selection process in the timeline
- cVideoFile *FileInfo; // Link to the file wrapper object when DlgVideoDialogBox
+ cVideoFile *FileInfo; // Link to the file wrapper object when DlgVideoDialogBox
cDiaporama *Diaporama; // Link to the Diaporama hierarchy when preview
int ActualPosition; // Current position (in msec)
@@ -77,6 +85,7 @@ public:
bool IsValide; // if true then object if fuly initialise
bool IsInit; // if true then player was first started
+ bool ResetPositionWanted;
QTime StartPos; // Start position
QTime EndPos; // End position
QIcon IconPlay; // Icon : "images/player_play.png"
@@ -122,11 +131,14 @@ protected:
private slots:
void s_DoubleClick();
+ void s_RightClickEvent(QMouseEvent *);
void s_TimerEvent();
void s_VideoPlayerPlayPauseBT();
void s_SliderPressed();
void s_SliderReleased();
void s_SliderMoved(int Value);
+ void s_SaveImage();
+ void s_PositionChangeByUser();
private:
void EnableWidget(bool State);
@@ -137,7 +149,9 @@ private:
Ui::wgt_QVideoPlayer *ui;
signals:
- void DoubleClick();
+ void DoubleClick();
+ void RightClickEvent(QMouseEvent *);
+ void SaveImageEvent();
};
#endif // WGT_QVIDEOPLAYER_H
diff --git a/src/ffDiaporama/wgt_QVideoPlayer.ui b/src/ffDiaporama/wgt_QVideoPlayer.ui
index 0fb82c0..26af41e 100755
--- a/src/ffDiaporama/wgt_QVideoPlayer.ui
+++ b/src/ffDiaporama/wgt_QVideoPlayer.ui
@@ -123,7 +123,7 @@
<string notr="true">...</string>
</property>
<property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
+ <iconset>
<normaloff>:/img/player_play.png</normaloff>:/img/player_play.png</iconset>
</property>
<property name="iconSize">
@@ -332,6 +332,68 @@ color: white;
</item>
</layout>
</item>
+ <item>
+ <widget class="QToolButton" name="VideoPlayerSaveImageBT">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>30</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>30</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string extracomment="Tooltip in dialog box">Save this image of the movie</string>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">QToolButton { /* all types of tool button */
+ background: black;
+ border-top: 1px solid #202020;
+ border-bottom: 0px;
+ border-left: 0px;
+ border-right: 0px;
+ border-radius: 0px;
+ background-color: black;
+ }
+
+ QToolButton[popupMode="1"] { /* only for MenuButtonPopup */
+ padding-right: 10px; /* make way for the popup button */
+ }
+
+ QToolButton:pressed {
+ background-color: black;
+ }</string>
+ </property>
+ <property name="text">
+ <string notr="true">...</string>
+ </property>
+ <property name="icon">
+ <iconset>
+ <normaloff>:/img/Camera.png</normaloff>:/img/Camera.png</iconset>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ </widget>
+ </item>
</layout>
</item>
</layout>
@@ -354,12 +416,11 @@ color: white;
<customwidget>
<class>QCustomRuller</class>
<extends>QSlider</extends>
- <header>../sharedfiles/QCustomRuller.h</header>
+ <header>../engine/QCustomRuller.h</header>
</customwidget>
</customwidgets>
<resources>
<include location="../../RSCffDiaporama.qrc"/>
- <include location="../../RSCffDiaporama.qrc"/>
</resources>
<connections/>
</ui>
diff --git a/src/ffDiaporamaMMFiler/DlgAbout.cpp b/src/ffDiaporamaMMFiler/DlgAbout.cpp
deleted file mode 100755
index 0d33de9..0000000
--- a/src/ffDiaporamaMMFiler/DlgAbout.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "DlgAbout.h"
-#include "ui_DlgAbout.h"
-
-#include "cApplicationConfig.h"
-
-//====================================================================================================================
-
-DlgAbout::DlgAbout(QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent):
- QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent),ui(new Ui::DlgAbout) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::DlgAbout");
-
- ui->setupUi(this);
- OkBt =ui->OKBT;
- //CancelBt=;
- //HelpBt =ui->HelpBT;
-}
-
-//====================================================================================================================
-
-DlgAbout::~DlgAbout() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::~DlgAbout");
-
- delete ui;
-}
-
-//====================================================================================================================
-// Initialise dialog
-
-void DlgAbout::DoInitDialog() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::DoInitDialog");
-
- ui->ApplicationNameLabel->setText(QString(APPLICATION_VERSION));
- ui->tabWidget->setCurrentIndex(0);
- connect(ui->QtWebSiteBT,SIGNAL(clicked()),this,SLOT(WQtWebSite()));
- connect(ui->ffMPEGWebSiteBT,SIGNAL(clicked()),this,SLOT(ffMPEGWebSite()));
- connect(ui->EXIV2WebSiteBT,SIGNAL(clicked()),this,SLOT(EXIV2WebSite()));
- connect(ui->FMTFWebSiteBT,SIGNAL(clicked()),this,SLOT(FMTFWebSite()));
- connect(ui->CrystalWebSiteBT,SIGNAL(clicked()),this,SLOT(CrystalWebSite()));
- connect(ui->CC2WebSiteBT,SIGNAL(clicked()),this,SLOT(CC2WebSite()));
- connect(ui->TAGLibWebSiteBT,SIGNAL(clicked()),this,SLOT(TAGLibWebSite()));
-}
-
-//====================================================================================================================
-
-void DlgAbout::WQtWebSite() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::WQtWebSite");
-
- QDesktopServices::openUrl(QUrl("http://qt.nokia.com/products/"));
-}
-
-//====================================================================================================================
-
-void DlgAbout::TAGLibWebSite() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::TAGLibWebSite");
-
- QDesktopServices::openUrl(QUrl("http://developer.kde.org/~wheeler/taglib.html"));
-}
-
-//====================================================================================================================
-
-void DlgAbout::ffMPEGWebSite() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::ffMPEGWebSite");
-
- QDesktopServices::openUrl(QUrl("http://www.ffmpeg.org/"));
-}
-
-//====================================================================================================================
-
-void DlgAbout::EXIV2WebSite() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::EXIV2WebSite");
-
- QDesktopServices::openUrl(QUrl("http://www.exiv2.org/"));
-}
-
-//====================================================================================================================
-
-void DlgAbout::FMTFWebSite() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::FMTFWebSite");
-
- QDesktopServices::openUrl(QUrl("http://ksquirrel.sourceforge.net/subprojects.php"));
-}
-
-//====================================================================================================================
-
-void DlgAbout::CrystalWebSite() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::CrystalWebSite");
-
- QDesktopServices::openUrl(QUrl("http://www.everaldo.com/crystal/"));
-}
-
-//====================================================================================================================
-
-void DlgAbout::CC2WebSite() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgAbout::CC2WebSite");
-
- QDesktopServices::openUrl(QUrl("http://creativecommons.org/"));
-}
diff --git a/src/ffDiaporamaMMFiler/DlgAbout.h b/src/ffDiaporamaMMFiler/DlgAbout.h
deleted file mode 100755
index 26745d8..0000000
--- a/src/ffDiaporamaMMFiler/DlgAbout.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef DLGABOUT_H
-#define DLGABOUT_H
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-#include "../sharedfiles/_QCustomDialog.h"
-
-// Include some additional standard class
-#include <QDialog>
-
-namespace Ui {
- class DlgAbout;
-}
-
-class DlgAbout : public QCustomDialog {
-Q_OBJECT
-public:
- explicit DlgAbout(QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent=0);
- ~DlgAbout();
-
- // function to be overloaded
- virtual void DoInitDialog(); // Initialise dialog
- virtual void DoAccept() {/*Nothing to do*/} // Call when user click on Ok button
- virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button
- virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo
- virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button
-
-private slots:
- void WQtWebSite();
- void ffMPEGWebSite();
- void EXIV2WebSite();
- void FMTFWebSite();
- void CrystalWebSite();
- void CC2WebSite();
- void TAGLibWebSite();
-
-private:
- Ui::DlgAbout *ui;
-};
-
-#endif // DLGABOUT_H
diff --git a/src/ffDiaporamaMMFiler/DlgAbout.ui b/src/ffDiaporamaMMFiler/DlgAbout.ui
deleted file mode 100755
index e97688c..0000000
--- a/src/ffDiaporamaMMFiler/DlgAbout.ui
+++ /dev/null
@@ -1,686 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>DlgAbout</class>
- <widget class="QDialog" name="DlgAbout">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>743</width>
- <height>468</height>
- </rect>
- </property>
- <property name="minimumSize">
- <size>
- <width>600</width>
- <height>400</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- </font>
- </property>
- <property name="windowTitle">
- <string>About</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>4</number>
- </property>
- <property name="margin">
- <number>8</number>
- </property>
- <item>
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="label">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>128</width>
- <height>128</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>128</width>
- <height>128</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="pixmap">
- <pixmap>:/img/logo_big.png</pixmap>
- </property>
- <property name="scaledContents">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="0" column="1" rowspan="3">
- <layout class="QVBoxLayout" name="verticalLayout_2">
- <property name="leftMargin">
- <number>10</number>
- </property>
- <item>
- <widget class="QTabWidget" name="tabWidget">
- <property name="currentIndex">
- <number>1</number>
- </property>
- <widget class="QWidget" name="tab_2">
- <attribute name="title">
- <string>Licence</string>
- </attribute>
- <layout class="QVBoxLayout" name="verticalLayout_4">
- <property name="spacing">
- <number>4</number>
- </property>
- <property name="margin">
- <number>4</number>
- </property>
- <item>
- <widget class="QLabel" name="label_18">
- <property name="text">
- <string>Copyright (C) 2011-2012 Dominique Levray</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_19">
- <property name="text">
- <string>This software is licensed under the GPL version 2 :</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPlainTextEdit" name="plainTextEdit">
- <property name="plainText">
- <string notr="true">GNU GENERAL PUBLIC LICENSE
-
-Version 2, June 1991
-
-Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
-
-Preamble
-The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
-When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
-To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
-For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
-We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
-Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
-Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
-The precise terms and conditions for copying, distribution and modification follow.
-
-GNU GENERAL PUBLIC LICENSE
-
-TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
-Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
-
-1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
-You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
-
-2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
-a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
-b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
-c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
-These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
-Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
-In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
-
-3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
-a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
-b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
-c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
-The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
-If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
-
-4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
-
-5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
-
-6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
-
-7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
-If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
-It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
-This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
-
-8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
-
-9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
-Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
-
-10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
-
-NO WARRANTY
-
-11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-END OF TERMS AND CONDITIONS
-How to Apply These Terms to Your New Programs
-If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
-To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
-<one line to give the program's name and a brief idea of what it does.>
-Copyright (C) <year> <name of author>
-This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
-This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-Also add information on how to contact you by electronic and paper mail.
-If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
-Gnomovision version 69, Copyright (C) year name of author
-Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
-The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
-You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
-Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-`Gnomovision' (which makes passes at compilers) written by James Hacker.
-<signature of Ty Coon>, 1 April 1989
-Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.</string>
- </property>
- <property name="textInteractionFlags">
- <set>Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="tab_3">
- <attribute name="title">
- <string>Credits</string>
- </attribute>
- <layout class="QVBoxLayout" name="verticalLayout_5">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QScrollArea" name="scrollArea">
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="horizontalScrollBarPolicy">
- <enum>Qt::ScrollBarAsNeeded</enum>
- </property>
- <property name="widgetResizable">
- <bool>true</bool>
- </property>
- <widget class="QWidget" name="scrollAreaWidgetContents">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>557</width>
- <height>474</height>
- </rect>
- </property>
- <layout class="QGridLayout" name="gridLayout_2">
- <property name="margin">
- <number>4</number>
- </property>
- <property name="spacing">
- <number>4</number>
- </property>
- <item row="0" column="0" colspan="3">
- <widget class="QLabel" name="label_2">
- <property name="font">
- <font>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>This application was developped using Open Source version of Qt 4.7 SDK</string>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>WEB site & licence :</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_4">
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>20</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- <item row="2" column="0" colspan="3">
- <widget class="QLabel" name="label_5">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Video decoding and encoding engines are based on ffmpeg</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QLabel" name="label_7">
- <property name="text">
- <string>WEB site & licence :</string>
- </property>
- </widget>
- </item>
- <item row="4" column="0" colspan="3">
- <widget class="QLabel" name="label_10">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Image exif decoding is based on Exiv2 - Image metadata library and tools</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="5" column="1">
- <widget class="QLabel" name="label_11">
- <property name="text">
- <string>WEB site & licence :</string>
- </property>
- </widget>
- </item>
- <item row="13" column="0" colspan="3">
- <widget class="QLabel" name="label_12">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Other images and graphical material are using Creative Common Licence 2</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="15" column="1">
- <widget class="QLabel" name="label_13">
- <property name="text">
- <string>C.C. WEB site :</string>
- </property>
- </widget>
- </item>
- <item row="11" column="1">
- <widget class="QLabel" name="label_15">
- <property name="text">
- <string>WEB site & licence :</string>
- </property>
- </widget>
- </item>
- <item row="10" column="0" colspan="3">
- <widget class="QLabel" name="label_14">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Many icons are from the Crystal Project</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="7" column="1">
- <widget class="QLabel" name="label_17">
- <property name="text">
- <string>WEB site & licence :</string>
- </property>
- </widget>
- </item>
- <item row="16" column="2">
- <spacer name="verticalSpacer_2">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="1" column="2">
- <widget class="QPushButton" name="QtWebSiteBT">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">http://qt.nokia.com/products/</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
- </property>
- </widget>
- </item>
- <item row="3" column="2">
- <widget class="QPushButton" name="ffMPEGWebSiteBT">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">http://www.ffmpeg.org/</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
- </property>
- </widget>
- </item>
- <item row="5" column="2">
- <widget class="QPushButton" name="EXIV2WebSiteBT">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">http://www.exiv2.org/</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
- </property>
- </widget>
- </item>
- <item row="7" column="2">
- <widget class="QPushButton" name="FMTFWebSiteBT">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">http://ksquirrel.sourceforge.net/subprojects.php</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
- </property>
- </widget>
- </item>
- <item row="11" column="2">
- <widget class="QPushButton" name="CrystalWebSiteBT">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">http://www.everaldo.com/crystal/</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
- </property>
- </widget>
- </item>
- <item row="15" column="2">
- <widget class="QPushButton" name="CC2WebSiteBT">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">http://creativecommons.org/</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
- </property>
- </widget>
- </item>
- <item row="6" column="0" colspan="3">
- <widget class="QLabel" name="label_16">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Image effects are based on fmt_filters</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="8" column="0" colspan="3">
- <widget class="QLabel" name="label_20">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>TAG managment based on TAGLib</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="9" column="1">
- <widget class="QLabel" name="label_21">
- <property name="text">
- <string>WEB site & licence :</string>
- </property>
- </widget>
- </item>
- <item row="9" column="2">
- <widget class="QPushButton" name="TAGLibWebSiteBT">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true">http://developer.kde.org/~wheeler/taglib.html</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/Internet.png</normaloff>:/img/Internet.png</iconset>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- </layout>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="ApplicationNameLabel">
- <property name="font">
- <font>
- <family>Serif</family>
- <pointsize>11</pointsize>
- <stylestrategy>PreferAntialias</stylestrategy>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">color: black;</string>
- </property>
- <property name="text">
- <string notr="true">TextLabel</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="Line" name="line">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="OKBT">
- <property name="text">
- <string>&Ok</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/src/ffDiaporamaMMFiler/DlgApplicationSettings.cpp b/src/ffDiaporamaMMFiler/DlgApplicationSettings.cpp
deleted file mode 100755
index f0f1954..0000000
--- a/src/ffDiaporamaMMFiler/DlgApplicationSettings.cpp
+++ /dev/null
@@ -1,134 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include <QMessageBox>
-#include "../sharedfiles/DlgCheckConfig.h"
-#include "../sharedfiles/DlgManageDevices.h"
-
-#include "DlgApplicationSettings.h"
-#include "ui_DlgApplicationSettings.h"
-
-//====================================================================================================================
-
-DlgApplicationSettings::DlgApplicationSettings(QString HelpURL,cApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent)
- :QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent),ui(new Ui::DlgApplicationSettings) {
-
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::DlgApplicationSettings");
-
- this->ApplicationConfig=ApplicationConfig;
- this->HelpURLChkConfig =HelpURLChkConfig;
-
- ui->setupUi(this);
- CancelBt=ui->CancelBt;
- OkBt =ui->OkBt;
- HelpBt =ui->HelpBT;
-
- IsDeviceChanged=false;
-}
-
-//====================================================================================================================
-
-DlgApplicationSettings::~DlgApplicationSettings() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::~DlgApplicationSettings");
-
- delete ui;
-}
-
-//====================================================================================================================
-// Initialise dialog
-
-void DlgApplicationSettings::DoInitDialog() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::DoInitDialog");
-
- ui->RememberLastDirectoriesCH->setChecked(ApplicationConfig->RememberLastDirectories);
- ui->RestoreWindowCH->setChecked(ApplicationConfig->RestoreWindow);
- ui->HiddenCB->setChecked(ApplicationConfig->ShowHiddenFilesAndDir);
- ui->FoldersFirstCB->setChecked(ApplicationConfig->ShowFoldersFirst);
- ui->Crop1088To1080CB->setChecked(ApplicationConfig->Crop1088To1080);
- #ifdef Q_OS_WIN
- ui->RasterModeCB->setVisible(false);
- ui->OnlyMediaDrivesCB->setVisible(false);
- #elif defined(Q_OS_UNIX) && !defined(Q_OS_MACX)
- ui->RasterModeCB->setChecked(ApplicationConfig->RasterMode);
- ui->OnlyMediaDrivesCB->setChecked(!ApplicationConfig->ShowMntDrive);
- #endif
- ui->FileNameIconViewCB->setChecked(ApplicationConfig->DisplayFileName);
- ui->MiniHeightEXIFCB->setCurrentIndex(ApplicationConfig->MinimumEXIFHeight/100);
-
- QString ThumbSize;
- ThumbSize=QString("%1x%2").arg(ApplicationConfig->Image_ThumbWidth).arg(ApplicationConfig->Image_ThumbHeight); ui->ThumbSImageCB->setCurrentIndex(ui->ThumbSImageCB->findText(ThumbSize));
- ThumbSize=QString("%1x%2").arg(ApplicationConfig->Music_ThumbWidth).arg(ApplicationConfig->Music_ThumbHeight); ui->ThumbSMusicCB->setCurrentIndex(ui->ThumbSMusicCB->findText(ThumbSize));
- ThumbSize=QString("%1x%2").arg(ApplicationConfig->Video_ThumbWidth).arg(ApplicationConfig->Video_ThumbHeight); ui->ThumbSVideoCB->setCurrentIndex(ui->ThumbSVideoCB->findText(ThumbSize));
-
- connect(ui->CheckConfigBT,SIGNAL(clicked()),this,SLOT(s_CheckConfig()));
- connect(ui->DBManageDevicesBT,SIGNAL(clicked()),this,SLOT(s_ManageDevices()));
- connect(ui->tabWidget,SIGNAL(currentChanged(int)),this,SLOT(TabChanged(int)));
-
- ui->tabWidget->setCurrentIndex(0);
-}
-
-//====================================================================================================================
-// Call when user click on Ok button
-
-void DlgApplicationSettings::DoAccept() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::DoAccept");
-
- ApplicationConfig->RememberLastDirectories =ui->RememberLastDirectoriesCH->isChecked();
- ApplicationConfig->RestoreWindow =ui->RestoreWindowCH->isChecked();
- ApplicationConfig->ShowHiddenFilesAndDir =ui->HiddenCB->isChecked();
- ApplicationConfig->ShowFoldersFirst =ui->FoldersFirstCB->isChecked();
- ApplicationConfig->Crop1088To1080 =ui->Crop1088To1080CB->isChecked();
- ApplicationConfig->DisplayFileName =ui->FileNameIconViewCB->isChecked();
- ApplicationConfig->MinimumEXIFHeight =ui->MiniHeightEXIFCB->currentIndex()*100;
-
- QString ThumbSize;
- ThumbSize=ui->ThumbSImageCB->currentText(); ApplicationConfig->Image_ThumbWidth=ThumbSize.left(ThumbSize.indexOf("x")).toInt(); ApplicationConfig->Image_ThumbHeight=ThumbSize.mid(ThumbSize.indexOf("x")+1).toInt();
- ThumbSize=ui->ThumbSMusicCB->currentText(); ApplicationConfig->Music_ThumbWidth=ThumbSize.left(ThumbSize.indexOf("x")).toInt(); ApplicationConfig->Music_ThumbHeight=ThumbSize.mid(ThumbSize.indexOf("x")+1).toInt();
- ThumbSize=ui->ThumbSVideoCB->currentText(); ApplicationConfig->Video_ThumbWidth=ThumbSize.left(ThumbSize.indexOf("x")).toInt(); ApplicationConfig->Video_ThumbHeight=ThumbSize.mid(ThumbSize.indexOf("x")+1).toInt();
-
- #ifdef Q_OS_LINUX
- ApplicationConfig->RasterMode =ui->RasterModeCB->isChecked();
- ApplicationConfig->ShowMntDrive =!ui->OnlyMediaDrivesCB->isChecked();
- #endif
-}
-
-//====================================================================================================================
-
-void DlgApplicationSettings::s_CheckConfig() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::s_CheckConfig");
- DlgCheckConfig Dlg(HELPFILE_DlgCheckConfig,ApplicationConfig,ApplicationConfig->DlgCheckConfigWSP,this);
- Dlg.InitDialog();
- Dlg.exec();
-}
-
-//====================================================================================================================
-
-void DlgApplicationSettings::s_ManageDevices() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::s_ManageDevices");
- DlgManageDevices Dlg(&ApplicationConfig->DeviceModelList,HELPFILE_DlgManageDevices,ApplicationConfig,ApplicationConfig->DlgManageDevicesWSP,this);
- Dlg.InitDialog();
- Dlg.exec();
-}
-
-//====================================================================================================================
-
-void DlgApplicationSettings::TabChanged(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgApplicationSettings::TabChanged");
-}
diff --git a/src/ffDiaporamaMMFiler/DlgApplicationSettings.h b/src/ffDiaporamaMMFiler/DlgApplicationSettings.h
deleted file mode 100755
index 0ddc2b8..0000000
--- a/src/ffDiaporamaMMFiler/DlgApplicationSettings.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef DLGAPPLICATIONSETTINGS_H
-#define DLGAPPLICATIONSETTINGS_H
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-#include "../sharedfiles/_QCustomDialog.h"
-
-// Include some additional standard class
-#include <QDialog>
-
-#include "cApplicationConfig.h"
-
-namespace Ui {
- class DlgApplicationSettings;
-}
-
-class DlgApplicationSettings : public QCustomDialog {
-Q_OBJECT
-public:
- cApplicationConfig *ApplicationConfig;
- QString HelpURLChkConfig;
- bool IsDeviceChanged;
-
- explicit DlgApplicationSettings(QString HelpURL,cApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent = 0);
- ~DlgApplicationSettings();
-
- // function to be overloaded
- virtual void DoInitDialog(); // Initialise dialog
- virtual void DoAccept(); // Call when user click on Ok button
- virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button
- virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo
- virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button
-
-private slots:
- void s_ManageDevices();
- void s_CheckConfig();
- void TabChanged(int);
-
-private:
- Ui::DlgApplicationSettings *ui;
-};
-
-#endif // DLGAPPLICATIONSETTINGS_H
diff --git a/src/ffDiaporamaMMFiler/DlgApplicationSettings.ui b/src/ffDiaporamaMMFiler/DlgApplicationSettings.ui
deleted file mode 100755
index db185a9..0000000
--- a/src/ffDiaporamaMMFiler/DlgApplicationSettings.ui
+++ /dev/null
@@ -1,600 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>DlgApplicationSettings</class>
- <widget class="QDialog" name="DlgApplicationSettings">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>600</width>
- <height>500</height>
- </rect>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>600</width>
- <height>500</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- </font>
- </property>
- <property name="windowTitle">
- <string>Application settings</string>
- </property>
- <property name="modal">
- <bool>true</bool>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>4</number>
- </property>
- <property name="sizeConstraint">
- <enum>QLayout::SetDefaultConstraint</enum>
- </property>
- <property name="margin">
- <number>8</number>
- </property>
- <item>
- <widget class="QTabWidget" name="tabWidget">
- <property name="currentIndex">
- <number>0</number>
- </property>
- <widget class="QWidget" name="TabApp">
- <attribute name="title">
- <string>Application Options</string>
- </attribute>
- <layout class="QGridLayout" name="gridLayout_3">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <item row="2" column="0">
- <widget class="QScrollArea" name="scrollArea_2">
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="widgetResizable">
- <bool>true</bool>
- </property>
- <widget class="QWidget" name="scrollAreaWidgetContents_2">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>-34</y>
- <width>562</width>
- <height>442</height>
- </rect>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <property name="margin">
- <number>4</number>
- </property>
- <property name="spacing">
- <number>4</number>
- </property>
- <item row="1" column="1" colspan="4">
- <widget class="QCheckBox" name="RestoreWindowCH">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string>If this box is checked, the sizes and the positions of all the windows and dialogue box of ffDiaporama will be saved to be reused the next time which you will use ffDiaporama.</string>
- </property>
- <property name="text">
- <string>Remember Windows size and positions</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1" colspan="4">
- <widget class="QCheckBox" name="RememberLastDirectoriesCH">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string>If this box is checked, the directories that you use for the images, the videos, the projects, the musics and the generations of movie will be saved to be reused the next time which you will use ffDiaporama.</string>
- </property>
- <property name="text">
- <string>Remember last used folders</string>
- </property>
- </widget>
- </item>
- <item row="0" column="0" colspan="5">
- <widget class="QLabel" name="label_3">
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Application options</string>
- </property>
- </widget>
- </item>
- <item row="6" column="0" colspan="5">
- <widget class="QLabel" name="label_35">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Video options</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- </widget>
- </item>
- <item row="3" column="1" colspan="4">
- <widget class="QCheckBox" name="RasterModeCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Enable "raster" Graphics System (Need application restart)</string>
- </property>
- </widget>
- </item>
- <item row="7" column="1" colspan="4">
- <widget class="QCheckBox" name="Crop1088To1080CB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Automatically crop 1920x1088 video to 1920x1080</string>
- </property>
- </widget>
- </item>
- <item row="9" column="1" colspan="4">
- <widget class="QCheckBox" name="HiddenCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Show hidden folders and files</string>
- </property>
- </widget>
- </item>
- <item row="10" column="1" colspan="4">
- <widget class="QCheckBox" name="FoldersFirstCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Display folders first</string>
- </property>
- </widget>
- </item>
- <item row="11" column="1" colspan="4">
- <widget class="QCheckBox" name="OnlyMediaDrivesCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Display only drives mounted in /media/</string>
- </property>
- </widget>
- </item>
- <item row="15" column="1">
- <widget class="QLabel" name="label_2">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>20</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- <item row="15" column="2">
- <widget class="QLabel" name="label_4">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Image :</string>
- </property>
- </widget>
- </item>
- <item row="15" column="3">
- <widget class="QComboBox" name="ThumbSImageCB">
- <property name="sizeAdjustPolicy">
- <enum>QComboBox::AdjustToContents</enum>
- </property>
- <item>
- <property name="text">
- <string notr="true">300x200</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="15" column="4">
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="16" column="2">
- <widget class="QLabel" name="label_5">
- <property name="text">
- <string>Music :</string>
- </property>
- </widget>
- </item>
- <item row="17" column="2">
- <widget class="QLabel" name="label_6">
- <property name="text">
- <string>Video :</string>
- </property>
- </widget>
- </item>
- <item row="16" column="3">
- <widget class="QComboBox" name="ThumbSMusicCB">
- <property name="sizeAdjustPolicy">
- <enum>QComboBox::AdjustToContents</enum>
- </property>
- <item>
- <property name="text">
- <string notr="true">200x200</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="17" column="3">
- <widget class="QComboBox" name="ThumbSVideoCB">
- <property name="sizeAdjustPolicy">
- <enum>QComboBox::AdjustToContents</enum>
- </property>
- <item>
- <property name="text">
- <string notr="true">120x180</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">150x200</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">162x216</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="13" column="1" colspan="4">
- <widget class="QCheckBox" name="FileNameIconViewCB">
- <property name="text">
- <string>Display filename in icon views</string>
- </property>
- </widget>
- </item>
- <item row="14" column="1" colspan="4">
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Thumbnails size for big icons mode :</string>
- </property>
- </widget>
- </item>
- <item row="8" column="0" colspan="5">
- <widget class="QLabel" name="BrowserOptions">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Display options</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- </widget>
- </item>
- <item row="18" column="0" colspan="5">
- <widget class="QLabel" name="BrowserOptions_2">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Thumbnail rules options</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- </widget>
- </item>
- <item row="21" column="2">
- <spacer name="verticalSpacer_2">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="19" column="2" colspan="3">
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="label_8">
- <property name="text">
- <string>Minimum height for EXIF "Preview Image" :</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="MiniHeightEXIFCB">
- <property name="toolTip">
- <string>Define minimum height Preview Image must have to use it</string>
- </property>
- <item>
- <property name="text">
- <string>No minimum height</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Not less than 100</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Not less than 200</string>
- </property>
- </item>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_3">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <property name="spacing">
- <number>4</number>
- </property>
- <item>
- <widget class="QPushButton" name="CheckConfigBT">
- <property name="text">
- <string>Check Configuration</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/config.png</normaloff>:/img/config.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="DBManageDevicesBT">
- <property name="text">
- <string>Manage Devices</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/db.png</normaloff>:/img/db.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="OkBt">
- <property name="toolTip">
- <string>Accept modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Ok</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="CancelBt">
- <property name="toolTip">
- <string>Cancel modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Cancel</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="HelpBT">
- <property name="toolTip">
- <string>Open help page describing this dialog box</string>
- </property>
- <property name="text">
- <string>&Help</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
- </property>
- <property name="shortcut">
- <string>F1</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <tabstops>
- <tabstop>OkBt</tabstop>
- <tabstop>CancelBt</tabstop>
- </tabstops>
- <resources>
- <include location="../../RSCffDiaporama.qrc"/>
- <include location="../../RSCffDiaporama.qrc"/>
- </resources>
- <connections/>
-</ui>
diff --git a/src/ffDiaporamaMMFiler/DlgJobSettings.cpp b/src/ffDiaporamaMMFiler/DlgJobSettings.cpp
deleted file mode 100755
index 3f27baf..0000000
--- a/src/ffDiaporamaMMFiler/DlgJobSettings.cpp
+++ /dev/null
@@ -1,305 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "../sharedfiles/QCustomGetFolder.h"
-#include "cApplicationConfig.h"
-
-#include "wgt_JobConvertImage.h"
-#include "wgt_JobConvertAudio.h"
-#include "wgt_JobConvertVideo.h"
-
-#include "DlgJobSettings.h"
-#include "ui_DlgJobSettings.h"
-
-
-//====================================================================================================================
-
-DlgJobSettings::DlgJobSettings(cJob *TheJob,cJobQueue *TheJobQueue,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent)
- :QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent),ui(new Ui::DlgJobSettings) {
-
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgJobSettings::DlgJobSettings");
-
- ui->setupUi(this);
- CancelBt=ui->CancelBt;
- OkBt =ui->OkBt;
- HelpBt =ui->HelpBT;
-
- Job =TheJob;
- JobQueue =TheJobQueue;
- wgt_Job =NULL;
- JobSummary ="";
-}
-
-//====================================================================================================================
-
-DlgJobSettings::~DlgJobSettings() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgJobSettings::~DlgJobSettings");
-
- delete ui;
- delete wgt_Job;
-}
-
-//====================================================================================================================
-// Initialise dialog
-
-void DlgJobSettings::DoInitDialog() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgJobSettings::DoInitDialog");
-
- switch (Job->JobType) {
- case JOBTYPE_IMAGE_CONVERTIMAGE : wgt_Job=new wgt_JobConvertImage(this,ui->JobWidget); break;
- case JOBTYPE_AUDIO_CONVERTAUDIO : wgt_Job=new wgt_JobConvertAudio(this,ui->JobWidget); break;
- case JOBTYPE_VIDEO_CONVERTVIDEO : wgt_Job=new wgt_JobConvertVideo(this,ui->JobWidget); break;
- }
- if (wgt_Job) {
- wgt_Job->Job=Job;
- ui->JobWidget->setFixedHeight(wgt_Job->height());
- connect(wgt_Job,SIGNAL(NeedRefreshControls()),this,SLOT(RefreshControls()));
- }
-
- connect(ui->Source_Nothing_RD, SIGNAL(released()),this,SLOT(s_Source_Nothing_RD()));
- connect(ui->Source_Delete_RD, SIGNAL(released()),this,SLOT(s_Source_Delete_RD()));
- connect(ui->Source_Rename_RD, SIGNAL(released()),this,SLOT(s_Source_Rename_RD()));
- connect(ui->Source_Move_RD, SIGNAL(released()),this,SLOT(s_Source_Move_RD()));
- connect(ui->Destination_AddSizeSuffix_CB, SIGNAL(released()),this,SLOT(s_Destination_AddSizeSuffix_CB()));
- connect(ui->Destination_AddSuffix_CB, SIGNAL(released()),this,SLOT(s_Destination_AddSuffix_CB()));
- connect(ui->Destination_InFolder_RD, SIGNAL(released()),this,SLOT(s_Destination_InFolder_RD()));
- connect(ui->Source_Suffix_ED, SIGNAL(textChanged(const QString)),this,SLOT(s_Source_Suffix_ED(const QString)));
- connect(ui->Destination_Suffix_ED, SIGNAL(textChanged(const QString)),this,SLOT(s_Destination_Suffix_ED(const QString)));
- connect(ui->Destination_Overwrite_RD, SIGNAL(released()),this,SLOT(s_Destination_Overwrite_RD()));
- connect(ui->Source_Folder_BT, SIGNAL(released()),this,SLOT(s_Source_Folder_BT()));
- connect(ui->Destination_Folder_BT, SIGNAL(released()),this,SLOT(s_Destination_Folder_BT()));
-
- if (wgt_Job) wgt_Job->DoInitDialog();
- RefreshControls();
-
-}
-
-//====================================================================================================================
-
-void DlgJobSettings::RefreshControls() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgJobSettings::RefreshControls");
-
- bool DisplaySourcePart=(Job->JobQualif&JOBQUALIF_SOURCE_ALL)!=0;
- ui->Source_Nothing_RD->setChecked((Job->JobSettings&JOBQUALIF_SOURCE_KEEP)!=0);
- ui->Source_Delete_RD->setChecked((Job->JobSettings&JOBQUALIF_SOURCE_REMOVE)!=0);
- ui->Source_Rename_RD->setChecked((Job->JobSettings&JOBQUALIF_SOURCE_ADDSUFFIX)!=0);
- ui->Source_Suffix_ED->setText(Job->SourceSuffix);
- ui->Source_Move_RD->setChecked((Job->JobSettings&JOBQUALIF_SOURCE_MOVE)!=0);
- ui->Source_Folder_ED->setText(Job->SourceFolder);
- ui->Source_Label->setVisible(DisplaySourcePart);
- ui->Source_Label_spacer1->setVisible(DisplaySourcePart);
- ui->Source_Nothing_RD->setVisible(DisplaySourcePart); ui->Source_Nothing_RD->setEnabled((Job->JobQualif&JOBQUALIF_SOURCE_KEEP)!=0);
- ui->Source_Delete_RD->setVisible(DisplaySourcePart); ui->Source_Delete_RD->setEnabled((Job->JobQualif&JOBQUALIF_SOURCE_REMOVE)!=0);
- ui->Source_Rename_RD->setVisible(DisplaySourcePart); ui->Source_Rename_RD->setEnabled((Job->JobQualif&JOBQUALIF_SOURCE_ADDSUFFIX)!=0);
- ui->Source_Suffix_ED->setVisible(DisplaySourcePart); ui->Source_Suffix_ED->setEnabled(ui->Source_Rename_RD->isChecked()&&((Job->JobQualif&JOBQUALIF_SOURCE_ADDSUFFIX)!=0));
- ui->Source_Move_RD->setVisible(DisplaySourcePart); ui->Source_Move_RD->setEnabled((Job->JobQualif&JOBQUALIF_SOURCE_MOVE)!=0);
- ui->Source_Folder_ED->setVisible(DisplaySourcePart); ui->Source_Folder_ED->setEnabled(ui->Source_Move_RD->isChecked()&&((Job->JobQualif&JOBQUALIF_SOURCE_MOVE)!=0));
- ui->Source_Folder_BT->setVisible(DisplaySourcePart); ui->Source_Folder_BT->setEnabled(ui->Source_Move_RD->isChecked()&&((Job->JobQualif&JOBQUALIF_SOURCE_MOVE)!=0));
- ui->Source_Folder_Spacer->setVisible(DisplaySourcePart);
-
- bool DisplayDestinationNamePart=(Job->JobQualif&JOBQUALIF_DESTNAME_ADDSUFFIX)!=0;
- bool DisplayDestinationPlacePart=(Job->JobQualif&JOBQUALIF_DESTPLACE_INFOLDER)!=0;
- bool DisplayOverWrite=(Job->JobQualif&JOBQUALIF_DESTINATION_OVERWRITE)!=0;
- ui->DestinationName_Label->setVisible(DisplayDestinationNamePart||DisplayDestinationPlacePart||DisplayOverWrite);
- ui->Destination_AddSuffix_CB->setChecked((Job->JobSettings&JOBQUALIF_DESTNAME_ADDSUFFIX)!=0);
- ui->Destination_Suffix_ED->setText(Job->DestinationSuffix);
- ui->Destination_AddSuffix_CB->setVisible(DisplayDestinationNamePart); ui->Destination_AddSuffix_CB->setEnabled((Job->JobQualif&JOBQUALIF_DESTNAME_ADDSUFFIX)!=0);
- ui->Destination_Suffix_ED->setVisible(DisplayDestinationNamePart); ui->Destination_Suffix_ED->setEnabled(ui->Destination_AddSuffix_CB->isChecked()&&DisplayDestinationNamePart);
- ui->Destination_AddSizeSuffix_CB->setChecked((Job->JobSettings&JOBQUALIF_DESTNAME_ADDSIZESUFFIX)!=0);
- ui->Destination_AddSizeSuffix_CB->setVisible(DisplayDestinationNamePart); ui->Destination_AddSizeSuffix_CB->setEnabled((Job->JobQualif&JOBQUALIF_DESTNAME_ADDSIZESUFFIX)!=0);
- ui->Destination_InFolder_RD->setChecked((Job->JobSettings&JOBQUALIF_DESTPLACE_INFOLDER)!=0);
- ui->Destination_Folder_ED->setText(Job->DestinationFolder);
- ui->DestinationPlace_Label_spacer0->setVisible(DisplayDestinationPlacePart);
- ui->Destination_InFolder_RD->setVisible(DisplayDestinationPlacePart); ui->Destination_InFolder_RD->setEnabled((Job->JobQualif&JOBQUALIF_DESTPLACE_INFOLDER)!=0);
- ui->Destination_Folder_ED->setVisible(DisplayDestinationPlacePart); ui->Destination_Folder_ED->setEnabled(ui->Destination_InFolder_RD->isChecked()&&DisplayDestinationPlacePart);
- ui->Destination_Folder_BT->setVisible(DisplayDestinationPlacePart); ui->Destination_Folder_BT->setEnabled(ui->Destination_InFolder_RD->isChecked()&&DisplayDestinationPlacePart);
- ui->Destination_Folder_Spacer->setVisible(DisplayDestinationPlacePart);
- ui->Destination_Overwrite_RD->setVisible(DisplayOverWrite); ui->Destination_Overwrite_RD->setChecked((Job->JobSettings&JOBQUALIF_DESTINATION_OVERWRITE)!=0);
-
-/*
- ui->Thumbnails_Label
- ui->Thumbnails_Label_spacer0
- ui->Thumbnails_Ignore_RD
- ui->Thumbnails_Copy_RD
-*/
-
- if (wgt_Job) wgt_Job->RefreshControls();
-
- RefreshJobSummary();
- ui->JobSummary_ED->setText(JobSummary);
-}
-
-//====================================================================================================================
-
-void DlgJobSettings::DoAccept() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgJobSettings::DoAccept");
- // Keep options for next use
-}
-
-//====================================================================================================================
-
-void DlgJobSettings::s_Source_Nothing_RD() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgJobSettings::s_Source_Nothing_RD");
-
- Job->JobSettings=(Job->JobSettings & ~JOBQUALIF_SOURCE_ALL)|JOBQUALIF_SOURCE_KEEP;
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgJobSettings::s_Source_Delete_RD() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgJobSettings::s_Source_Delete_RD");
-
- Job->JobSettings=(Job->JobSettings & ~JOBQUALIF_SOURCE_ALL)|JOBQUALIF_SOURCE_REMOVE;
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgJobSettings::s_Source_Rename_RD() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgJobSettings::s_Source_Rename_RD");
-
- Job->JobSettings=(Job->JobSettings & ~JOBQUALIF_SOURCE_ALL)|JOBQUALIF_SOURCE_ADDSUFFIX;
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgJobSettings::s_Source_Move_RD() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgJobSettings::s_Source_Move_RD");
-
- Job->JobSettings=(Job->JobSettings & ~JOBQUALIF_SOURCE_ALL)|JOBQUALIF_SOURCE_MOVE;
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgJobSettings::s_Destination_AddSuffix_CB() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgJobSettings::s_Destination_AddSuffix_CB");
-
- if (ui->Destination_AddSuffix_CB->isChecked()) Job->JobSettings=(Job->JobSettings|JOBQUALIF_DESTNAME_ADDSUFFIX);
- else Job->JobSettings=(Job->JobSettings & ~JOBQUALIF_DESTNAME_ADDSUFFIX);
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgJobSettings::s_Destination_AddSizeSuffix_CB() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgJobSettings::s_Destination_AddSizeSuffix_CB");
-
- if (ui->Destination_AddSizeSuffix_CB->isChecked()) Job->JobSettings=(Job->JobSettings|JOBQUALIF_DESTNAME_ADDSIZESUFFIX);
- else Job->JobSettings=(Job->JobSettings & ~JOBQUALIF_DESTNAME_ADDSIZESUFFIX);
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgJobSettings::s_Destination_InFolder_RD() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgJobSettings::s_Destination_InFolder_RD");
-
- if (ui->Destination_InFolder_RD->isChecked()) Job->JobSettings=(Job->JobSettings|JOBQUALIF_DESTPLACE_INFOLDER);
- else Job->JobSettings=(Job->JobSettings & ~JOBQUALIF_DESTPLACE_INFOLDER);
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgJobSettings::s_Destination_Overwrite_RD() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgJobSettings::s_Destination_Overwrite_RD");
-
- if (ui->Destination_Overwrite_RD->isChecked()) Job->JobSettings=(Job->JobSettings|JOBQUALIF_DESTINATION_OVERWRITE);
- else Job->JobSettings=(Job->JobSettings & ~JOBQUALIF_DESTINATION_OVERWRITE);
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgJobSettings::s_Source_Suffix_ED(const QString Suffix) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgJobSettings::s_Destination_Overwrite_RD");
-
- Job->SourceSuffix=Suffix;
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgJobSettings::s_Destination_Suffix_ED(const QString Suffix) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgJobSettings::s_Destination_Overwrite_RD");
-
- Job->DestinationSuffix=Suffix;
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void DlgJobSettings::s_Source_Folder_BT() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgJobSettings::s_Source_Folder_BT");
-
- QString NewPath=GetDestinationFolder(Job->SourceFolder,"",BaseApplicationConfig,((cApplicationConfig *)BaseApplicationConfig)->DlgGetFolderWSP,this);
- if (NewPath!="") {
- Job->SourceFolder=NewPath;
- RefreshControls();
- }
-}
-
-//====================================================================================================================
-
-void DlgJobSettings::s_Destination_Folder_BT() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgJobSettings::s_Destination_Folder_BT");
-
- QString NewPath=GetDestinationFolder(Job->DestinationFolder,"",BaseApplicationConfig,((cApplicationConfig *)BaseApplicationConfig)->DlgGetFolderWSP,this);
- if (NewPath!="") {
- Job->DestinationFolder=NewPath;
- RefreshControls();
- }
-}
-
-//====================================================================================================================
-
-void DlgJobSettings::RefreshJobSummary() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgJobSettings::RefreshJobSummary");
-
- JobSummary ="";
- for (int i=0;i<Job->SourcesAndDests.count();i++) {
- QString Source =Job->SourcesAndDests[i];
- cBaseMediaFile *MediaFile=NULL;
-
- // Search MediaFile in list
- for (int j=0;j<JobQueue->MediaList.count();j++) if (((cBaseMediaFile *)JobQueue->MediaList.at(j))->FileName==Source) {
- MediaFile=JobQueue->MediaList.at(j);
- break;
- }
-
- if (MediaFile!=NULL) {
- QString DestSuffix =wgt_Job->ComputeDestSuffix(MediaFile);
- QString Destination =Job->ComputeDestinationName(Source,DestSuffix);
- QString NewSource =Job->ComputeNewSourceName(Source);
-
- if (JobSummary!="") JobSummary=JobSummary+"\n";
-
- JobSummary=JobSummary+JobQueue->JobTypeText[Job->JobType]+" ("+QFileInfo(Source).fileName()+" => "+(QFileInfo(Source).absolutePath()==QFileInfo(Destination).absolutePath()?QFileInfo(Destination).fileName():Destination)+")";
- if ((Job->JobSettings&JOBQUALIF_DESTINATION_OVERWRITE)!=0) JobSummary=JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","overwrite destination file as needed"));
- if ((Job->JobSettings&JOBQUALIF_SOURCE_REMOVE)!=0) JobSummary=JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and remove %1")).arg(Source);
- else if ((Job->JobSettings&JOBQUALIF_SOURCE_ADDSUFFIX)!=0) JobSummary=JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and rename %1 to %2")).arg(Source).arg(NewSource);
- else if ((Job->JobSettings&JOBQUALIF_SOURCE_MOVE)!=0) JobSummary=JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and move %1 to %2")).arg(Source).arg(NewSource);
- if (wgt_Job) wgt_Job->AppendJobSummary(i,&JobSummary,JobQueue);
- }
- }
-}
diff --git a/src/ffDiaporamaMMFiler/DlgJobSettings.h b/src/ffDiaporamaMMFiler/DlgJobSettings.h
deleted file mode 100755
index 8c29491..0000000
--- a/src/ffDiaporamaMMFiler/DlgJobSettings.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef DLGJOBSETTINGS_H
-#define DLGJOBSETTINGS_H
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-#include "../sharedfiles/_QCustomDialog.h"
-
-// Include some additional standard class
-#include <QDialog>
-#include <QString>
-
-#include "cJobQueue.h"
-#include "wgt_JobBase.h"
-
-namespace Ui {
- class DlgJobSettings;
-}
-
-class DlgJobSettings : public QCustomDialog {
-Q_OBJECT
-public:
- cJob *Job;
- cJobQueue *JobQueue;
- QString JobSummary;
- wgt_JobBase *wgt_Job;
-
- explicit DlgJobSettings(cJob *Job,cJobQueue *JobQueue,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent=0);
- ~DlgJobSettings();
-
- // function to be overloaded
- virtual void DoInitDialog(); // Initialise dialog
- virtual void DoAccept(); // Call when user click on Ok button
- virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button
- virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo
- virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button
-
- virtual void RefreshJobSummary();
-
-private slots:
- void RefreshControls();
-
- void s_Source_Nothing_RD();
- void s_Source_Delete_RD();
- void s_Source_Rename_RD();
- void s_Source_Move_RD();
- void s_Destination_AddSizeSuffix_CB();
- void s_Destination_AddSuffix_CB();
- void s_Destination_InFolder_RD();
- void s_Source_Suffix_ED(const QString);
- void s_Destination_Suffix_ED(const QString);
- void s_Destination_Overwrite_RD();
- void s_Source_Folder_BT();
- void s_Destination_Folder_BT();
-
-private:
- Ui::DlgJobSettings *ui;
-};
-
-#endif // DLGJOBSETTINGS_H
diff --git a/src/ffDiaporamaMMFiler/DlgJobSettings.ui b/src/ffDiaporamaMMFiler/DlgJobSettings.ui
deleted file mode 100755
index 4ce2062..0000000
--- a/src/ffDiaporamaMMFiler/DlgJobSettings.ui
+++ /dev/null
@@ -1,715 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>DlgJobSettings</class>
- <widget class="QDialog" name="DlgJobSettings">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>501</width>
- <height>487</height>
- </rect>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- </font>
- </property>
- <property name="windowTitle">
- <string>Job settings</string>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QSplitter" name="splitter">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <widget class="QScrollArea" name="scrollArea">
- <property name="frameShape">
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="widgetResizable">
- <bool>true</bool>
- </property>
- <widget class="QWidget" name="scrollAreaWidgetContents">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>-67</y>
- <width>465</width>
- <height>357</height>
- </rect>
- </property>
- <layout class="QGridLayout" name="gridLayout_2">
- <property name="margin">
- <number>4</number>
- </property>
- <property name="spacing">
- <number>2</number>
- </property>
- <item row="1" column="0" colspan="2">
- <widget class="QLabel" name="Source_Label">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>What to do to sources files ?</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QRadioButton" name="Source_Nothing_RD">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>22</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>22</height>
- </size>
- </property>
- <property name="text">
- <string>Do nothing</string>
- </property>
- <attribute name="buttonGroup">
- <string>buttonGroup</string>
- </attribute>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QRadioButton" name="Source_Delete_RD">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>22</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>22</height>
- </size>
- </property>
- <property name="text">
- <string>Delete sources files</string>
- </property>
- <attribute name="buttonGroup">
- <string>buttonGroup</string>
- </attribute>
- </widget>
- </item>
- <item row="4" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_4">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QRadioButton" name="Source_Rename_RD">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>22</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>22</height>
- </size>
- </property>
- <property name="text">
- <string>Rename sources files by adding this suffix:</string>
- </property>
- <attribute name="buttonGroup">
- <string>buttonGroup</string>
- </attribute>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="Source_Suffix_ED">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>22</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>22</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="Source_Label_spacer1">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="6" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="Source_Folder_Spacer">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>20</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="Source_Folder_ED">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>22</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>22</height>
- </size>
- </property>
- <property name="readOnly">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="Source_Folder_BT">
- <property name="minimumSize">
- <size>
- <width>22</width>
- <height>22</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/MediaIcons/16x16/directory.png</normaloff>:/img/MediaIcons/16x16/directory.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>16</width>
- <height>16</height>
- </size>
- </property>
- <property name="arrowType">
- <enum>Qt::NoArrow</enum>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="7" column="0" colspan="2">
- <widget class="QLabel" name="DestinationName_Label">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>30</height>
- </size>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>How to name destinations files ?</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- </widget>
- </item>
- <item row="9" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_5">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QCheckBox" name="Destination_AddSuffix_CB">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>22</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>22</height>
- </size>
- </property>
- <property name="text">
- <string>Add this suffix to file name :</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="Destination_Suffix_ED">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>22</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>22</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="DestinationName_Label_spacer1">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="11" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_3">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="Destination_Folder_Spacer">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>20</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="text">
- <string/>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="Destination_Folder_ED">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>22</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>22</height>
- </size>
- </property>
- <property name="readOnly">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="Destination_Folder_BT">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>22</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>22</width>
- <height>22</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/MediaIcons/16x16/directory.png</normaloff>:/img/MediaIcons/16x16/directory.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>16</width>
- <height>16</height>
- </size>
- </property>
- <property name="arrowType">
- <enum>Qt::NoArrow</enum>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="14" column="0">
- <widget class="QLabel" name="DestinationPlace_Label_spacer0">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>20</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- <item row="14" column="1">
- <widget class="QLabel" name="label">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- <item row="0" column="0" colspan="2">
- <widget class="QWidget" name="JobWidget" native="true">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>20</height>
- </size>
- </property>
- </widget>
- </item>
- <item row="5" column="1">
- <widget class="QRadioButton" name="Source_Move_RD">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>22</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>22</height>
- </size>
- </property>
- <property name="text">
- <string>Move sources files to this folder:</string>
- </property>
- <attribute name="buttonGroup">
- <string>buttonGroup</string>
- </attribute>
- </widget>
- </item>
- <item row="10" column="1">
- <widget class="QCheckBox" name="Destination_InFolder_RD">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>22</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>22</height>
- </size>
- </property>
- <property name="text">
- <string>Place destination files In another folder than sources files</string>
- </property>
- </widget>
- </item>
- <item row="12" column="1">
- <widget class="QCheckBox" name="Destination_Overwrite_RD">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>22</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>22</height>
- </size>
- </property>
- <property name="text">
- <string>Overwrite existing destination files</string>
- </property>
- </widget>
- </item>
- <item row="8" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_6">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QCheckBox" name="Destination_AddSizeSuffix_CB">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>22</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>22</height>
- </size>
- </property>
- <property name="text">
- <string>Add size suffix to file name</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="DestinationName_Label_spacer1_2">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </widget>
- <widget class="QTextEdit" name="JobSummary_ED">
- <property name="lineWrapMode">
- <enum>QTextEdit::NoWrap</enum>
- </property>
- <property name="readOnly">
- <bool>true</bool>
- </property>
- </widget>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="Line" name="line">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <property name="spacing">
- <number>4</number>
- </property>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="OkBt">
- <property name="toolTip">
- <string>Accept modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Ok</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="CancelBt">
- <property name="toolTip">
- <string>Cancel modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Cancel</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="HelpBT">
- <property name="toolTip">
- <string>Open help page describing this dialog box</string>
- </property>
- <property name="text">
- <string>&Help</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
- </property>
- <property name="shortcut">
- <string>F1</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <tabstops>
- <tabstop>scrollArea</tabstop>
- <tabstop>Source_Nothing_RD</tabstop>
- <tabstop>Source_Delete_RD</tabstop>
- <tabstop>Source_Rename_RD</tabstop>
- <tabstop>Source_Suffix_ED</tabstop>
- <tabstop>Source_Move_RD</tabstop>
- <tabstop>Source_Folder_ED</tabstop>
- <tabstop>Source_Folder_BT</tabstop>
- <tabstop>Destination_AddSuffix_CB</tabstop>
- <tabstop>Destination_Suffix_ED</tabstop>
- <tabstop>Destination_InFolder_RD</tabstop>
- <tabstop>Destination_Folder_ED</tabstop>
- <tabstop>Destination_Folder_BT</tabstop>
- <tabstop>Destination_Overwrite_RD</tabstop>
- <tabstop>JobSummary_ED</tabstop>
- <tabstop>OkBt</tabstop>
- <tabstop>CancelBt</tabstop>
- <tabstop>HelpBT</tabstop>
- </tabstops>
- <resources>
- <include location="../../RSCffDiaporama.qrc"/>
- <include location="../../RSCffDiaporama.qrc"/>
- </resources>
- <connections/>
- <buttongroups>
- <buttongroup name="buttonGroup"/>
- </buttongroups>
-</ui>
diff --git a/src/ffDiaporamaMMFiler/QCustomJobTable.cpp b/src/ffDiaporamaMMFiler/QCustomJobTable.cpp
deleted file mode 100755
index a98de64..0000000
--- a/src/ffDiaporamaMMFiler/QCustomJobTable.cpp
+++ /dev/null
@@ -1,123 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_QCustomDialog.h"
-
-#include "QCustomJobTable.h"
-
-#include <QHeaderView>
-
-//====================================================================================================================
-
-QCustomJobTable::QCustomJobTable(QWidget *parent):QTableWidget(parent) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomJobTable::QCustomJobTable");
-
- JobQueue=NULL;
- ApplicationConfig=NULL;
-
- setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
- setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
- setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
- setWordWrap(false); // Ensure no word wrap
- setTextElideMode(Qt::ElideNone); // Ensure no line ellipsis (...)
- setSelectionBehavior(QAbstractItemView::SelectRows);
- setShowGrid(false);
-
- horizontalHeader()->setSortIndicatorShown(false);
- horizontalHeader()->setCascadingSectionResizes(false);
- horizontalHeader()->show();
- horizontalHeader()->setClickable(false);
- horizontalHeader()->setMovable(false);
- horizontalHeader()->setDefaultAlignment(Qt::AlignLeft);
- horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents);
- horizontalHeader()->show();
- horizontalHeader()->setStretchLastSection(false);
-
- verticalHeader()->setStretchLastSection(false);
- verticalHeader()->setSortIndicatorShown(false);
- verticalHeader()->hide();
- verticalHeader()->setResizeMode(QHeaderView::Fixed); // Fixed because ResizeToContents will be done after table filling
-
- QString ColumnDef= QApplication::translate("QCustomJobTable","Date/Time")+";" \
- +QApplication::translate("QCustomJobTable","Status")+";" \
- +QApplication::translate("QCustomJobTable","Progress")+";" \
- +QApplication::translate("QCustomJobTable","Job Type")+";" \
- +QApplication::translate("QCustomJobTable","Current action");
- setColumnCount(ColumnDef.split(";").count());
- setHorizontalHeaderLabels(ColumnDef.split(";"));
-}
-
-//====================================================================================================================
-
-void QCustomJobTable::DoResizeColumns() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomJobTable::DoResizeColumns");
-
- setUpdatesEnabled(false);
- setVisible(false); // To ensure all items of all columns are used to compute size
- resizeColumnsToContents(); // Resize column widht
- resizeRowsToContents(); // Resize row height
- setVisible(true); // To allow display
- setUpdatesEnabled(true);
- this->viewport()->update();
-}
-
-//====================================================================================================================
-
-QTableWidgetItem *QCustomJobTable::CreateItem(QString ItemText,int Alignment,QBrush Background) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomJobTable::CreateItem");
-
- QTableWidgetItem *Item=new QTableWidgetItem(ItemText);
- Item->setTextAlignment(Alignment);
- Item->setBackground(Background);
- return Item;
-}
-
-//====================================================================================================================
-
-void QCustomJobTable::DoRefreshList() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomJobTable::DoRefreshList");
-
- setUpdatesEnabled(false);
- while (rowCount()>0) removeRow(rowCount()-1);
-
- for (int Row=0;Row<JobQueue->List.count();Row++) {
- QColor Background=((Row & 0x01)==0x01)?Qt::white:QColor(0xE0,0xE0,0xE0);
- int iCol=0;
- insertRow(Row);
- setItem(Row,iCol++,CreateItem(JobQueue->List[Row]->DateTime.toString("dd/MM/yyyy hh:mm:ss"),Qt::AlignLeft|Qt::AlignVCenter,Background));
- setItem(Row,iCol++,CreateItem(JobQueue->StatusText[JobQueue->List[Row]->JobStatus], Qt::AlignLeft|Qt::AlignVCenter,Background));
- setItem(Row,iCol++,CreateItem(QString("%1%").arg(JobQueue->List[Row]->PercentDone), Qt::AlignLeft|Qt::AlignVCenter,Background));
- setItem(Row,iCol++,CreateItem(JobQueue->JobTypeText[JobQueue->List[Row]->JobType], Qt::AlignLeft|Qt::AlignVCenter,Background));
- setItem(Row,iCol++,CreateItem(JobQueue->List[Row]->CurrentAction, Qt::AlignLeft|Qt::AlignVCenter,Background));
- }
- DoResizeColumns(); // this do a setUpdatesEnabled(true);
-}
-
-//====================================================================================================================
-
-void QCustomJobTable::DoRefreshAJob(int Row) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomJobTable::DoRefreshList");
-
- QColor Background=((Row & 0x01)==0x01)?Qt::white:QColor(0xE0,0xE0,0xE0);
- setItem(Row,1,CreateItem(JobQueue->StatusText[JobQueue->List[Row]->JobStatus], Qt::AlignLeft|Qt::AlignVCenter,Background));
- setItem(Row,2,CreateItem(QString("%1%").arg(JobQueue->List[Row]->PercentDone), Qt::AlignLeft|Qt::AlignVCenter,Background));
- setItem(Row,4,CreateItem(JobQueue->List[Row]->CurrentAction, Qt::AlignLeft|Qt::AlignVCenter,Background));
-}
diff --git a/src/ffDiaporamaMMFiler/QCustomJobTable.h b/src/ffDiaporamaMMFiler/QCustomJobTable.h
deleted file mode 100755
index d9c01a3..0000000
--- a/src/ffDiaporamaMMFiler/QCustomJobTable.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef QCUSTOMJOBTABLE_H
-#define QCUSTOMJOBTABLE_H
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-
-#include <QTableWidget>
-#include "cJobQueue.h"
-
-class QCustomJobTable : public QTableWidget {
-Q_OBJECT
-public:
- cJobQueue *JobQueue;
- cBaseApplicationConfig *ApplicationConfig;
-
- explicit QCustomJobTable(QWidget *parent = 0);
-
- virtual void DoRefreshList();
- virtual void DoRefreshAJob(int JobNum);
-
-signals:
-
-public slots:
-
-private:
- QTableWidgetItem *CreateItem(QString ItemText,int Alignment,QBrush Background);
- void DoResizeColumns();
-
-};
-
-#endif // QCUSTOMJOBTABLE_H
diff --git a/src/ffDiaporamaMMFiler/cApplicationConfig.cpp b/src/ffDiaporamaMMFiler/cApplicationConfig.cpp
deleted file mode 100755
index 3b527db..0000000
--- a/src/ffDiaporamaMMFiler/cApplicationConfig.cpp
+++ /dev/null
@@ -1,166 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include <QApplication>
-#include <QtDebug>
-
-#include "../sharedfiles/QCustomFolderTable.h"
-#include "cApplicationConfig.h"
-
-//====================================================================================================================
-
-cApplicationConfig::cApplicationConfig(QMainWindow *TopLevelWindow):cBaseApplicationConfig(TopLevelWindow,ALLOWEDWEBLANGUAGE,APPLICATION_GROUPNAME,APPLICATION_NAME,APPLICATION_VERSION,CONFIGFILEEXT,CONFIGFILE_ROOTNAME) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cApplicationConfig::cApplicationConfig");
-
- MemCacheMaxValue=1024*1024*512;
-}
-
-//====================================================================================================================
-
-cApplicationConfig::~cApplicationConfig() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cApplicationConfig::~cApplicationConfig");
-
- delete DlgApplicationSettingsWSP;
- delete DlgJobSettingsWSP;
- delete DlgCheckConfigWSP;
- delete DlgManageDevicesWSP;
- delete DlgInfoFileWSP;
- delete DlgAboutWSP;
- delete DlgGetFolderWSP;
-}
-
-//====================================================================================================================
-
-bool cApplicationConfig::LoadConfigurationFile(LoadConfigFileType TypeConfigFile,QApplication *App) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cApplicationConfig::LoadConfigurationFile");
-
- return cBaseApplicationConfig::LoadConfigurationFile(TypeConfigFile,App) && DeviceModelList.LoadConfigurationFile(TypeConfigFile==USERCONFIGFILE?UserConfigFile:GlobalConfigFile,TypeConfigFile);
-}
-
-//====================================================================================================================
-
-bool cApplicationConfig::SaveConfigurationFile() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cApplicationConfig::SaveConfigurationValues");
-
- return cBaseApplicationConfig::SaveConfigurationFile() && DeviceModelList.SaveConfigurationFile(UserConfigFile);
-}
-
-//====================================================================================================================
-
-void cApplicationConfig::InitValues() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cApplicationConfig::InitValues");
-
- SplitterHSizeAndPos ="";
- SplitterVSizeAndPos ="";
-
- JobDefault[JOBTYPE_NOTDEFINED] =0; DefaultSourceSuffix[JOBTYPE_NOTDEFINED] =""; DefaultDestinationSuffix[JOBTYPE_NOTDEFINED] ="";
- JobDefault[JOBTYPE_OPENFILE] =0; DefaultSourceSuffix[JOBTYPE_OPENFILE] =""; DefaultDestinationSuffix[JOBTYPE_OPENFILE] ="";
- JobDefault[JOBTYPE_DISPLAYINFO] =0; DefaultSourceSuffix[JOBTYPE_DISPLAYINFO] =""; DefaultDestinationSuffix[JOBTYPE_DISPLAYINFO] ="";
- JobDefault[JOBTYPE_IMAGE_CONVERTIMAGE] =JOBDEFAULT_IMAGE_CONVERTIMAGE; DefaultSourceSuffix[JOBTYPE_IMAGE_CONVERTIMAGE] ="old"; DefaultDestinationSuffix[JOBTYPE_IMAGE_CONVERTIMAGE]="new"; DefaultOptions[JOBTYPE_IMAGE_CONVERTIMAGE]="jpg;";
- JobDefault[JOBTYPE_AUDIO_CONVERTAUDIO] =JOBDEFAULT_AUDIO_CONVERTAUDIO; DefaultSourceSuffix[JOBTYPE_AUDIO_CONVERTAUDIO] ="old"; DefaultDestinationSuffix[JOBTYPE_AUDIO_CONVERTAUDIO]="new"; DefaultOptions[JOBTYPE_AUDIO_CONVERTAUDIO]="mp3;";
- JobDefault[JOBTYPE_VIDEO_CONVERTVIDEO] =JOBDEFAULT_VIDEO_CONVERTVIDEO; DefaultSourceSuffix[JOBTYPE_VIDEO_CONVERTVIDEO] ="old"; DefaultDestinationSuffix[JOBTYPE_VIDEO_CONVERTVIDEO]="new"; DefaultOptions[JOBTYPE_VIDEO_CONVERTVIDEO]="mp4;";
-
- DefaultSourceFolder ="";
- DefaultDestinationFolder="";
-
- #ifdef Q_OS_WIN
- QSettings Settings("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders",QSettings::NativeFormat);
- CurrentPath=Settings.value("Personal").toString();
- #elif defined(Q_OS_UNIX) && !defined(Q_OS_MACX)
- CurrentPath="~"; // User home folder
- #endif
-
- DlgApplicationSettingsWSP=new cSaveWindowPosition("DlgApplicationSettings",RestoreWindow,false); // Dialog box "Application settings" - Window size and position
- DlgCheckConfigWSP =new cSaveWindowPosition("DlgCheckConfigWSP",RestoreWindow,false); // Dialog box "Check configuration" - Window size and position
- DlgManageDevicesWSP =new cSaveWindowPosition("DlgManageDevicesWSP",RestoreWindow,false); // Dialog box "Manage Devices" - Window size and position
- DlgAboutWSP =new cSaveWindowPosition("DlgAboutWSP",RestoreWindow,false); // Dialog box "About" - Window size and position
- DlgInfoFileWSP =new cSaveWindowPosition("DlgInfoFileWSP",RestoreWindow,false); // Dialog box "File Information" - Window size and position
- DlgJobSettingsWSP =new cSaveWindowPosition("DlgJobSettingsWSP",RestoreWindow,false); // Dialog box "Job settings" - Window size and position
- DlgGetFolderWSP =new cSaveWindowPosition("DlgGetFolderWSP",RestoreWindow,false); // Dialog box "Select a folder" - Window size and position
-}
-
-//====================================================================================================================
-
-void cApplicationConfig::SaveValueToXML(QDomElement &domDocument) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cApplicationConfig::SaveValueToXML");
-
- QDomDocument Document;
- QDomElement Element;
-
- Element=Document.createElement("Options");
- Element.setAttribute("SplitterHSizeAndPos", SplitterHSizeAndPos);
- Element.setAttribute("SplitterVSizeAndPos", SplitterVSizeAndPos);
- Element.setAttribute("CurrentPath", CurrentPath);
- Element.setAttribute("DefaultSourceFolder", DefaultSourceFolder);
- Element.setAttribute("DefaultDestinationFolder", DefaultDestinationFolder);
- domDocument.appendChild(Element);
-
- for (int i=0;i<NBR_JOBTYPE;i++) {
- Element=Document.createElement(QString("DefaultJobSettings_%1").arg(i));
- Element.setAttribute("JobDefault", JobDefault[i]);
- Element.setAttribute("DefaultOptions", DefaultOptions[i]);
- Element.setAttribute("DefaultSourceSuffix", DefaultSourceSuffix[i]);
- Element.setAttribute("DefaultDestinationSuffix",DefaultDestinationSuffix[i]);
- domDocument.appendChild(Element);
- }
-
- DlgApplicationSettingsWSP->SaveToXML(domDocument);
- DlgCheckConfigWSP->SaveToXML(domDocument);
- DlgAboutWSP->SaveToXML(domDocument);
- DlgManageDevicesWSP->SaveToXML(domDocument);
- DlgInfoFileWSP->SaveToXML(domDocument);
- DlgJobSettingsWSP->SaveToXML(domDocument);
- DlgGetFolderWSP->SaveToXML(domDocument);
- JobQueue.SaveToXML(domDocument,"JobList");
-}
-
-//====================================================================================================================
-
-bool cApplicationConfig::LoadValueFromXML(QDomElement domDocument,LoadConfigFileType /*TypeConfigFile*/) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cApplicationConfig::LoadValueFromXML");
-
- if ((domDocument.elementsByTagName("Options").length()>0)&&(domDocument.elementsByTagName("Options").item(0).isElement()==true)) {
- QDomElement Element=domDocument.elementsByTagName("Options").item(0).toElement();
- if (Element.hasAttribute("SplitterHSizeAndPos")) SplitterHSizeAndPos =Element.attribute("SplitterHSizeAndPos");
- if (Element.hasAttribute("SplitterVSizeAndPos")) SplitterVSizeAndPos =Element.attribute("SplitterVSizeAndPos");
- if (Element.hasAttribute("CurrentPath")) CurrentPath =Element.attribute("CurrentPath");
- if (Element.hasAttribute("DefaultSourceFolder")) DefaultSourceFolder =Element.attribute("DefaultSourceFolder");
- if (Element.hasAttribute("DefaultDestinationFolder")) DefaultDestinationFolder =Element.attribute("DefaultDestinationFolder");
- }
-
- for (int i=0;i<NBR_JOBTYPE;i++) if ((domDocument.elementsByTagName(QString("DefaultJobSettings_%1").arg(i)).length()>0)&&(domDocument.elementsByTagName(QString("DefaultJobSettings_%1").arg(i)).item(0).isElement()==true)) {
- QDomElement Element=domDocument.elementsByTagName(QString("DefaultJobSettings_%1").arg(i)).item(0).toElement();
- if (Element.hasAttribute("JobDefault")) JobDefault[i] =Element.attribute("JobDefault").toInt();
- if (Element.hasAttribute("DefaultOptions")) DefaultOptions[i] =Element.attribute("DefaultOptions");
- if (Element.hasAttribute("DefaultSourceSuffix")) DefaultSourceSuffix[i] =Element.attribute("DefaultSourceSuffix");
- if (Element.hasAttribute("DefaultDestinationSuffix")) DefaultDestinationSuffix[i] =Element.attribute("DefaultDestinationSuffix");
- domDocument.appendChild(Element);
- }
-
- DlgApplicationSettingsWSP->LoadFromXML(domDocument);
- DlgCheckConfigWSP->LoadFromXML(domDocument);
- DlgAboutWSP->LoadFromXML(domDocument);
- DlgManageDevicesWSP->LoadFromXML(domDocument);
- DlgInfoFileWSP->LoadFromXML(domDocument);
- DlgJobSettingsWSP->LoadFromXML(domDocument);
- DlgGetFolderWSP->LoadFromXML(domDocument);
- JobQueue.LoadFromXML(domDocument,"JobList");
- return true;
-}
diff --git a/src/ffDiaporamaMMFiler/cApplicationConfig.h b/src/ffDiaporamaMMFiler/cApplicationConfig.h
deleted file mode 100755
index f4a03d2..0000000
--- a/src/ffDiaporamaMMFiler/cApplicationConfig.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef CAPPLICATIONCONFIG_H
-#define CAPPLICATIONCONFIG_H
-
-#include <QDomElement>
-#include <QDomDocument>
-#include <QString>
-#include "../sharedfiles/cBaseApplicationConfig.h"
-#include "../sharedfiles/cBaseMediaFile.h"
-#include "../sharedfiles/cDeviceModelDef.h"
-#include "cJobQueue.h"
-
-#define APPLICATION_GROUPNAME "ffDiaporama"
-#define APPLICATION_NAME "ffDiaporamaMMFiler"
-#define APPLICATION_VERSION "1.2 devel"
-#define CONFIGFILEEXT ".xml" // File extension of configuration files
-#define CONFIGFILE_ROOTNAME "Configuration" // Name of root node in the config xml file
-
-#define HELPFILE_DlgCheckConfig "http://ffdiaporama.tuxfamily.org/?page_id=3968&lang=<local>"
-#define HELPFILE_SUPPORT "http://ffdiaporama.tuxfamily.org/?page_id=3854&lang=<local>"
-#define HELPFILE_NEWS "http://ffdiaporama.tuxfamily.org/?cat=5&lang=<local>"
-#define HELPFILE_DlgApplicationSettings "http://ffdiaporama.tuxfamily.org/?page_id=4205&lang=<local>"
-#define HELPFILE_DlgManageDevices "http://ffdiaporama.tuxfamily.org/?page_id=4023&lang=<local>"
-#define HELPFILE_DlgInfoFile "http://ffdiaporama.tuxfamily.org/?page_id=4206&lang=<local>"
-#define HELPFILE_DlgJob "http://ffdiaporama.tuxfamily.org/?page_id=%1&lang=<local>"
-
-#define ALLOWEDWEBLANGUAGE "en;fr;it;es;el;de"
-
-class cApplicationConfig : public cBaseApplicationConfig {
-public:
- // Device database
- cDeviceModelList DeviceModelList; // List of known rendering device model
- cJobQueue JobQueue;
-
- qlonglong MemCacheMaxValue; // Maximum value for image cache
- QString CurrentPath; // Currently shown path
-
- // Default settings for jobs
- uint32_t JobDefault[NBR_JOBTYPE];
- QString DefaultSourceSuffix[NBR_JOBTYPE];
- QString DefaultDestinationSuffix[NBR_JOBTYPE];
- QString DefaultOptions[NBR_JOBTYPE];
- QString DefaultSourceFolder;
- QString DefaultDestinationFolder;
-
- // Size & pos
- QString SplitterHSizeAndPos; // Splitter H between tree and table (size save)
- QString SplitterVSizeAndPos; // Splitter V between browser and job table (size save)
- cSaveWindowPosition *DlgApplicationSettingsWSP; // Dialog box "Application settings" - Window size and position
- cSaveWindowPosition *DlgCheckConfigWSP; // Dialog box "Check configuration" - Window size and position
- cSaveWindowPosition *DlgAboutWSP; // Dialog box "About" - Window size and position
- cSaveWindowPosition *DlgManageDevicesWSP; // Dialog box "Manage Devices" - Window size and position
- cSaveWindowPosition *DlgInfoFileWSP; // Dialog box "File Information" - Window size and position
- cSaveWindowPosition *DlgJobSettingsWSP; // Dialog box "Job settings" - Window size and position
- cSaveWindowPosition *DlgGetFolderWSP; // Dialog box "Select a folder" - Window size and position
-
- explicit cApplicationConfig(QMainWindow *TopLevelWindow);
- ~cApplicationConfig();
-
- virtual bool LoadConfigurationFile(LoadConfigFileType TypeConfigFile,QApplication *App);
- virtual bool SaveConfigurationFile();
- virtual void InitValues();
- virtual void SaveValueToXML(QDomElement &domDocument);
- virtual bool LoadValueFromXML(QDomElement domDocument,LoadConfigFileType TypeConfigFile);
-};
-
-#endif // CAPPLICATIONCONFIG_H
diff --git a/src/ffDiaporamaMMFiler/cJobQueue.cpp b/src/ffDiaporamaMMFiler/cJobQueue.cpp
deleted file mode 100755
index 2e06dee..0000000
--- a/src/ffDiaporamaMMFiler/cJobQueue.cpp
+++ /dev/null
@@ -1,775 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include <QApplication>
-#include <QtDebug>
-
-#include "cJobQueue.h"
-#include <QCustomEvent>
-#include <QPainter>
-
-#include "../sharedfiles/cDeviceModelDef.h"
-
-// Qualification of possible settings for each job
-uint32_t PossibleJobsSettings[NBR_JOBTYPE] = {
- 0 // #define JOBTYPE_NOTDEFINED
- ,0 // #define JOBTYPE_OPENFILE
- ,0 // #define JOBTYPE_DISPLAYINFO
- ,0 // #define JOBTYPE_REMOVEFILE
- ,JOBQUALIF_IMAGE_CONVERTIMAGE // #define JOBTYPE_IMAGE_CONVERT_JPG
- ,JOBQUALIF_AUDIO_CONVERTAUDIO // #define JOBTYPE_AUDIO_CONVERTAUDIO
- ,JOBQUALIF_VIDEO_CONVERTVIDEO // #define JOBTYPE_VIDEO_CONVERTVIDEO
-};
-
-// Help page for each job
-int JobHelpPage[NBR_JOBTYPE] = {
- -1 // #define JOBTYPE_NOTDEFINED
- ,-1 // #define JOBTYPE_OPENFILE
- ,-1 // #define JOBTYPE_DISPLAYINFO
- ,-1 // #define JOBTYPE_REMOVEFILE
- ,JOBHELP_IMAGE_CONVERTIMAGE // #define JOBTYPE_IMAGE_CONVERT_JPG
- ,JOBHELP_AUDIO_CONVERTAUDIO // #define JOBTYPE_AUDIO_CONVERTAUDIO
- ,JOBHELP_VIDEO_CONVERTVIDEO // #define JOBTYPE_VIDEO_CONVERTVIDEO
-};
-
-/* JOB Command list definition
- Image
- -SSX:Str Define a size suffix Str is computed size suffix to be used (This suffix is apply only if JobSettings have JOBQUALIF_DESTNAME_ADDSIZESUFFIX flag)
- -SRS:Str Define a rescal to size value Str is the rescal size to be rescal to in string format
- -FRT Force image rotation if present in the command list then image was rotated for jpg format
- -DUP Forbid image upscaling if present in the command list then image upscalling is forbidden
-
- Container part
- -FCO:Num Define a ffmpeg -vcodec value Num correspond to index of codec in FORMATDEF table
-
- Video part
- -VCO:Num Define a ffmpeg -vcodec value Num correspond to index of codec in VIDEOCODECDEF table
- -VB:Num Define a ffmpeg -b value or -minrate -maxrate -bufsize values in int format
- -VI:Num Define a ffmpeg image size Num correspond to index in DefImageFormat table
-
- Audio part
- -ACO:Num Define a ffmpeg -acodec value Num correspond to index of codec in AUDIOCODECDEF table
- -AB:Str Define a ffmpeg -ab value Str correspond to bitrate value in string format
- -AR:Str Define a ffmpeg -ar value Str correspond to rate value in string format
- -ACH:Num Define a ffmpeg -ac value Num correspond to chanels value in int format
-*/
-
-
-//====================================================================================================================
-
-cJob::cJob() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cJob::cJob");
-
- // Job qualification & settings
- JobQualif =0;
- JobSettings =0;
- SourceSuffix ="";
- SourceFolder ="";
- DestinationSuffix="";
- DestinationFolder="";
-
- // Job controls
- JobType =0;
- JobStatus =0;
- PercentDone =0;
- Succeded =0;
- CurrentIndex =0;
- CurrentAction ="";
-
- // Job specific
- Command ="";
-}
-
-//====================================================================================================================
-
-cJob::~cJob() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cJob::~cJob");
-}
-
-//====================================================================================================================
-
-void cJob::SaveToXML(QDomElement &domDocument,QString ElementName) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cJob::SaveToXML");
-
- QDomDocument DomDocument;
- QDomElement Element=DomDocument.createElement(ElementName);
-
- // Job qualification & settings
- Element.setAttribute("JobQualif",JobQualif);
- Element.setAttribute("JobSettings",JobSettings);
- Element.setAttribute("SourceSuffix",SourceSuffix);
- Element.setAttribute("SourceFolder",SourceFolder);
- Element.setAttribute("DestinationSuffix",DestinationSuffix);
- Element.setAttribute("DestinationFolder",DestinationFolder);
- Element.setAttribute("DestinationExtension",DestinationExtension);
-
- // Job controls
- Element.setAttribute("DateTime",DateTime.toString("dd/MM/yyy hh:mm:ss"));
- Element.setAttribute("JobType",JobType);
- Element.setAttribute("JobStatus",JobStatus);
- Element.setAttribute("CurrentIndex",CurrentIndex);
- Element.setAttribute("Succeded",Succeded);
-
- // Job specific
- Element.setAttribute("Command",Command);
-
- QString MixSourcesAndDests;
- for (int i=0;i<SourcesAndDests.count();i++) MixSourcesAndDests=MixSourcesAndDests+"##*##"+SourcesAndDests[i];
- Element.setAttribute("SourcesAndDests",MixSourcesAndDests);
- domDocument.appendChild(Element);
-}
-
-//====================================================================================================================
-
-bool cJob::LoadFromXML(QDomElement domDocument,QString ElementName) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cJob::LoadFromXML");
-
- if ((domDocument.elementsByTagName(ElementName).length()>0)&&(domDocument.elementsByTagName(ElementName).item(0).isElement()==true)) {
- QDomElement Element=domDocument.elementsByTagName(ElementName).item(0).toElement();
- bool IsOk=true;
-
- // Job qualification & settings
- if (Element.hasAttribute("JobQualif")) JobQualif =Element.attribute("JobQualif").toInt();
- if (Element.hasAttribute("JobSettings")) JobSettings =Element.attribute("JobSettings").toInt();
- if (Element.hasAttribute("SourceSuffix")) SourceSuffix =Element.attribute("SourceSuffix");
- if (Element.hasAttribute("SourceFolder")) SourceFolder =Element.attribute("SourceFolder");
- if (Element.hasAttribute("DestinationSuffix")) DestinationSuffix =Element.attribute("DestinationSuffix");
- if (Element.hasAttribute("DestinationFolder")) DestinationFolder =Element.attribute("DestinationFolder");
- if (Element.hasAttribute("DestinationExtension")) DestinationExtension=Element.attribute("DestinationExtension");
-
- // Job controls
- if (Element.hasAttribute("DateTime")) DateTime =QDateTime().fromString(Element.attribute("DateTime"),"dd/MM/yyy hh:mm:ss");
- if (Element.hasAttribute("JobType")) JobType =Element.attribute("JobType").toInt();
- if (Element.hasAttribute("JobStatus")) JobStatus =Element.attribute("JobStatus").toInt();
- if (Element.hasAttribute("CurrentIndex")) CurrentIndex =Element.attribute("CurrentIndex").toInt();
- if (Element.hasAttribute("Succeded")) Succeded =Element.attribute("Succeded").toInt();
-
- // Job specific
- if (Element.hasAttribute("Command")) Command =Element.attribute("Command");
-
- QString MixSourcesAndDests;
- if (Element.hasAttribute("SourcesAndDests")) MixSourcesAndDests=Element.attribute("SourcesAndDests",MixSourcesAndDests);
- SourcesAndDests=MixSourcesAndDests.split("##*##");
-
- return IsOk;
- }
- return false;
-}
-
-//====================================================================================================================
-
-QString cJob::ComputeDestinationName(QString Source,QString SizeSuffix) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cJob::ComputeDestinationName");
-
- QString SourceExt ="."+QFileInfo(Source).suffix();
- QString ShortName =QFileInfo(Source).fileName(); ShortName.replace(SourceExt,"");
- QString SourcePath =QFileInfo(Source).absolutePath();
-
- QString DestSuffix =((JobSettings&JOBQUALIF_DESTNAME_ADDSUFFIX)!=0)?"_"+DestinationSuffix+"."+DestinationExtension:"."+DestinationExtension;
- QString DestPath =((JobSettings&JOBQUALIF_DESTPLACE_INFOLDER)==0)?SourcePath:DestinationFolder;
- QString DestName =ShortName;
-
- if (((JobSettings&JOBQUALIF_DESTNAME_ADDSIZESUFFIX)!=0)&&(SizeSuffix!="")) {
- SizeSuffix.replace("/","-");
- DestSuffix="_"+SizeSuffix+DestSuffix;
- }
-
- if (!SourcePath.endsWith(QDir::separator())) SourcePath=SourcePath+QDir::separator();
- if (!DestPath.endsWith(QDir::separator())) DestPath=DestPath+QDir::separator();
-
- return DestPath+DestName+DestSuffix;
-}
-
-//====================================================================================================================
-
-QString cJob::ComputeNewSourceName(QString Source) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cJob::ComputeNewSourceName");
-
- QString SourceExt ="."+QFileInfo(Source).suffix();
- QString ShortName =QFileInfo(Source).fileName(); ShortName.replace(SourceExt,"");
- QString SourcePath =QFileInfo(Source).absolutePath();
-
- QString NewSourceSuffix =((JobSettings&JOBQUALIF_SOURCE_ADDSUFFIX)!=0)?SourceSuffix+SourceExt:SourceExt;
- QString NewSourcePath =((JobSettings&JOBQUALIF_SOURCE_MOVE)==0)?SourcePath:SourceFolder;
- QString NewSourceName =ShortName;
-
- if (!SourcePath.endsWith(QDir::separator())) SourcePath=SourcePath+QDir::separator();
- if (!NewSourcePath.endsWith(QDir::separator())) NewSourcePath=NewSourcePath+QDir::separator();
-
- return NewSourcePath+NewSourceName+NewSourceSuffix;
-}
-
-//====================================================================================================================
-
-bool cJob::IsCommandListContain(QString ToFind) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cJob::IsCommandListContain");
-
- bool Ret=false;
- QStringList CommandList=Command.split("##");
- for (int i=0;i<CommandList.count();i++) if (CommandList[i].left(ToFind.length())==ToFind) Ret=true;
- return Ret;
-}
-
-//====================================================================================================================
-
-QString cJob::CommandListValueString(QString ToFind) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cJob::CommandListValue");
-
- QString Ret="";
- QStringList CommandList=Command.split("##");
- for (int i=0;i<CommandList.count();i++) if (CommandList[i].left(ToFind.length())==ToFind) Ret=CommandList[i].split(":")[1];
- return Ret;
-}
-
-//====================================================================================================================
-
-int cJob::CommandListValue(QString ToFind) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cJob::CommandListValue");
-
- int Ret=0;
- QStringList CommandList=Command.split("##");
- for (int i=0;i<CommandList.count();i++) if (CommandList[i].left(ToFind.length())==ToFind) Ret=CommandList[i].split(":")[1].toInt();
- return Ret;
-}
-
-//*********************************************************************************************************************************************
-// CJOBQUEUE
-//*********************************************************************************************************************************************
-
-cJobQueue::cJobQueue() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cJobQueue::cJobQueue");
-
- StatusText.append(QApplication::translate("QCustomJobTable","Waiting")); // JOBSTATUS_READYTOSTART
- StatusText.append(QApplication::translate("QCustomJobTable","Started")); // JOBSTATUS_STARTED
- StatusText.append(QApplication::translate("QCustomJobTable","Paused")); // JOBSTATUS_PAUSED
- StatusText.append(QApplication::translate("QCustomJobTable","Canceled")); // JOBSTATUS_CANCELED
- StatusText.append(QApplication::translate("QCustomJobTable","Succeeded")); // JOBSTATUS_SUCCEEDED
- StatusText.append(QApplication::translate("QCustomJobTable","Ended with error")); // JOBSTATUS_ENDEDWITHERROR
-
- JobTypeText.append(QApplication::translate("QCustomJobTable","Not defined")); // JOBTYPE_NOTDEFINED
- JobTypeText.append(QApplication::translate("QCustomJobTable","Open")); // JOBTYPE_OPENFILE
- JobTypeText.append(QApplication::translate("QCustomJobTable","Display information")); // JOBTYPE_DISPLAYINFO
- JobTypeText.append(QApplication::translate("QCustomJobTable","Remove")); // JOBTYPE_REMOVEFILE
- JobTypeText.append(QApplication::translate("QCustomJobTable","Convert")); // JOBTYPE_IMAGE_CONVERTIMAGE
- JobTypeText.append(QApplication::translate("QCustomJobTable","Convert")); // JOBTYPE_AUDIO_CONVERTAUDIO
- JobTypeText.append(QApplication::translate("QCustomJobTable","Convert")); // JOBTYPE_VIDEO_CONVERTVIDEO
-}
-
-//====================================================================================================================
-
-cJobQueue::~cJobQueue() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cJobQueue::~cJobQueue");
-
- while (List.count()>0) delete List.takeLast();
-}
-
-//====================================================================================================================
-
-void cJobQueue::SaveToXML(QDomElement &domDocument,QString ElementName) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cJobQueue::SaveToXML");
-
- QDomDocument DomDocument;
- QDomElement Element=DomDocument.createElement(ElementName);
- // Save job list
- Element.setAttribute("JobNumber",List.count());
- for (int i=0;i<List.count();i++) List[i]->SaveToXML(Element,"Job-"+QString("%1").arg(i));
- domDocument.appendChild(Element);
-}
-
-//====================================================================================================================
-
-bool cJobQueue::LoadFromXML(QDomElement domDocument,QString ElementName) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cJobQueue::LoadFromXML");
-
- if ((domDocument.elementsByTagName(ElementName).length()>0)&&(domDocument.elementsByTagName(ElementName).item(0).isElement()==true)) {
- QDomElement Element=domDocument.elementsByTagName(ElementName).item(0).toElement();
- bool IsOk=true;
- // Load job list
- List.clear();
- int JobNumber=Element.attribute("JobNumber").toInt();
- for (int i=0;i<JobNumber;i++) {
- cJob *JobObject=new cJob();
- if (!JobObject->LoadFromXML(Element,"Job-"+QString("%1").arg(i))) {
- IsOk=false;
- delete JobObject;
- } else List.append(JobObject);
- }
- return IsOk;
- } else return false;
-}
-
-//====================================================================================================================
-
-void cJobQueue::PostJobStatusChanged(cJob *Job,QString Action,int Percent) {
- Job->CurrentAction=Action;
- Job->PercentDone =Percent;
- PostEvent(EVENT_JobStatusChanged);
-}
-
-//====================================================================================================================
-
-QString cJobQueue::ComputeFFMPEGCommand(cJob *Job) {
- QString Source =Job->SourcesAndDests[Job->CurrentIndex];
- QString Destination =Job->ComputeDestinationName(Source,"");
- QString ffmpegCmd =QString("ffmpeg -i \"%1\"").arg(Source);
- if ((Job->IsCommandListContain("-VCO"))&&(Job->IsCommandListContain("-VB"))) {
- int VideoCodecIndex =Job->CommandListValue("-VCO");
- int VideoBitRate =Job->CommandListValue("-VB");
- QString vCodec ="";
- QString AudioCodec =(Job->IsCommandListContain("-ACO")?AUDIOCODECDEF[Job->CommandListValue("-ACO")].ShortName:"");
- QString Preset ="";
-
- switch (VIDEOCODECDEF[VideoCodecIndex].FFD_VCODEC) {
- case VCODEC_MPEG : vCodec=QString("-vcodec mpeg2video -minrate %1 -maxrate %2 -bufsize %3 -b:0 %4 -bf 3")
- .arg(VideoBitRate-VideoBitRate/10)
- .arg(VideoBitRate+VideoBitRate/10)
- .arg(VideoBitRate*2)
- .arg(VideoBitRate);
- break;
- case VCODEC_MPEG4 : if (AudioCodec=="libopencore_amrnb") {
- vCodec=QString("-f 3gp -vcodec mpeg4 -b:0 %1").arg(VideoBitRate);
- } else {
- if (QString(VIDEOCODECDEF[VideoCodecIndex].ShortName)==QString("mpeg4"))
- vCodec=QString("-vcodec mpeg4 -vtag xvid -b:0 %1").arg(VideoBitRate);
- else vCodec=QString("-vcodec libxvid -b:0 %1").arg(VideoBitRate);
- }
- break;
- case VCODEC_H264HQ : //Preset=AdjustDirForOS(QDir::currentPath()); if (!Preset.endsWith(QDir::separator())) Preset=Preset+QDir::separator();
- #ifdef OLDFFMPEGPRESET
- Preset="-fpre \""+Preset+"libx264-hq.ffpreset\"";
- #else
- Preset="-preset veryfast -x264opts ref=3";
- #endif
- vCodec=QString("-vcodec libx264 -pix_fmt yuv420p ")+Preset+QString(" -minrate %1 -maxrate %2 -bufsize %3 -b:0 %4")
- .arg(VideoBitRate-VideoBitRate/10)
- .arg(VideoBitRate+VideoBitRate/10)
- .arg(VideoBitRate*2)
- .arg(VideoBitRate);
- break;
- case VCODEC_H264PQ : //Preset=AdjustDirForOS(QDir::currentPath()); if (!Preset.endsWith(QDir::separator())) Preset=Preset+QDir::separator();
- #ifdef OLDFFMPEGPRESET
- Preset="-fpre \""+Preset+"libx264-pq.ffpreset\"";
- #else
- Preset="-preset veryfast -x264opts level=1.3:no-cabac:vbv-bufsize=768:vbv-maxrate=768";
- #endif
- vCodec=QString("-vcodec libx264 -pix_fmt yuv420p ")+Preset+QString(" -minrate %1 -maxrate %2 -bufsize %3 -b:0 %4")
- .arg(VideoBitRate-VideoBitRate/10)
- .arg(VideoBitRate+VideoBitRate/10)
- .arg(VideoBitRate*2)
- .arg(VideoBitRate);
- break;
- case VCODEC_X264LL : Preset=AdjustDirForOS(QDir::currentPath()); if (!Preset.endsWith(QDir::separator())) Preset=Preset+QDir::separator();
- #ifdef OLDFFMPEGPRESET
- Preset="-fpre \""+Preset+"libx264-lossless.ffpreset\"";
- #else
- Preset="-preset veryfast -qp 0";
- #endif
- vCodec=QString("-vcodec libx264 -pix_fmt yuv420p ")+Preset;
- break;
- case VCODEC_MJPEG : vCodec="-vcodec mjpeg -qscale 2 -qmin 2 -qmax 2"; break;
- case VCODEC_VP8 : vCodec=QString("-vcodec libvpx -minrate %1 -maxrate %2 -bufsize %3 -b:0 %4 -bf 3")
- .arg(VideoBitRate-VideoBitRate/10)
- .arg(VideoBitRate+VideoBitRate/10)
- .arg(VideoBitRate*2)
- .arg(VideoBitRate);
- break;
- case VCODEC_H263 : vCodec=QString("-vcodec flv -b:0 %1").arg(VideoBitRate);
- break;
- case VCODEC_THEORA : vCodec=QString("-vcodec libtheora -b:0 %1").arg(VideoBitRate);
- break;
- }
- #ifdef OLDFFMPEG
- vCodec.replace(" -b:0 "," -b "); // switch to old syntax
- #endif
-
- ffmpegCmd=ffmpegCmd+" "+vCodec;
- }
- if (Job->IsCommandListContain("-ACO")) {
- ffmpegCmd=ffmpegCmd+" -acodec "+AUDIOCODECDEF[Job->CommandListValue("-ACO")].ShortName;
- if (Job->IsCommandListContain("-AB")) ffmpegCmd=ffmpegCmd+" -ab "+Job->CommandListValueString("-AB");
- if (Job->IsCommandListContain("-AR")) ffmpegCmd=ffmpegCmd+" -ar "+Job->CommandListValueString("-AR").left(Job->CommandListValueString("-AR").indexOf(" "));
- if (Job->IsCommandListContain("-ACH")) ffmpegCmd=ffmpegCmd+" -ac %1"+Job->CommandListValue("-ACH");
- }
- ffmpegCmd=ffmpegCmd+" \""+Destination+"\"";
- return ffmpegCmd;
-}
-
-//====================================================================================================================
-
-bool cJobQueue::ApplySourceTransformation(QString /*Source*/,QString /*NewSource*/) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cJobQueue::ApplySourceTransformation");
-
- ToLog(LOGMSG_WARNING," "+QString(QApplication::translate("cJobQueue","Applying source transformation : Sorry no yet developped !")),JOBQUEUESRC);
- return true;
-}
-
-//====================================================================================================================
-
-bool cJobQueue::ApplyDestinationOverWriting(QString Destination,uint32_t JobSettings) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cJobQueue::ApplyDestinationOverWriting");
-
- bool IsOkForWriting=true;
- if ((QFileInfo(Destination).exists())&&((JobSettings & JOBQUALIF_DESTINATION_OVERWRITE)==0)) {
- ToLog(LOGMSG_CRITICAL," "+QApplication::translate("cJobQueue","Destination file (%1) already exist").arg(Destination),JOBQUEUESRC);
- IsOkForWriting=false;
- } else if ((QFileInfo(Destination).exists())&&((JobSettings & JOBQUALIF_DESTINATION_OVERWRITE)!=0)) {
- if (!QFile(Destination).remove()) {
- IsOkForWriting=false;
- ToLog(LOGMSG_CRITICAL, " "+QApplication::translate("cJobQueue","Failed to remove existing destination file (%1)").arg(Destination),JOBQUEUESRC);
- } else
- ToLog(LOGMSG_INFORMATION," "+QApplication::translate("cJobQueue","Successfully remove existing destination file (%1)").arg(Destination),JOBQUEUESRC);
- }
- return IsOkForWriting;
-}
-
-//====================================================================================================================
-
-void cJobQueue::ConvertIMG(cJob *Job) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cJobQueue::ConvertIMG");
-
- if (Job->JobType!=JOBTYPE_IMAGE_CONVERTIMAGE) {
- Job->JobStatus=JOBSTATUS_CANCELED;
- ToLog(LOGMSG_CRITICAL,QString(QApplication::translate("cJobQueue","Jobtype error")),JOBQUEUESRC);
- return;
- }
- if ((Job->JobStatus!=JOBSTATUS_READYTOSTART)&&(Job->JobStatus!=JOBSTATUS_PAUSED)) return;
-
- int StepInJob=6; // Load+Rescal+Modif.Dest+Save+Modif Source+Finish
- if ((Job->DestinationExtension=="tiff")||(Job->DestinationExtension=="jpg")) StepInJob++; // Add minimal exif values
-
- Job->JobStatus=JOBSTATUS_STARTED;
- for (;Job->CurrentIndex<Job->SourcesAndDests.count();) {
- bool Rescal =Job->IsCommandListContain("-SRS");
- int ImgRotation =1;
- QString SizeSuffix =(Job->IsCommandListContain("-SSX")?Job->CommandListValueString("-SSX"):"ns");
- QString Source =Job->SourcesAndDests[Job->CurrentIndex];
- QString Destination =Job->ComputeDestinationName(Source,SizeSuffix);
- QString NewSource =Job->ComputeNewSourceName(Source);
- int Quality =Job->IsCommandListContain("-Q")?Job->CommandListValue("-Q"):90;
- int InStep =0;
- bool ForceRotate =(ImgRotation!=1)&&((Job->DestinationExtension!="jpg")||(Job->IsCommandListContain("-FRT")));
- QImage Img;
-
- ToLog(LOGMSG_INFORMATION,QApplication::translate("cJobQueue","Start image conversion of %1 to %2").arg(Source).arg(Destination),JOBQUEUESRC);
-
- // Step 1 : Load image
- PostJobStatusChanged(Job,QApplication::translate("cJobQueue","Open file"),(double(Job->CurrentIndex*StepInJob+InStep++)/double(Job->SourcesAndDests.count()*StepInJob))*100);
- Img.load(Source);
- if (Img.isNull()) ToLog(LOGMSG_CRITICAL, " "+QApplication::translate("cJobQueue","Failed to open file %1").arg(Source),JOBQUEUESRC);
- else ToLog(LOGMSG_INFORMATION," "+QApplication::translate("cJobQueue","Successfully open file %1").arg(Source),JOBQUEUESRC);
-
- // Get rotation information from exif value
- if (!Img.isNull()) {
- // Restart same job with -pva option to get binary value of orientation
- QString Commande=AdjustDirForOS("exiv2 print -pva \""+Source+"\"");
- QString Info,Part;
- QProcess Process;
- bool ExifOk=true;
- Process.setProcessChannelMode(QProcess::MergedChannels);
- Process.start(Commande);
- if (!Process.waitForStarted()) {
- ToLog(LOGMSG_CRITICAL,QApplication::translate("cBaseMediaFile","Impossible to start exiv2 - no exif informations will be decode for %1").arg(Source));
- ExifOk=false;
- }
- if (ExifOk && !Process.waitForFinished()) {
- Process.kill();
- ToLog(LOGMSG_CRITICAL,QApplication::translate("cBaseMediaFile","Error during exiv2 process - no exif informations will be decode for %1").arg(Source));
- ExifOk=false;
- }
- if (ExifOk && (Process.exitStatus()<0)) {
- ToLog(LOGMSG_CRITICAL,QApplication::translate("cBaseMediaFile","exiv2 return error %1 - no exif informations will be decode for %2").arg(Process.exitStatus()).arg(Source));
- ExifOk=false;
- }
- if (ExifOk) {
- Info=QString(Process.readAllStandardOutput());
-
- while (Info.length()>0) {
- if (Info.contains("\n")) {
- Part=Info.left(Info.indexOf("\n"));
- Info=Info.mid(Info.indexOf("\n")+QString("\n").length());
- } else {
- Part=Info;
- Info="";
- }
- QString Designation,Value;
- if (Part.contains(" ")) {
- Designation=Part.left(Part.indexOf(" "));
- while (Designation.contains(".")) Designation=(Designation.mid(Designation.indexOf(".")+QString(".").length())).trimmed();
- if (Designation=="0x0112") {
- Value=(Part.mid(Part.lastIndexOf(" ")+QString(" ").length())).trimmed();
- ImgRotation=Value.toInt();
- }
- }
- }
- }
- Process.terminate();
- Process.close();
-
- }
-
- // Step 2 : Rescal
- PostJobStatusChanged(Job,QApplication::translate("cJobQueue","Rescal image"),(double(Job->CurrentIndex*StepInJob+InStep++)/double(Job->SourcesAndDests.count()*StepInJob))*100);
- if ((!Img.isNull())&&(Rescal)) {
-
- int ImageWidth =0;
- int ImageHeight =0;
- int NewWidth =0;
- int NewHeight =0;
- QString Value =Job->CommandListValueString("-SRS");
-
- if (Value.indexOf("MPix")!=-1) {
- // Image rotation
- if ((ForceRotate)&&(ImgRotation!=1)) {
- int Rotation=0;
- if (ImgRotation==8) Rotation=-90; // Rotating image anti-clockwise by 90 degrees...'
- else if (ImgRotation==3) Rotation=180; // Rotating image clockwise by 180 degrees...'
- else if (ImgRotation==6) Rotation=90; // Rotating image clockwise by 90 degrees...'
-
- if (Rotation!=0) {
- QMatrix matrix;
- matrix.rotate(Rotation);
- Img=Img.transformed(matrix,Qt::SmoothTransformation);
- ImgRotation=1;
- if (Img.isNull()) ToLog(LOGMSG_CRITICAL, " "+QApplication::translate("cJobQueue","Failed to rotate image"),JOBQUEUESRC);
- else ToLog(LOGMSG_INFORMATION," "+QApplication::translate("cJobQueue","Succesfully rotate image"),JOBQUEUESRC);
- }
- }
-
- // if image is rotated then swap ImageWidth and ImageHeight
- ImageWidth =Img.width();
- ImageHeight =Img.height();
-
- double iValue =Value.left(Value.indexOf("MPix")).trimmed().toDouble()*1000*1000;
- double ActualValue =ImageWidth*ImageHeight;
- // + or - 10%
- if (((iValue-iValue*0.1>ActualValue)&&(!Job->IsCommandListContain("-DUP")))||(iValue+iValue*0.1<ActualValue)) {
- double Transfo=sqrt(iValue/ActualValue);
- NewWidth =int(Transfo*double(ImageWidth));
- NewHeight=int(Transfo*double(ImageHeight));
- }
- } else {
- int Rotation=0;
- if (ImgRotation==8) Rotation=-90; // Rotating image anti-clockwise by 90 degrees...'
- else if (ImgRotation==3) Rotation=180; // Rotating image clockwise by 180 degrees...'
- else if (ImgRotation==6) Rotation=90; // Rotating image clockwise by 90 degrees...'
-
- if (Rotation!=0) {
- QMatrix matrix;
- matrix.rotate(Rotation);
- Img=Img.transformed(matrix,Qt::SmoothTransformation);
- ImgRotation=1;
- if (Img.isNull()) ToLog(LOGMSG_CRITICAL, " "+QApplication::translate("cJobQueue","Failed to rotate image"),JOBQUEUESRC);
- else ToLog(LOGMSG_INFORMATION," "+QApplication::translate("cJobQueue","Succesfully rotate image"),JOBQUEUESRC);
- }
-
- if (!Img.isNull()) {
- ImageWidth =Img.width();
- ImageHeight =Img.height();
-
- int MaxRows=0;
- if (Value.indexOf("QVGA")!=-1) MaxRows=240;
- else if (Value.indexOf("HVGA")!=-1) MaxRows=320;
- else if (Value.indexOf("WVGA")!=-1) MaxRows=480;
- else if (Value.indexOf("DVD")!=-1) MaxRows=576;
- else if (Value.indexOf("720p")!=-1) MaxRows=720;
- else if (Value.indexOf("XGA")!=-1) MaxRows=768;
- else if (Value.indexOf("1080p")!=-1) MaxRows=1080;
- // + or - 10%
- if ((MaxRows!=0)&&(((MaxRows-MaxRows*0.1>ImageHeight)&&(!Job->IsCommandListContain("-DUP")))||(MaxRows+MaxRows*0.1<ImageHeight))) {
- double AspectR=double(ImageWidth)/double(ImageHeight);
- NewHeight=MaxRows;
- NewWidth =int(double(MaxRows)*AspectR);
- }
- }
- }
- if ((!Img.isNull())&&(NewWidth!=0)&&(NewHeight!=0)) {
- Img=Img.scaled(NewWidth,NewHeight,Qt::IgnoreAspectRatio,Qt::SmoothTransformation);
- if (Img.isNull()) ToLog(LOGMSG_CRITICAL, " "+QApplication::translate("cJobQueue","Failed to rescal image %1 to %2x%3").arg(Source).arg(NewWidth).arg(NewHeight),JOBQUEUESRC);
- else ToLog(LOGMSG_INFORMATION," "+QApplication::translate("cJobQueue","Succesfully rescal image %1 to %2x%3").arg(Source).arg(NewWidth).arg(NewHeight),JOBQUEUESRC);
- PostEvent(EVENT_JobStatusChanged);
- }
- } else if (ForceRotate) {
- int Rotation=0;
- if (ImgRotation==8) Rotation=-90; // Rotating image anti-clockwise by 90 degrees...'
- else if (ImgRotation==3) Rotation=180; // Rotating image clockwise by 180 degrees...'
- else if (ImgRotation==6) Rotation=90; // Rotating image clockwise by 90 degrees...'
-
- if (Rotation!=0) {
- QMatrix matrix;
- matrix.rotate(Rotation);
- Img=Img.transformed(matrix,Qt::SmoothTransformation);
- ImgRotation=1;
- if (Img.isNull()) ToLog(LOGMSG_CRITICAL, " "+QApplication::translate("cJobQueue","Failed to rotate image"),JOBQUEUESRC);
- else ToLog(LOGMSG_INFORMATION," "+QApplication::translate("cJobQueue","Succesfully rotate image"),JOBQUEUESRC);
- }
- }
-
- // Step 3 : Ensure destination image could be write (depends on overwrite !)
- PostJobStatusChanged(Job,QApplication::translate("cJobQueue","Apply destination overwriting strategy"),(double(Job->CurrentIndex*StepInJob+InStep++)/double(Job->SourcesAndDests.count()*StepInJob))*100);
- if ((!Img.isNull())&&(ApplyDestinationOverWriting(Destination,Job->JobSettings))) {
-
- // Step 4 : Save image
- PostJobStatusChanged(Job,QApplication::translate("cJobQueue","Save image file"),(double(Job->CurrentIndex*StepInJob+InStep++)/double(Job->SourcesAndDests.count()*StepInJob))*100);
- if (!Img.save(Destination,Job->DestinationExtension.toUtf8().data(),Quality))
- ToLog(LOGMSG_CRITICAL," "+QApplication::translate("cJobQueue","Failed to write destination file %1").arg(Destination),JOBQUEUESRC);
- else {
- ToLog(LOGMSG_INFORMATION," "+QApplication::translate("cJobQueue","Successfully writing destination file %1").arg(Destination),JOBQUEUESRC);
-
- bool ExifOk=true;
- if ((Job->DestinationExtension=="tiff")||(Job->DestinationExtension=="jpg")) {
- // Step 5 : Add exif values to destination file
- // Command to add minimal exif information into file :
- // exiv2 IMG_3682_new.jpg -M"add Exif.Photo.PixelYDimension Short 3000" -M"add Exif.Photo.PixelXDimension Short 2000" -M"add Exif.Image.Orientation Short 8"
- PostJobStatusChanged(Job,QApplication::translate("cJobQueue","Add minimal exif value to image file"),(double(Job->CurrentIndex*StepInJob+InStep++)/double(Job->SourcesAndDests.count()*StepInJob))*100);
- QString Commande;
- QProcess Process;
-
- if (Job->DestinationExtension=="tiff") Commande=QString("exiv2 \"%1\" -M\"set Exif.Image.ImageHeight Short %2\" -M\"set Exif.Image.ImageWidth Short %3\"").arg(Destination).arg(Img.height()).arg(Img.width());
- else Commande=QString("exiv2 \"%1\" -M\"add Exif.Photo.PixelYDimension Short %2\" -M\"add Exif.Photo.PixelXDimension Short %3\" -M\"add Exif.Image.Orientation Short %4\"").arg(Destination).arg(Img.height()).arg(Img.width()).arg(ImgRotation);
-
- Process.setProcessChannelMode(QProcess::MergedChannels);
- Process.start(Commande);
- if (!Process.waitForStarted()) {
- ToLog(LOGMSG_CRITICAL," "+QApplication::translate("cBaseMediaFile","Impossible to start exiv2 - no exif informations will be set for %1").arg(Destination),JOBQUEUESRC);
- ExifOk=false;
- }
- if (ExifOk && !Process.waitForFinished()) {
- Process.kill();
- ToLog(LOGMSG_CRITICAL," "+QApplication::translate("cBaseMediaFile","Error during exiv2 process - no exif informations will be set for %1").arg(Destination),JOBQUEUESRC);
- ExifOk=false;
- }
- if (ExifOk && (Process.exitStatus()<0)) {
- ToLog(LOGMSG_CRITICAL," "+QApplication::translate("cBaseMediaFile","exiv2 return error %1 - no exif informations will be set for %2").arg(Process.exitStatus()).arg(Destination),JOBQUEUESRC);
- ExifOk=false;
- }
- }
-
- if (ExifOk) {
- ToLog(LOGMSG_INFORMATION," "+QApplication::translate("cBaseMediaFile","Successfully add minimal exif values to %1").arg(Destination),JOBQUEUESRC);
- // Step 5 : Transform source file
- PostJobStatusChanged(Job,QApplication::translate("cJobQueue","Apply source file strategy"),(double(Job->CurrentIndex*StepInJob+InStep++)/double(Job->SourcesAndDests.count()*StepInJob))*100);
- if (ApplySourceTransformation(Source,NewSource)) {
- Job->Succeded++;
- }
- }
- PostEvent(EVENT_FileListChanged,QFileInfo(Destination).absolutePath());
- }
-
- }
- // Go to next file
- Job->CurrentIndex++;
- }
- if (Job->Succeded==Job->SourcesAndDests.count()) Job->JobStatus=JOBSTATUS_SUCCEEDED; else Job->JobStatus=JOBSTATUS_ENDEDWITHERROR;
- PostJobStatusChanged(Job,QApplication::translate("cJobQueue","Job finished"),100);
-}
-
-//====================================================================================================================
-
-void cJobQueue::ProcessFFMPEGJob(cJob *Job) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cJobQueue::ProcessFFMPEGJob");
-
- int StepInJob=4; // Modif.Dest and Convert+Modif Source
-
- if (Job->JobType!=JOBTYPE_AUDIO_CONVERTAUDIO) {
- Job->JobStatus=JOBSTATUS_CANCELED;
- ToLog(LOGMSG_CRITICAL,QString(QApplication::translate("cJobQueue","Jobtype error")),JOBQUEUESRC);
- return;
- }
- if ((Job->JobStatus!=JOBSTATUS_READYTOSTART)&&(Job->JobStatus!=JOBSTATUS_PAUSED)) return;
-
- Job->JobStatus=JOBSTATUS_STARTED;
- for (;Job->CurrentIndex<Job->SourcesAndDests.count();) {
-
- QString SizeSuffix ="ns";
- QString Source =Job->SourcesAndDests[Job->CurrentIndex];
- QString Destination =Job->ComputeDestinationName(Source,SizeSuffix);
- QString NewSource =Job->ComputeNewSourceName(Source);
- QString ffmpegCmd =ComputeFFMPEGCommand(Job);
- int InStep =0;
-
- ToLog(LOGMSG_INFORMATION,QApplication::translate("cJobQueue","Start audio conversion of %1 to %2").arg(Source).arg(Destination),JOBQUEUESRC);
-
- // Step 1 : Ensure destination file could be write (depends on overwrite !)
- PostJobStatusChanged(Job,QApplication::translate("cJobQueue","Apply destination overwriting strategy"),(double(Job->CurrentIndex*StepInJob+InStep++)/double(Job->SourcesAndDests.count()*StepInJob))*100);
- if (Source==Destination) {
- ToLog(LOGMSG_CRITICAL," "+QApplication::translate("cJobQueue","Error : for sound conversion, source and destination must be different !"),JOBQUEUESRC);
- } else if (ApplyDestinationOverWriting(Destination,Job->JobSettings)) {
-
- // Step 2 : Do conversion
- ToLog(/*LOGMSG_DEBUGTRACE*/LOGMSG_INFORMATION," Send command:"+ffmpegCmd,JOBQUEUESRC);
- QProcess Process;
- QString ffmpegOutput="";
- QString ffmpegLine="";
- bool ffmpegJobStarted=false;
- PostJobStatusChanged(Job,QApplication::translate("cJobQueue","Process ffmpeg job"),(double(Job->CurrentIndex*StepInJob+InStep++)/double(Job->SourcesAndDests.count()*StepInJob))*100);
- Process.setProcessChannelMode(QProcess::MergedChannels); // Mix standard and error chanels
- //Process.setWorkingDirectory(Diaporama->ApplicationConfig->UserConfigPath); // Set working directory to user folder (for log generation)
- Process.start(ffmpegCmd,QIODevice::Append|QIODevice::ReadWrite); // Start command
- if (!Process.waitForStarted()) {
- ToLog(LOGMSG_CRITICAL," "+QApplication::translate("DlgRenderVideo","Error starting ffmpeg"),JOBQUEUESRC);
- } else {
- while (!Process.waitForFinished(1000)) { // 1 sec
- ffmpegOutput=ffmpegLine+QString().fromLocal8Bit(Process.readAllStandardOutput());
- while (ffmpegOutput!="") {
- if (ffmpegOutput.indexOf("\n")>0) {
- ffmpegLine =ffmpegOutput.left(ffmpegOutput.indexOf("\n"));
- ffmpegOutput=ffmpegOutput.mid(ffmpegOutput.indexOf("\n")+QString("\n").length());
- ToLog(LOGMSG_DEBUGTRACE,ffmpegLine,JOBQUEUESRC);
- } else {
- ffmpegLine =ffmpegOutput;
- ffmpegOutput="";
- }
- if (ffmpegLine=="Press ctrl-c to stop encoding") ffmpegJobStarted=true;
- }
- }
- ffmpegOutput=ffmpegLine+QString().fromLocal8Bit(Process.readAllStandardOutput());
- while (ffmpegOutput!="") {
- if (ffmpegOutput.indexOf("\n")>0) {
- ffmpegLine =ffmpegOutput.left(ffmpegOutput.indexOf("\n"));
- ffmpegOutput=ffmpegOutput.mid(ffmpegOutput.indexOf("\n")+QString("\n").length());
- ToLog(LOGMSG_DEBUGTRACE,ffmpegLine,JOBQUEUESRC);
- } else {
- ffmpegLine =ffmpegOutput;
- ffmpegOutput="";
- }
- if (ffmpegLine=="Press ctrl-c to stop encoding") ffmpegJobStarted=true;
- }
-
- if ((Process.exitStatus()<0)||(!ffmpegJobStarted)) {
- if (!ffmpegJobStarted) ToLog(LOGMSG_CRITICAL," "+QApplication::translate("cJobQueue","Error : ffmpeg job can't start : %1").arg(ffmpegLine),JOBQUEUESRC);
- else ToLog(LOGMSG_CRITICAL," "+QApplication::translate("cJobQueue","Error : ffmpeg return error %1").arg(Process.exitStatus()),JOBQUEUESRC);
- } else {
- ToLog(LOGMSG_INFORMATION," "+QApplication::translate("cJobQueue","Succesfully process ffmpeg job"),JOBQUEUESRC);
- PostEvent(EVENT_FileListChanged,QFileInfo(Destination).absolutePath());
-
- // Step 3 : Transform source file
- PostJobStatusChanged(Job,QApplication::translate("cJobQueue","Apply source file strategy"),(double(Job->CurrentIndex*StepInJob+InStep++)/double(Job->SourcesAndDests.count()*StepInJob))*100);
- if (ApplySourceTransformation(Source,NewSource)) {
- Job->Succeded++;
- }
- }
- }
- }
- // Go to next file
- Job->CurrentIndex++;
- }
- if (Job->Succeded==Job->SourcesAndDests.count()) Job->JobStatus=JOBSTATUS_SUCCEEDED; else Job->JobStatus=JOBSTATUS_ENDEDWITHERROR;
- PostJobStatusChanged(Job,QApplication::translate("cJobQueue","Job finished"),100);
-}
diff --git a/src/ffDiaporamaMMFiler/cJobQueue.h b/src/ffDiaporamaMMFiler/cJobQueue.h
deleted file mode 100755
index 225b627..0000000
--- a/src/ffDiaporamaMMFiler/cJobQueue.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef CJOBQUEUE_H
-#define CJOBQUEUE_H
-
-#include <QDomElement>
-#include <QDomDocument>
-#include <QString>
-#include <QListWidget>
-#include "../sharedfiles/cBaseApplicationConfig.h"
-#include "../sharedfiles/cBaseMediaFile.h"
-
-#define JOBQUEUESRC "JobProcessing" // Name use as source for log message
-
-#define JOBQUALIF_SOURCE_KEEP 0x0001
-#define JOBQUALIF_SOURCE_REMOVE 0x0002
-#define JOBQUALIF_SOURCE_ADDSUFFIX 0x0004
-#define JOBQUALIF_SOURCE_MOVE 0x0008
-#define JOBQUALIF_SOURCE_ALL (JOBQUALIF_SOURCE_KEEP|JOBQUALIF_SOURCE_REMOVE|JOBQUALIF_SOURCE_ADDSUFFIX|JOBQUALIF_SOURCE_MOVE)
-
-#define JOBQUALIF_DESTNAME_ADDSUFFIX 0x0010
-#define JOBQUALIF_DESTNAME_ADDSIZESUFFIX 0x0020
-#define JOBQUALIF_DESTPLACE_INFOLDER 0x0040
-
-#define JOBQUALIF_DESTINATION_OVERWRITE 0x0100
-#define JOBQUALIF_DESTINATION_COPYTHUMB 0x0200
-
-#define JOBTYPE_NOTDEFINED 0
-#define JOBTYPE_OPENFILE 1
-#define JOBTYPE_DISPLAYINFO 2
-#define JOBTYPE_REMOVEFILE 3
-
-#define JOBTYPE_IMAGE_CONVERTIMAGE 4
-#define JOBQUALIF_IMAGE_CONVERTIMAGE (/*JOBQUALIF_SOURCE_KEEP|JOBQUALIF_SOURCE_REMOVE|JOBQUALIF_SOURCE_ADDSUFFIX|JOBQUALIF_SOURCE_MOVE|*/JOBQUALIF_DESTNAME_ADDSUFFIX|JOBQUALIF_DESTNAME_ADDSIZESUFFIX|JOBQUALIF_DESTPLACE_INFOLDER|JOBQUALIF_DESTINATION_OVERWRITE/*|JOBQUALIF_DESTINATION_COPYTHUMB*/)
-#define JOBDEFAULT_IMAGE_CONVERTIMAGE (JOBQUALIF_SOURCE_KEEP|JOBQUALIF_DESTNAME_ADDSIZESUFFIX)
-#define JOBHELP_IMAGE_CONVERTIMAGE 4903 // Page number on the web site
-
-#define JOBTYPE_AUDIO_CONVERTAUDIO 5
-#define JOBQUALIF_AUDIO_CONVERTAUDIO (/*JOBQUALIF_SOURCE_KEEP|JOBQUALIF_SOURCE_REMOVE|JOBQUALIF_SOURCE_ADDSUFFIX|JOBQUALIF_SOURCE_MOVE|*/JOBQUALIF_DESTNAME_ADDSUFFIX|JOBQUALIF_DESTPLACE_INFOLDER|JOBQUALIF_DESTINATION_OVERWRITE/*|JOBQUALIF_DESTINATION_COPYTHUMB*/)
-#define JOBDEFAULT_AUDIO_CONVERTAUDIO (JOBQUALIF_SOURCE_KEEP)
-#define JOBHELP_AUDIO_CONVERTAUDIO 4901 // Page number on the web site
-
-#define JOBTYPE_VIDEO_CONVERTVIDEO 6
-#define JOBQUALIF_VIDEO_CONVERTVIDEO (/*JOBQUALIF_SOURCE_KEEP|JOBQUALIF_SOURCE_REMOVE|JOBQUALIF_SOURCE_ADDSUFFIX|JOBQUALIF_SOURCE_MOVE|*/JOBQUALIF_DESTNAME_ADDSUFFIX|JOBQUALIF_DESTNAME_ADDSIZESUFFIX|JOBQUALIF_DESTPLACE_INFOLDER|JOBQUALIF_DESTINATION_OVERWRITE/*|JOBQUALIF_DESTINATION_COPYTHUMB*/)
-#define JOBDEFAULT_VIDEO_CONVERTVIDEO (JOBQUALIF_SOURCE_KEEP)
-#define JOBHELP_VIDEO_CONVERTVIDEO 4906 // Page number on the web site
-
-#define NBR_JOBTYPE 7
-
-extern uint32_t PossibleJobsSettings[NBR_JOBTYPE];
-extern int JobHelpPage[NBR_JOBTYPE];
-
-#define JOBSTATUS_READYTOSTART 0
-#define JOBSTATUS_STARTED 1
-#define JOBSTATUS_PAUSED 2
-#define JOBSTATUS_CANCELED 3
-#define JOBSTATUS_SUCCEEDED 4
-#define JOBSTATUS_ENDEDWITHERROR 5
-
-#define EVENT_JobStatusChanged 100
-#define EVENT_FileListChanged 101
-#define EVENT_FolderChanged 102
-
-class cJob {
-public:
- // Job qualification & settings
- uint32_t JobQualif;
- uint32_t JobSettings;
- QString SourceSuffix;
- QString SourceFolder;
- QString DestinationSuffix;
- QString DestinationFolder;
- QString DestinationExtension;
-
- // Job controls
- QDateTime DateTime;
- int JobType;
- int JobStatus;
- int PercentDone;
- QStringList SourcesAndDests;
- int Succeded;
- int CurrentIndex;
- QString CurrentAction;
-
- // Job specific
- QString Command;
-
- cJob();
- ~cJob();
-
- virtual void SaveToXML(QDomElement &domDocument,QString ElementName);
- virtual bool LoadFromXML(QDomElement domDocument,QString ElementName);
-
- virtual QString ComputeDestinationName(QString Source,QString SizeSuffix);
- virtual QString ComputeNewSourceName(QString Source);
-
- virtual bool IsCommandListContain(QString ToFind);
- virtual int CommandListValue(QString ToFind);
- virtual QString CommandListValueString(QString ToFind);
-};
-
-//***************************
-
-class cJobQueue {
-public:
- cBaseApplicationConfig *BaseApplicationConfig;
- QList<cJob*> List; // list of cJobObject
- QStringList StatusText;
- QStringList JobTypeText;
- QList<cBaseMediaFile*> MediaList;
-
- cJobQueue();
- ~cJobQueue();
-
- virtual void SaveToXML(QDomElement &domDocument,QString ElementName);
- virtual bool LoadFromXML(QDomElement domDocument,QString ElementName);
-
- // Utility
- virtual void PostJobStatusChanged(cJob *Job,QString Action,int Percent);
- virtual QString ComputeFFMPEGCommand(cJob *Job);
-
- // Jobs
- virtual bool ApplyDestinationOverWriting(QString Destination,uint32_t JobSettings);
- virtual bool ApplySourceTransformation(QString Source,QString NewSource);
- virtual void ConvertIMG(cJob *Job);
- virtual void ProcessFFMPEGJob(cJob *Job);
-
-};
-
-#endif // CJOBQUEUE_H
diff --git a/src/ffDiaporamaMMFiler/ffDiaporamaMMFiler.pro b/src/ffDiaporamaMMFiler/ffDiaporamaMMFiler.pro
deleted file mode 100755
index ef7b624..0000000
--- a/src/ffDiaporamaMMFiler/ffDiaporamaMMFiler.pro
+++ /dev/null
@@ -1,161 +0,0 @@
-QT += core gui xml
-#win32:CONFIG += console
-CONFIG += thread
-QMAKE_STRIP = echo
-APPFOLDER = ffDiaporama
-TARGET = ffDiaporamaMMFiler
-TEMPLATE = app
-
-DEFINES += HAVE_CONFIG_H # specific for TAGLib
-DEFINES += TAGLIB_STATIC # specific for TAGLib
-
-isEmpty(PREFIX) {
- PREFIX = /usr
-}
-
-#--------------------------------------------------------------
-# DEFINES BUILD DIRECTORIES, COMMON INCLUDES AND COMMON LIBS
-#--------------------------------------------------------------
-include(../common.pri)
-#--------------------------------------------------------------
-
-# Ressource files
-win32:RC_FILE += ../../ffDiaporamaMMFiler.rc
-unix:OTHER_FILES += ../../ffDiaporamaMMFiler.rc
-RESOURCES += ../../RSCffDiaporama.qrc
-
-TRANSLATIONS += ../../locale/ffDiaporamaMMFiler_fr.ts \
- ../../locale/ffDiaporamaMMFiler_it.ts \
- ../../locale/ffDiaporamaMMFiler_de.ts \
- ../../locale/ffDiaporamaMMFiler_nl.ts \
- ../../locale/ffDiaporamaMMFiler_es.ts \
- ../../locale/ffDiaporamaMMFiler_pt.ts \
- ../../locale/ffDiaporamaMMFiler_ru.ts \
- ../../locale/ffDiaporamaMMFiler_el.ts \
- ../../locale/ffDiaporamaMMFiler_cz.ts
-
-SOURCES += main.cpp\
- mainwindow.cpp \
- DlgApplicationSettings.cpp \
- cApplicationConfig.cpp \
- DlgAbout.cpp \
- ../sharedfiles/_GlobalDefines.cpp \
- ../sharedfiles/cSaveWindowPosition.cpp \
- ../sharedfiles/cBaseApplicationConfig.cpp \
- ../sharedfiles/QCustomFolderTree.cpp \
- ../sharedfiles/QCustomFolderTable.cpp \
- ../sharedfiles/cDriveList.cpp \
- ../sharedfiles/cDeviceModelDef.cpp \
- ../sharedfiles/cBaseMediaFile.cpp \
- ../sharedfiles/cLuLoImageCache.cpp \
- ../sharedfiles/cFilterTransformObject.cpp \
- ../sharedfiles/QCustomHorizSplitter.cpp \
- ../sharedfiles/QCustomFileInfoLabel.cpp \
- ../sharedfiles/cSoundBlockList.cpp \
- ../fmt_filters/fmt_filters.cpp \
- ../sharedfiles/DlgCheckConfig.cpp \
- ../sharedfiles/_QCustomDialog.cpp \
- ../sharedfiles/DlgManageDevices.cpp \
- ../sharedfiles/cCustomIcon.cpp \
- ../sharedfiles/DlgInfoFile.cpp \
- ../sharedfiles/QCustomGetFolder.cpp \
- cJobQueue.cpp \
- QCustomJobTable.cpp \
- DlgJobSettings.cpp \
- wgt_JobConvertImage.cpp \
- wgt_JobBase.cpp \
- wgt_JobConvertAudio.cpp \
- wgt_JobConvertVideo.cpp
-
-HEADERS += mainwindow.h \
- DlgApplicationSettings.h \
- cApplicationConfig.h \
- DlgAbout.h \
- ../sharedfiles/cSaveWindowPosition.h \
- ../sharedfiles/cBaseApplicationConfig.h \
- ../sharedfiles/QCustomFolderTree.h \
- ../sharedfiles/QCustomFolderTable.h \
- ../sharedfiles/cDriveList.h \
- ../sharedfiles/cDeviceModelDef.h \
- ../sharedfiles/cBaseMediaFile.h \
- ../sharedfiles/cLuLoImageCache.h \
- ../sharedfiles/cFilterTransformObject.h \
- ../sharedfiles/cSoundBlockList.h \
- ../sharedfiles/_GlobalDefines.h \
- ../sharedfiles/QCustomHorizSplitter.h \
- ../sharedfiles/QCustomFileInfoLabel.h \
- ../fmt_filters/fmt_filters.h \
- ../sharedfiles/DlgCheckConfig.h \
- ../sharedfiles/_QCustomDialog.h \
- ../sharedfiles/cCustomIcon.h \
- ../sharedfiles/DlgManageDevices.h \
- ../sharedfiles/DlgInfoFile.h \
- ../sharedfiles/QCustomGetFolder.h \
- cJobQueue.h \
- QCustomJobTable.h \
- DlgJobSettings.h \
- wgt_JobConvertImage.h \
- wgt_JobBase.h \
- wgt_JobConvertAudio.h \
- wgt_JobConvertVideo.h
-
-
-FORMS += mainwindow.ui \
- DlgApplicationSettings.ui \
- DlgAbout.ui \
- ../sharedfiles/DlgCheckConfig.ui \
- ../sharedfiles/DlgManageDevices.ui \
- ../sharedfiles/DlgInfoFile.ui \
- ../sharedfiles/QCustomGetFolder.ui \
- DlgJobSettings.ui \
- wgt_JobConvertImage.ui \
- wgt_JobConvertAudio.ui \
- wgt_JobConvertVideo.ui
-
-# Installation on linux systems
-unix {
- message("Install to : $$PREFIX")
-
- TARGETF.path = $$PREFIX/bin
- TARGETF.files = $$DESTDIR/$$TARGET
- INSTALLS += TARGETF
-
- translation.path = $$PREFIX/share/$$APPFOLDER/locale
- translation.files = ../../locale/ffDiaporamaMMFiler_*
- INSTALLS += translation
-
- ico.path = $$PREFIX/share/$$APPFOLDER
- ico.files = ../../application-ffDiaporamaMMFiler.png \
- ../../application-ffDiaporamaMMFiler.ico
- INSTALLS += ico
-
- # install icon files for GNOME systems
- #exists(/usr/share/icons/gnome/32x32/mimetypes) {
- # iconfile.path = $$PREFIX/share/icons/gnome/32x32/mimetypes
- # iconfile.files = ../../application-ffDiaporamaMMFiler.png
- #}
- # install icon files for KDE systems
- #exists(/usr/share/icons/default.kde4/32x32/mimetypes) {
- # iconfile.path = $$PREFIX/share/icons/default.kde4/32x32/mimetypes
- # iconfile.files = ../../application-ffDiaporamaMMFiler.png
- #}
- #INSTALLS += iconfile
-
- # install desktop files /opt version
- contains(PREFIX,/opt) {
- desktop.path = $$PREFIX/share/applications
- desktop.files = ../../ffDiaporamaMMFileropt.desktop
- }
- # install PREFIX files /usr/local version
- contains(PREFIX,/usr/local) {
- desktop.path = $$PREFIX/share/applications
- desktop.files = ../../ffDiaporamaMMFilerlocal.desktop
- }
- # install desktop files /usr version
- !contains(PREFIX,/usr/local) : !contains(PREFIX,/opt) {
- desktop.path = $$PREFIX/share/applications
- desktop.files = ../../ffDiaporamaMMFiler.desktop
- }
- INSTALLS += desktop
-
-}
diff --git a/src/ffDiaporamaMMFiler/main.cpp b/src/ffDiaporamaMMFiler/main.cpp
deleted file mode 100755
index a689eda..0000000
--- a/src/ffDiaporamaMMFiler/main.cpp
+++ /dev/null
@@ -1,75 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include <QtGui/QApplication>
-#include <QString>
-#include <QDir>
-#include <stdio.h>
-
-#include "../sharedfiles/cBaseApplicationConfig.h"
-#include "mainwindow.h"
-#include <iostream>
-
-int main(int argc, char *argv[]) {
-
- #ifdef Q_OS_WIN
- // Check Windows version and :
- // If <Windows/XP then exit application
- // If Windows/XP then swith to low fragmentation heap mode
- // If >Windows/XP then it's OK
- // And attach stdio to console if application was started from a console
- SetLFHeap();
- #endif
-
- SetWorkingPath(argv,APPLICATION_GROUPNAME,APPLICATION_NAME,CONFIGFILEEXT);
- #ifdef Q_OS_LINUX
- if (SearchRasterMode(APPLICATION_NAME,APPLICATION_NAME,CONFIGFILEEXT,CONFIGFILE_ROOTNAME)) QApplication::setGraphicsSystem("raster");
- #endif
-
- QApplication::setStyle("Cleanlooks");
-
- QApplication app(argc, argv);
-
- QString ForceLanguage="";
-
- // Parse parameters
- for (int i=1;i<argc;i++) {
- QString Param=QString(argv[i]).toLower();
- if (Param.startsWith("-lang=")) ForceLanguage=Param.mid(QString("-lang=").length());
- else if (Param.startsWith("-loglevel=")) LogMsgLevel =Param.mid(QString("-loglevel=").length()).toInt();
- }
-
- // Log Level part
- switch (LogMsgLevel) {
- case 1 : std::cout << QString("Set LogLevel to DEBUGTRACE\n").toLocal8Bit().constData(); break;
- case 2 : std::cout << QString("Set LogLevel to INFORMATION\n").toLocal8Bit().constData(); break;
- case 3 : std::cout << QString("Set LogLevel to WARNING\n").toLocal8Bit().constData(); break;
- case 4 : std::cout << QString("Set LogLevel to CRITICAL\n").toLocal8Bit().constData(); break;
- default :std::cout << QString("Incorrect LogLevel\n").toLocal8Bit().constData(); LogMsgLevel=2; exit(1); break;
- }
-
- // Start GUI
- MainWindow w;
- w.InitWindow(ForceLanguage,&app);
-
- if (w.ApplicationConfig->RestoreWindow && w.ApplicationConfig->MainWinState) w.showMaximized(); else w.show();
-
- return app.exec();
-}
diff --git a/src/ffDiaporamaMMFiler/mainwindow.cpp b/src/ffDiaporamaMMFiler/mainwindow.cpp
deleted file mode 100755
index 60426f4..0000000
--- a/src/ffDiaporamaMMFiler/mainwindow.cpp
+++ /dev/null
@@ -1,818 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include <QtCore>
-#include <QtDebug>
-#include <QDir>
-#include <QFileInfo>
-#include <QFileInfoList>
-#include <QIcon>
-#include <QProcess>
-#include <QTimer>
-#include <QMessageBox>
-#include <QSplitter>
-#include <QComboBox>
-#include <QDesktopServices>
-#include <QMenu>
-
-#include "../sharedfiles/cBaseMediaFile.h"
-#include "../sharedfiles/QCustomFileInfoLabel.h"
-#include "../sharedfiles/QCustomFolderTable.h"
-#include "../sharedfiles/QCustomFolderTree.h"
-#include "../sharedfiles/QCustomHorizSplitter.h"
-#include "../sharedfiles/DlgCheckConfig.h"
-#include "../sharedfiles/DlgInfoFile.h"
-
-#include "QCustomJobTable.h"
-#include "DlgApplicationSettings.h"
-#include "DlgAbout.h"
-#include "DlgJobSettings.h"
-#include "mainwindow.h"
-#include "ui_mainwindow.h"
-
-QIcon Icon_DISPLAY_DATA_S;
-QIcon Icon_DISPLAY_DATA;
-QIcon Icon_DISPLAY_WEB_S;
-QIcon Icon_DISPLAY_WEB;
-QIcon Icon_DISPLAY_JUKEBOX_S;
-QIcon Icon_DISPLAY_JUKEBOX;
-
-QIcon Icon_FILTER_NO;
-QIcon Icon_FILTER_FFD;
-QIcon Icon_FILTER_IMAGE;
-QIcon Icon_FILTER_MUSIC;
-QIcon Icon_FILTER_VIDEO;
-
-#define ICON_GREEN ":/img/SmallGreen.png"
-#define ICON_RED ":/img/SmallRed.png"
-#define ICON_YELLOW ":/img/SmallYellow.png"
-
-MainWindow::MainWindow(QWidget *parent):QMainWindow(parent),ui(new Ui::MainWindow) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::MainWindow");
-
- ApplicationConfig =new cApplicationConfig(this);
- JobQueue.BaseApplicationConfig =ApplicationConfig;
- DriveList =new cDriveList(ApplicationConfig);
- IsFirstInitDone =false;
- CurrentJobThread =-1;
- Icon_DISPLAY_DATA_S =QIcon(":/img/DISPLAY_DATA_S.png");
- Icon_DISPLAY_DATA =QIcon(":/img/DISPLAY_DATA.png");
- Icon_DISPLAY_WEB_S =QIcon(":/img/DISPLAY_WEB_S.png");
- Icon_DISPLAY_WEB =QIcon(":/img/DISPLAY_WEB_S.png");
- Icon_DISPLAY_JUKEBOX_S =QIcon(":/img/DISPLAY_JUKEBOX_S.png");
- Icon_DISPLAY_JUKEBOX =QIcon(":/img/DISPLAY_JUKEBOX.png");
-
- Icon_FILTER_NO =QIcon(":/img/FILTER_FILE_S.png");
- Icon_FILTER_FFD =QIcon(":/img/FILTER_FFD_S.png");
- Icon_FILTER_IMAGE =QIcon(":/img/FILTER_IMAGE_S.png");
- Icon_FILTER_MUSIC =QIcon(":/img/FILTER_MUSIC_S.png");
- Icon_FILTER_VIDEO =QIcon(":/img/FILTER_VIDEO_S.png");
-}
-
-//====================================================================================================================
-
-MainWindow::~MainWindow() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::~MainWindow");
- delete ui;
- delete DriveList;
- delete ApplicationConfig;
-}
-
-//====================================================================================================================
-
-void MainWindow::InitWindow(QString ForceLanguage,QApplication *App) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::InitWindow");
-
- ApplicationConfig->InitConfigurationValues(ForceLanguage,App);
- ApplicationConfig->PreloadSystemIcons();
-
- // Register all formats and codecs for libavformat/libavcodec/etc ...
- ApplicationConfig->DeviceModelList.Initffmpeg();
-
- ui->setupUi(this);
- setWindowTitle(QString("%1 %2").arg(APPLICATION_NAME).arg(APPLICATION_VERSION));
- ui->FolderTree->ApplicationConfig =ApplicationConfig;
- ui->FolderTree->IsRemoveAllowed =true;
- ui->FolderTable->ApplicationConfig=ApplicationConfig;
- ui->JobTable->ApplicationConfig =ApplicationConfig;
- ui->JobTable->JobQueue =&JobQueue;
-
- // do some init ...
- ui->Action_Mode_BT->setIcon(*GetIconMode());
- ui->Action_Filter_BT->setIcon(*GetIconFilter());
- ui->FileInfoLabel->DisplayMode=DISPLAY_WEBLONG;
- ui->FileInfoLabel->setVisible((ApplicationConfig->CurrentMode!=DISPLAY_WEBSHORT)&&(ApplicationConfig->CurrentMode!=DISPLAY_WEBLONG));
-
- // Initialise integrated controls and list
- DriveList->UpdateDriveList();
- ui->FolderTree->InitDrives(DriveList);
- ui->FolderTable->SetMode(ApplicationConfig->CurrentMode,ApplicationConfig->CurrentFilter);
-
- ui->ToolBoxNormal->setCurrentIndex(0);
- ui->JobTable->DoRefreshList();
- RefreshControls();
-
- ApplicationConfig->ImagesCache.MaxValue=ApplicationConfig->MemCacheMaxValue;
-
- connect(ui->FolderTree,SIGNAL(currentItemChanged(QTreeWidgetItem *,QTreeWidgetItem *)),this,SLOT(s_currentTreeItemChanged(QTreeWidgetItem *,QTreeWidgetItem *)));
- connect(ui->FolderTree,SIGNAL(ActionRemoveFolder()),this,SLOT(s_Action_RemoveFolder()));
-
- connect(ui->FolderTable,SIGNAL(itemSelectionChanged()),this,SLOT(DoRefreshSelectedFileInfo()));
- connect(ui->FolderTable,SIGNAL(DoubleClickEvent(QMouseEvent *)),this,SLOT(s_itemDoubleClicked(QMouseEvent *)));
- connect(ui->FolderTable,SIGNAL(RightClickEvent(QMouseEvent *)),this,SLOT(s_itemRightClicked(QMouseEvent *)));
- connect(ui->FolderTable,SIGNAL(RefreshFolderInfo()),this,SLOT(DoRefreshFolderInfo()));
-
- connect(ui->RefreshBt,SIGNAL(released()),this,SLOT(s_Refresh()));
- connect(ui->PlayBt,SIGNAL(released()),this,SLOT(s_Action_OpenFile()));
- connect(ui->InfoBt,SIGNAL(released()),this,SLOT(s_Action_InfoFile()));
- connect(ui->WizardBt,SIGNAL(pressed()),this,SLOT(s_Action_WizardOnFile()));
- connect(ui->RemoveBt,SIGNAL(released()),this,SLOT(s_Action_RemoveFile()));
-
- connect(ui->ActionConfiguration_BT,SIGNAL(pressed()),this,SLOT(s_Config()));
-
- connect(ui->Action_About_BT,SIGNAL(pressed()),this,SLOT(s_About()));
- connect(ui->ActionDocumentation_BT,SIGNAL(pressed()),this,SLOT(s_Documentation()));
- connect(ui->ActionNewFunctions_BT,SIGNAL(pressed()),this,SLOT(s_NewFunctions()));
- connect(ui->Action_Exit_BT,SIGNAL(pressed()),this,SLOT(s_Action_Exit()));
-
- connect(ui->Action_Mode_BT,SIGNAL(pressed()),this,SLOT(s_Action_Mode()));
- connect(ui->Action_Filter_BT,SIGNAL(pressed()),this,SLOT(s_Action_Filter()));
-
- ui->FolderTree->SetSelectItemByPath(ui->FolderTree->RealPathToTreePath(ApplicationConfig->CurrentPath));
- if (ui->FolderTree->GetCurrentFolderPath()!=ApplicationConfig->CurrentPath) ui->FolderTree->SetSelectItemByPath(QApplication::translate("QCustomFolderTree","Personal folder"));
-
- if (ApplicationConfig->CheckConfigAtStartup) QTimer::singleShot(500,this,SLOT(s_DlgCheckConfig())); else {
- QString Status;
- if (!Checkffmpeg(Status)) QTimer::singleShot(500,this,SLOT(s_DlgCheckConfig()));
- }
-
- // Connect Event Receiver so now we accept messages
- EventReceiver=this;
-
- // Start timer to start job processing
- connect(&Timer,SIGNAL(timeout()),this,SLOT(s_TimerEvent()));
- Timer.start(1000); // Start Timer
-}
-
-//====================================================================================================================
-
-void MainWindow::closeEvent(QCloseEvent *) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::closeEvent");
- Timer.stop();
- if (isMaximized()) {
- ApplicationConfig->MainWinWSP->IsMaximized=true;
- showNormal();
- QApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
- } else ApplicationConfig->MainWinWSP->IsMaximized=false;
- if (isMinimized()) {
- showNormal();
- QApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
- }
- // Save configuration
- QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
- ApplicationConfig->MainWinWSP->SaveWindowState(this);
- ApplicationConfig->SplitterHSizeAndPos=QString(QByteArray(ui->SplitterH->saveState()).toHex());
- ApplicationConfig->SplitterVSizeAndPos=QString(QByteArray(ui->SplitterV->saveState()).toHex());
- ApplicationConfig->SaveConfigurationFile();
- QApplication::restoreOverrideCursor();
-}
-
-//====================================================================================================================
-
-void MainWindow::showEvent(QShowEvent *) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::showEvent");
- if (!IsFirstInitDone) {
- IsFirstInitDone=true; // do this only one time
- ApplicationConfig->MainWinWSP->ApplyToWindow(this); // Restore window position
- if (ApplicationConfig->SplitterHSizeAndPos!="") ui->SplitterH->restoreState(QByteArray::fromHex(ApplicationConfig->SplitterHSizeAndPos.toUtf8()));
- if (ApplicationConfig->SplitterVSizeAndPos!="") ui->SplitterV->restoreState(QByteArray::fromHex(ApplicationConfig->SplitterVSizeAndPos.toUtf8()));
- if (ApplicationConfig->MainWinWSP->IsMaximized) QTimer::singleShot(500,this,SLOT(DoMaximized()));
- /*// Start a network process to give last ffdiaporama version from internet web site
- QNetworkAccessManager *mNetworkManager=new QNetworkAccessManager(this);
- connect(mNetworkManager,SIGNAL(finished(QNetworkReply*)),this,SLOT(s_Event_NetworkReply(QNetworkReply*)));
- QUrl url(BUILDVERSION_WEBURL);
- QNetworkReply *reply = mNetworkManager->get(QNetworkRequest(url));
- reply->deleteLater();*/
- }
-}
-
-//====================================================================================================================
-
-void MainWindow::DoMaximized() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::DoMaximized");
- showMaximized();
-}
-
-//====================================================================================================================
-
-void MainWindow::resizeEvent(QResizeEvent *) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::resizeEvent");
-}
-
-//====================================================================================================================
-
-void MainWindow::RefreshControls() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::RefreshControls");
-
- cBaseMediaFile *Media=ui->FolderTable->GetCurrentMediaFile();
-
- ui->PlayBt->setEnabled((Media)&&((Media->ObjectType==OBJECTTYPE_IMAGEFILE)||(Media->ObjectType==OBJECTTYPE_VIDEOFILE)||(Media->ObjectType==OBJECTTYPE_MUSICFILE)||(Media->ObjectType==OBJECTTYPE_THUMBNAIL)||(Media->ObjectType==OBJECTTYPE_FFDFILE)));
- ui->InfoBt->setEnabled((Media)&&((Media->ObjectType==OBJECTTYPE_IMAGEFILE)||(Media->ObjectType==OBJECTTYPE_VIDEOFILE)||(Media->ObjectType==OBJECTTYPE_MUSICFILE)||(Media->ObjectType==OBJECTTYPE_THUMBNAIL)||(Media->ObjectType==OBJECTTYPE_FFDFILE)));
- ui->WizardBt->setEnabled((Media)&&((Media->ObjectType==OBJECTTYPE_IMAGEFILE)||(Media->ObjectType==OBJECTTYPE_VIDEOFILE)||(Media->ObjectType==OBJECTTYPE_MUSICFILE)||(Media->ObjectType==OBJECTTYPE_FOLDER)||(Media->ObjectType==OBJECTTYPE_FFDFILE)));
- ui->RemoveBt->setEnabled(Media);
-}
-
-//====================================================================================================================
-
-void MainWindow::s_TimerEvent() {
- //ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_TimerEvent"); // Remove : Too much
-
- if (Thread.isRunning()) return;
- if (CurrentJobThread!=-1) ui->JobTable->DoRefreshAJob(CurrentJobThread);
- CurrentJobThread=-1;
- if (JobQueue.List.count()>0) Thread.setFuture(QtConcurrent::run(this,&MainWindow::ThreadJob));
-}
-
-//====================================================================================================================
-
-void MainWindow::ThreadJob() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::ThreadJob");
- int i=0;
- while ((i<JobQueue.List.count())&&(JobQueue.List[i]->JobStatus!=JOBSTATUS_READYTOSTART)) i++;
- if ((i<JobQueue.List.count())&&(JobQueue.List[i]->JobStatus==JOBSTATUS_READYTOSTART)) {
- CurrentJobThread=i;
- switch (JobQueue.List[i]->JobType) {
- case JOBTYPE_IMAGE_CONVERTIMAGE : JobQueue.ConvertIMG(JobQueue.List[i]); break;
- case JOBTYPE_AUDIO_CONVERTAUDIO : JobQueue.ProcessFFMPEGJob(JobQueue.List[i]); break;
- }
- }
-}
-
-//====================================================================================================================
-
-void MainWindow::customEvent(QEvent *event) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::RefreshJobStatus");
-
- if (event->type()!=BaseAppEvent) QMainWindow::customEvent(event); else while (!EventList.isEmpty()) {
- QString Event =EventList.takeFirst();
- int EventType =((QString)(Event.split("###;###")[0])).toInt();
- QString EventParam =Event.split("###;###")[1];
-
- if (EventType==EVENT_GeneralLogChanged) {
- int MessageType =((QString)EventParam.split("###:###")[0]).toInt();
- QString Message =EventParam.split("###:###")[1];
- QString EventSource =EventParam.split("###:###")[2];
- if (EventSource==JOBQUEUESRC) {
- ui->JobLog->addItem(new QListWidgetItem(QIcon(MessageType==LOGMSG_CRITICAL?ICON_RED:MessageType==LOGMSG_WARNING?ICON_YELLOW:ICON_GREEN),Message));
- ui->JobLog->setCurrentItem(ui->JobLog->item(ui->JobLog->count()-1));
- ui->JobLog->scrollToItem(ui->JobLog->item(ui->JobLog->count()-1),QAbstractItemView::PositionAtBottom);
- }
- } else switch (EventType) {
- case EVENT_JobStatusChanged :
- ui->JobTable->DoRefreshAJob(CurrentJobThread);
- break;
- case EVENT_FileListChanged :
- qDebug()<<ui->FolderTable->CurrentPath;
- if ((ui->FolderTable->CurrentPath==EventParam)||(ui->FolderTable->CurrentPath==EventParam+QDir::separator())) ui->FolderTable->RefreshListFolder();
- break;
- case EVENT_FolderChanged :
-
- break;
- }
- }
-}
-
-//====================================================================================================================
-
-QIcon *MainWindow::GetIconMode() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::GetIconMode");
- switch (ApplicationConfig->CurrentMode) {
- case DISPLAY_DATA: return &Icon_DISPLAY_DATA_S;
- case DISPLAY_WEBSHORT:
- case DISPLAY_WEBLONG: return &Icon_DISPLAY_WEB_S;
- case DISPLAY_ICON48:
- case DISPLAY_ICON100:
- case DISPLAY_ICONBIG: return &Icon_DISPLAY_JUKEBOX_S;
- }
- return NULL;
-}
-
-//====================================================================================================================
-
-QIcon *MainWindow::GetIconFilter() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::GetIconFilter");
- switch (ApplicationConfig->CurrentFilter) {
- case OBJECTTYPE_UNMANAGED:
- case OBJECTTYPE_MANAGED: return &Icon_FILTER_NO;
- case OBJECTTYPE_FFDFILE: return &Icon_FILTER_FFD;
- case OBJECTTYPE_IMAGEFILE: return &Icon_FILTER_IMAGE;
- case OBJECTTYPE_VIDEOFILE: return &Icon_FILTER_VIDEO;
- case OBJECTTYPE_MUSICFILE: return &Icon_FILTER_MUSIC;
- }
- return NULL;
-}
-
-//====================================================================================================================
-
-void MainWindow::s_currentTreeItemChanged(QTreeWidgetItem *current,QTreeWidgetItem *) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_currentTreeItemChanged");
-
- ApplicationConfig->CurrentPath=ui->FolderTree->GetFolderPath(current,false);
- QList<cBaseMediaFile*> EmptyList;
- ui->FileInfoLabel->SetupFileInfoLabel(EmptyList);
-
- ui->FolderTree->RefreshItemByPath(ui->FolderTree->GetFolderPath(current,true),false);
- DoRefreshFolderInfo();
-
- ui->CurrentPathED->setText(ApplicationConfig->CurrentPath);
- ui->FolderIcon->setPixmap(DriveList->GetFolderIcon(ApplicationConfig->CurrentPath).pixmap(48,48));
-
- QString Path=ApplicationConfig->CurrentPath;
- #ifdef Q_OS_WIN
- Path.replace("%HOMEDRIVE%%HOMEPATH%",DriveList->List[0].Path,Qt::CaseInsensitive);
- Path.replace("%USERPROFILE%",DriveList->List[0].Path,Qt::CaseInsensitive);
- Path=AdjustDirForOS(Path);
- if (QDir(Path).canonicalPath()!="") Path=QDir(Path).canonicalPath(); // Resolved eventual .lnk files
- #endif
- ui->FolderTable->FillListFolder(Path);
-}
-
-//====================================================================================================================
-
-void MainWindow::DoRefreshFolderInfo() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_currentTreeItemChanged");
- DriveList->UpdateDriveList(); // To update free space on drive
- cDriveDesc *HDD=ui->FolderTree->SearchRealDrive(ApplicationConfig->CurrentPath);
- if (HDD) {
- // If scan in progress
- if (ui->FolderTable->ScanMediaListProgress) {
- ui->HDDSizePgr->setMaximum(0);
- ui->HDDSizePgr->setValue(0);
- ui->HDDSizePgr->setFormat("%P%");
- ui->HDDSizePgr->setAlignment(Qt::AlignHCenter);
- ui->FolderInfoLabel->setText("");
-
- // If scan is finished
- } else {
- // Ensure Used and Size fit in an _int32 value for QProgressBar
- qlonglong Used=HDD->Used,Size=HDD->Size;
- while (Used>1024*1024) { Used=Used/1024; Size=Size/1024; }
- ui->HDDSizePgr->setMaximum(Size);
- ui->HDDSizePgr->setValue(Used);
- ui->HDDSizePgr->setFormat(GetTextSize(HDD->Used)+"/"+GetTextSize(HDD->Size));
- ui->HDDSizePgr->setAlignment(Qt::AlignHCenter);
- }
- QString ToDisplay=QString("%1/%2").arg(ui->FolderTable->CurrentShowFilesNumber).arg(ui->FolderTable->CurrentTotalFilesNumber)+" "+QApplication::translate("MainWindow","files")+" - "+
- QString("%1").arg(ui->FolderTable->CurrentShowFolderNumber)+" "+QApplication::translate("MainWindow","folders")+" - "+
- QApplication::translate("MainWindow","Total size:")+QString("%1/%2").arg(GetTextSize(ui->FolderTable->CurrentShowFolderSize)).arg(GetTextSize(ui->FolderTable->CurrentTotalFolderSize));
- if (ui->FolderTable->CurrentShowDuration!=QTime(0,0,0,0)) ToDisplay=ToDisplay+" - "+QApplication::translate("MainWindow","Total duration:")+ui->FolderTable->CurrentShowDuration.toString("HH:mm:ss");
- ui->FolderInfoLabel->setText(ToDisplay);
- } else {
- ui->HDDSizePgr->setMaximum(0);
- ui->HDDSizePgr->setValue(0);
- ui->HDDSizePgr->setFormat("%P%");
- ui->HDDSizePgr->setAlignment(Qt::AlignHCenter);
- ui->FolderInfoLabel->setText("");
- }
-}
-
-//====================================================================================================================
-
-void MainWindow::DoRefreshSelectedFileInfo() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::DoRefreshSelectedFileInfo");
-
- if (ui->FileInfoLabel->isVisible()) {
- ui->FileInfoLabel->SetupFileInfoLabel(ui->FolderTable->GetCurrentSelectedMediaFile());
- ui->FileInfoLabel->repaint();
- }
- RefreshControls();
-}
-
-//====================================================================================================================
-
-void MainWindow::s_Refresh() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_Refresh");
-
- ui->RefreshBt->setDown(false);
- ui->FolderTree->RefreshDriveList();
- s_currentTreeItemChanged(ui->FolderTree->currentItem(),NULL);
-}
-
-//====================================================================================================================
-
-void MainWindow::s_Config() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_Config");
-
- DlgApplicationSettings Dlg(HELPFILE_DlgApplicationSettings,ApplicationConfig,ApplicationConfig->DlgApplicationSettingsWSP,this);
- Dlg.InitDialog();
- if (Dlg.exec()==0) {
- // Save configuration
- QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
- // Do not change get WindowState for mainwindow except when closing
- //ApplicationConfig->MainWinWSP->SaveWindowState(this);
- //ApplicationConfig->SplitterSizeAndPos=QString(QByteArray(ui->Splitter->saveState()).toHex());
- ApplicationConfig->SaveConfigurationFile();
- QApplication::restoreOverrideCursor();
- ApplicationConfig->ImagesCache.MaxValue=ApplicationConfig->MemCacheMaxValue;
-
- // Refresh all
- s_Refresh();
- s_currentTreeItemChanged(ui->FolderTree->currentItem(),NULL);
- }
-}
-
-//====================================================================================================================
-
-void MainWindow::s_DlgCheckConfig() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_DlgCheckConfig");
- DlgCheckConfig Dlg(HELPFILE_DlgCheckConfig,ApplicationConfig,ApplicationConfig->DlgCheckConfigWSP,this);
- Dlg.InitDialog();
- Dlg.exec();
-
- QString Status;
- if (!Checkffmpeg(Status)) {
- CustomMessageBox(this,QMessageBox::Critical,APPLICATION_NAME,QApplication::translate("MainWindow","Configuration not correct!"));
- close();
- }
-}
-
-//====================================================================================================================
-
-void MainWindow::s_About() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_About");
- ui->Action_About_BT->setDown(false);
- DlgAbout Dlg("",ApplicationConfig,ApplicationConfig->DlgAboutWSP,this);
- Dlg.InitDialog();
- Dlg.exec();
-}
-
-//====================================================================================================================
-
-void MainWindow::s_Documentation() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_Documentation");
- ui->ActionDocumentation_BT->setDown(false);
- QDesktopServices::openUrl(QUrl(QString(HELPFILE_SUPPORT).replace("<local>",ApplicationConfig->GetValideWEBLanguage(ApplicationConfig->CurrentLanguage))));
-}
-
-//====================================================================================================================
-
-void MainWindow::s_NewFunctions() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_NewFunctions");
- ui->ActionNewFunctions_BT->setDown(false);
- QDesktopServices::openUrl(QUrl(QString(HELPFILE_NEWS).replace("<local>",ApplicationConfig->GetValideWEBLanguage(ApplicationConfig->CurrentLanguage))));
-}
-
-//====================================================================================================================
-
-void MainWindow::s_Action_Exit() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_Action_Exit");
- close();
-}
-
-//====================================================================================================================
-
-QAction *MainWindow::CreateMenuAction(QImage *Icon,QString Text,int Data,bool Checkable,bool IsCheck) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::CreateMenuAction");
- QAction *Action;
- if (Icon) Action=new QAction(QIcon(QPixmap().fromImage(*Icon)),Text,this);
- else Action=new QAction(Text,this);
- Action->setIconVisibleInMenu(true);
- Action->setCheckable(Checkable);
- if (Checkable) Action->setChecked(IsCheck);
- Action->setData(QVariant(Data));
- return Action;
-}
-
-QAction *MainWindow::CreateMenuAction(QIcon Icon,QString Text,int Data,bool Checkable,bool IsCheck) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::CreateMenuAction");
- QAction *Action;
- Action=new QAction(Icon,Text,this);
- Action->setIconVisibleInMenu(true);
- Action->setCheckable(Checkable);
- if (Checkable) Action->setChecked(IsCheck);
- Action->setData(QVariant(Data));
- return Action;
-}
-
-//====================================================================================================================
-
-void MainWindow::s_Action_Mode() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_Action_Mode");
-
- // Create menu
- QMenu *ContextMenu=new QMenu(this);
- ContextMenu->addAction(CreateMenuAction(Icon_DISPLAY_DATA, QApplication::translate("MainWindow","Details view"), DISPLAY_DATA, true,ApplicationConfig->CurrentMode==DISPLAY_DATA));
- ContextMenu->addAction(CreateMenuAction(Icon_DISPLAY_WEB, QApplication::translate("MainWindow","Short summary view"),DISPLAY_WEBSHORT,true,ApplicationConfig->CurrentMode==DISPLAY_WEBSHORT));
- ContextMenu->addAction(CreateMenuAction(Icon_DISPLAY_WEB, QApplication::translate("MainWindow","Long summary view"), DISPLAY_WEBLONG, true,ApplicationConfig->CurrentMode==DISPLAY_WEBLONG));
- ContextMenu->addAction(CreateMenuAction(Icon_DISPLAY_JUKEBOX,QApplication::translate("MainWindow","Small icon view"), DISPLAY_ICON48, true,ApplicationConfig->CurrentMode==DISPLAY_ICON48));
- ContextMenu->addAction(CreateMenuAction(Icon_DISPLAY_JUKEBOX,QApplication::translate("MainWindow","Medium icon view"), DISPLAY_ICON100, true,ApplicationConfig->CurrentMode==DISPLAY_ICON100));
- ContextMenu->addAction(CreateMenuAction(Icon_DISPLAY_JUKEBOX,QApplication::translate("MainWindow","Images wall view"), DISPLAY_ICONBIG, true,ApplicationConfig->CurrentMode==DISPLAY_ICONBIG));
-
- // Exec menu
- QAction *Action=ContextMenu->exec(QCursor::pos());
- if ((Action)&&(ApplicationConfig->CurrentMode!=Action->data().toInt())) {
- ApplicationConfig->CurrentMode=Action->data().toInt();
- ui->Action_Mode_BT->setIcon(*GetIconMode());
- ui->FileInfoLabel->setVisible((ApplicationConfig->CurrentMode!=DISPLAY_WEBSHORT)&&(ApplicationConfig->CurrentMode!=DISPLAY_WEBLONG));
- ui->FolderTable->SetMode(ApplicationConfig->CurrentMode,ApplicationConfig->CurrentFilter);
- s_currentTreeItemChanged(ui->FolderTree->currentItem(),NULL);
- }
-
- // delete menu
- while (ContextMenu->actions().count()) delete ContextMenu->actions().takeLast();
- delete ContextMenu;
-
- // set up button
- ui->Action_Mode_BT->setDown(false);
-}
-
-//====================================================================================================================
-
-void MainWindow::s_Action_Filter() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_Action_Filter");
-
- // Create menu
- QMenu *ContextMenu=new QMenu(this);
- ContextMenu->addAction(CreateMenuAction(ApplicationConfig->DefaultFILEIcon.GetIcon(cCustomIcon::ICON16), QApplication::translate("MainWindow","All files"), OBJECTTYPE_UNMANAGED,true,ApplicationConfig->CurrentFilter==OBJECTTYPE_UNMANAGED));
- ContextMenu->addAction(CreateMenuAction(ApplicationConfig->DefaultFILEIcon.GetIcon(cCustomIcon::ICON16), QApplication::translate("MainWindow","Managed files"), OBJECTTYPE_MANAGED, true,ApplicationConfig->CurrentFilter==OBJECTTYPE_MANAGED));
- ContextMenu->addAction(CreateMenuAction(ApplicationConfig->DefaultIMAGEIcon.GetIcon(cCustomIcon::ICON16),QApplication::translate("MainWindow","Image files"), OBJECTTYPE_IMAGEFILE,true,ApplicationConfig->CurrentFilter==OBJECTTYPE_IMAGEFILE));
- ContextMenu->addAction(CreateMenuAction(ApplicationConfig->DefaultVIDEOIcon.GetIcon(cCustomIcon::ICON16),QApplication::translate("MainWindow","Video files"), OBJECTTYPE_VIDEOFILE,true,ApplicationConfig->CurrentFilter==OBJECTTYPE_VIDEOFILE));
- ContextMenu->addAction(CreateMenuAction(ApplicationConfig->DefaultMUSICIcon.GetIcon(cCustomIcon::ICON16),QApplication::translate("MainWindow","Music files"), OBJECTTYPE_MUSICFILE,true,ApplicationConfig->CurrentFilter==OBJECTTYPE_MUSICFILE));
- ContextMenu->addAction(CreateMenuAction(ApplicationConfig->DefaultFFDIcon.GetIcon(cCustomIcon::ICON16), QApplication::translate("MainWindow","ffDiaporama project files"),OBJECTTYPE_FFDFILE, true,ApplicationConfig->CurrentFilter==OBJECTTYPE_FFDFILE));
-
- // Exec menu
- QAction *Action=ContextMenu->exec(QCursor::pos());
- if ((Action)&&(ApplicationConfig->CurrentFilter!=Action->data().toInt())) {
- ApplicationConfig->CurrentFilter=Action->data().toInt();
- ui->Action_Filter_BT->setIcon(*GetIconFilter());
- ui->FolderTable->SetMode(ApplicationConfig->CurrentMode,ApplicationConfig->CurrentFilter);
- s_currentTreeItemChanged(ui->FolderTree->currentItem(),NULL);
- }
-
- // delete menu
- while (ContextMenu->actions().count()) delete ContextMenu->actions().takeLast();
- delete ContextMenu;
-
- // set up button
- ui->Action_Filter_BT->setDown(false);
-}
-
-//====================================================================================================================
-
-void MainWindow::s_Action_OpenFile() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_Action_OpenFile");
-
- ui->PlayBt->setDown(false);
- cBaseMediaFile *Media=ui->FolderTable->GetCurrentMediaFile();
- if (Media) {
- if ((Media->ObjectType==OBJECTTYPE_IMAGEFILE)||(Media->ObjectType==OBJECTTYPE_VIDEOFILE)||(Media->ObjectType==OBJECTTYPE_MUSICFILE)||(Media->ObjectType==OBJECTTYPE_THUMBNAIL)||(Media->ObjectType==OBJECTTYPE_FFDFILE))
- QDesktopServices::openUrl(QUrl().fromLocalFile(Media->FileName));
- else if (Media->ObjectType==OBJECTTYPE_FOLDER) {
- QString Path=ui->FolderTree->GetCurrentFolderPath();
- if (!Path.endsWith(QDir::separator())) Path=Path+QDir::separator();
- Path=Path+Media->ShortName;
- ui->FolderTree->SetSelectItemByPath(Path);
- }
- }
-}
-
-//====================================================================================================================
-
-void MainWindow::s_Action_InfoFile() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_Action_InfoFile");
-
- ui->InfoBt->setDown(false);
- cBaseMediaFile *Media=ui->FolderTable->GetCurrentMediaFile();
- if (Media) {
- if ((Media->ObjectType==OBJECTTYPE_IMAGEFILE)||(Media->ObjectType==OBJECTTYPE_VIDEOFILE)||(Media->ObjectType==OBJECTTYPE_MUSICFILE)||(Media->ObjectType==OBJECTTYPE_THUMBNAIL)||(Media->ObjectType==OBJECTTYPE_FFDFILE)) {
- DlgInfoFile Dlg(Media,HELPFILE_DlgInfoFile,ApplicationConfig,ApplicationConfig->DlgInfoFileWSP,this);
- Dlg.InitDialog();
- Dlg.exec();
- }
- }
-}
-
-//====================================================================================================================
-
-void MainWindow::s_Action_RemoveFile() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_Action_RemoveFile");
-
- QList<cBaseMediaFile*> MediaList=ui->FolderTable->GetCurrentSelectedMediaFile();
- if (MediaList.count()==0) return;
-
- QString FilesToDelete="";
- for (int i=0;i<MediaList.count();i++) FilesToDelete=FilesToDelete+(FilesToDelete!=""?", ":"")+MediaList[i]->ShortName;
-
- if (CustomMessageBox(this,QMessageBox::Question,APPLICATION_NAME,QApplication::translate("MainWindow","Are you sure to remove theses files ?")+"\n"+FilesToDelete,QMessageBox::Yes|QMessageBox::No)==QMessageBox::Yes) {
- for (int i=0;i<MediaList.count();i++) {
- if (QFile(MediaList[i]->FileName).remove()) {
- ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Successfuly remove file (%1)").arg(MediaList[i]->FileName));
- ui->FolderTable->RefreshListFolder();
- } else ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","Failed to remove file (%1)").arg(MediaList[i]->FileName));
- }
- }
-
-}
-
-//====================================================================================================================
-
-void MainWindow::s_Action_RemoveFolder() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_Action_RemoveFolder");
-
- QString FolderPath=ui->FolderTree->GetFolderPath(ui->FolderTree->currentItem(),false);
- #ifdef Q_OS_LINUX
- if (FolderPath.startsWith("~")) FolderPath=QDir::homePath()+FolderPath.mid(1);
- #endif
-
- QString NewFolderPath=ui->FolderTree->GetFolderPath(ui->FolderTree->currentItem(),true);
- if (NewFolderPath.lastIndexOf(QDir::separator())!=-1) NewFolderPath=NewFolderPath.left(NewFolderPath.lastIndexOf(QDir::separator()));
-
- if (CustomMessageBox(this,QMessageBox::Question,APPLICATION_NAME,QApplication::translate("MainWindow","Are you sure to remove this folder ?")+"\n"+FolderPath,QMessageBox::Yes|QMessageBox::No)==QMessageBox::Yes) {
- ui->FolderTable->EnsureThreadIsStopped();
- QFutureWatcher<void> ThreadRemove;
- ThreadRemove.setFuture(QtConcurrent::run(this,&MainWindow::DoDirectJob_RemoveFolder,FolderPath));
- ThreadRemove.waitForFinished();
- ui->FolderTree->SetSelectItemByPath(NewFolderPath);
- }
-}
-
-//====================================================================================================================
-
-bool MainWindow::DoDirectJob_RemoveFolder(QString FolderPath) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::DoDirectJob_RemoveFolder");
-
- QDir Folder(FolderPath);
- QFileInfoList Dirs=Folder.entryInfoList(QDir::Dirs|QDir::AllDirs|QDir::Hidden);
-
- foreach(QFileInfo Dir,Dirs)
- if ((Dir.isDir())&&(Dir.absoluteFilePath()!=FolderPath)&&(Dir.fileName()!=".")&&(Dir.fileName()!=".."))
- if (!DoDirectJob_RemoveFolder(Dir.absoluteFilePath())) return false;
-
- QFileInfoList Files=Folder.entryInfoList(QDir::Dirs|QDir::AllEntries|QDir::Hidden);
- foreach(QFileInfo File,Files) if (!File.isDir()) if (!QFile(File.absoluteFilePath()).remove()) {
- ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","Impossible to remove file %1 - error %2:%3").arg(File.fileName()).arg(errno).arg(QString().fromLocal8Bit(strerror(errno))));
- return false;
- }
-
- if (!QDir().rmdir(FolderPath)) {
- ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","Impossible to remove folder %1 - error %2:%3").arg(FolderPath).arg(errno).arg(QString().fromLocal8Bit(strerror(errno))));
- return false;
- } else {
- PostEvent(EVENT_FolderChanged,FolderPath);
- ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Successfully remove folder (and all is content) %1").arg(FolderPath));
- return true;
- }
-}
-
-//====================================================================================================================
-
-void MainWindow::s_itemDoubleClicked(QMouseEvent *) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_itemDoubleClicked");
- s_Action_OpenFile();
-}
-
-//====================================================================================================================
-
-void MainWindow::s_itemRightClicked(QMouseEvent *) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_itemRightClicked");
- s_Action_WizardOnFile();
-}
-
-//====================================================================================================================
-
-void MainWindow::s_Action_WizardOnFile() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::s_Action_WizardOnFile");
-
- QList<cBaseMediaFile*> MediaList=ui->FolderTable->GetCurrentSelectedMediaFile();
- if (MediaList.count()==0) {
- ui->WizardBt->setDown(false);
- return;
- }
-
- JobQueue.MediaList=ui->FolderTable->MediaList;
-
- bool Multiple=(MediaList.count()>1);
- bool IsFind;
-
- // Do qualification of files
- QStringList FileExtensions;
- QList<int> ObjectTypes;
-
- for (int i=0;i<MediaList.count();i++) {
- IsFind=false; for (int j=0;j<ObjectTypes.count();j++) if (MediaList[i]->ObjectType==ObjectTypes[j]) IsFind=true; if (!IsFind) ObjectTypes.append(MediaList[i]->ObjectType);
- IsFind=false; for (int j=0;j<FileExtensions.count();j++) if (MediaList[i]->FileExtension==FileExtensions[j]) IsFind=true; if (!IsFind) FileExtensions.append(MediaList[i]->FileExtension);
- }
-
- if (ObjectTypes.count()==1) {
-
- // Create menu
- QMenu *ContextMenu=new QMenu(this);
- if (!Multiple) ContextMenu->addAction(CreateMenuAction(QIcon(":/img/Action_Open.png"), JobQueue.JobTypeText[JOBTYPE_OPENFILE],JOBTYPE_OPENFILE, false,false));
- if ((!Multiple)&&(ObjectTypes[0]!=OBJECTTYPE_FOLDER)) ContextMenu->addAction(CreateMenuAction(QIcon(":/img/Action_Info.png"), JobQueue.JobTypeText[JOBTYPE_DISPLAYINFO],JOBTYPE_DISPLAYINFO, false,false));
- if (ObjectTypes[0]!=OBJECTTYPE_FOLDER) ContextMenu->addAction(CreateMenuAction(QIcon(":/img/trash.png"), JobQueue.JobTypeText[JOBTYPE_REMOVEFILE],JOBTYPE_REMOVEFILE, false,false));
- //ContextMenu->addSeparator();
- switch (ObjectTypes[0]) {
- case OBJECTTYPE_MUSICFILE :
- ContextMenu->addAction(CreateMenuAction(QIcon(":/img/ConvertAudio.png"),JobQueue.JobTypeText[JOBTYPE_AUDIO_CONVERTAUDIO],JOBTYPE_AUDIO_CONVERTAUDIO,false,false));
- //ContextMenu->addAction(CreateMenuAction(NULL,QApplication::translate("MainWindow","Convert for ffDiaporama"), JOBTYPE_FFMPEGCONVERT_AUDIOFFD, false,false));
- //ContextMenu->addAction(CreateMenuAction(NULL,QApplication::translate("MainWindow","Extract cover"), JOBTYPE_THUMBNAIL_EXTRACTCOVER, false,false));
- //ContextMenu->addAction(CreateMenuAction(NULL,QApplication::translate("MainWindow","Edit properties"), JOBTYPE_TAG_AUDIO, false,false));
- break;
- case OBJECTTYPE_VIDEOFILE :
- ContextMenu->addAction(CreateMenuAction(QIcon(":/img/ConvertVideo.png"),JobQueue.JobTypeText[JOBTYPE_VIDEO_CONVERTVIDEO],JOBTYPE_VIDEO_CONVERTVIDEO,false,false));
- //ContextMenu->addAction(CreateMenuAction(NULL,QApplication::translate("MainWindow","Convert for ffDiaporama"), JOBTYPE_FFMPEGCONVERT_VIDEOFFD, false,false));
- //ContextMenu->addAction(CreateMenuAction(NULL,QApplication::translate("MainWindow","Extract audio track"), JOBTYPE_FFMPEGEXTRACT_AUDIO, false,false));
- //ContextMenu->addAction(CreateMenuAction(NULL,QApplication::translate("MainWindow","Extract a subtitle"), JOBTYPE_FFMPEGEXTRACT_SUBTITLES, false,false));
- //ContextMenu->addAction(CreateMenuAction(NULL,QApplication::translate("MainWindow","Extract a chapter"), JOBTYPE_FFMPEGEXTRACT_CHAPTER, false,false));
- //ContextMenu->addAction(CreateMenuAction(NULL,QApplication::translate("MainWindow","Extract all chapters"), JOBTYPE_FFMPEGEXTRACT_ALLCHAPTERS, false,false));
- //ContextMenu->addAction(CreateMenuAction(NULL,QApplication::translate("MainWindow","Edit properties"), JOBTYPE_TAG_VIDEO, false,false));
- break;
- case OBJECTTYPE_IMAGEFILE :
- ContextMenu->addAction(CreateMenuAction(QIcon(":/img/ConvertImg.png"),JobQueue.JobTypeText[JOBTYPE_IMAGE_CONVERTIMAGE],JOBTYPE_IMAGE_CONVERTIMAGE,false,false));
- break;
- case OBJECTTYPE_FFDFILE :
- //ContextMenu->addAction(CreateMenuAction(NULL,QApplication::translate("MainWindow","Render project"), JOBTYPE_FFDIAPORAMA_RENDER, false,false));
- //ContextMenu->addAction(CreateMenuAction(NULL,QApplication::translate("MainWindow","Archive project"), JOBTYPE_FFDIAPORAMA_ARCHIVE, false,false));
- //ContextMenu->addAction(CreateMenuAction(NULL,QApplication::translate("MainWindow","Edit properties"), JOBTYPE_TAG_FFD, false,false));
- break;
- case OBJECTTYPE_FOLDER :
- //ContextMenu->addAction(CreateMenuAction(NULL,QApplication::translate("MainWindow","Create an album playlist"), JOBTYPE_PLAYLIST_CREATEALBUM, false,false));
- //ContextMenu->addAction(CreateMenuAction(NULL,QApplication::translate("MainWindow","Create an artist playlist"), JOBTYPE_PLAYLIST_CREATEARTIST, false,false));
- //ContextMenu->addAction(CreateMenuAction(NULL,QApplication::translate("MainWindow","Create an album folder thumbnail"), JOBTYPE_THUMBNAIL_CREATEALBUM, false,false));
- //ContextMenu->addAction(CreateMenuAction(NULL,QApplication::translate("MainWindow","Create an artist folder thumbnail"), JOBTYPE_THUMBNAIL_CREATEARTIST, false,false));
- break;
- }
-
- // Exec menu
- QAction *Action=ContextMenu->exec(QCursor::pos());
- if (Action) {
- int ActionType=Action->data().toInt();
- switch (ActionType) {
- case JOBTYPE_OPENFILE : s_Action_OpenFile(); break;
- case JOBTYPE_DISPLAYINFO : s_Action_InfoFile(); break;
- case JOBTYPE_REMOVEFILE : s_Action_RemoveFile(); break;
- case JOBTYPE_IMAGE_CONVERTIMAGE : DoAddJob_Convert(&MediaList,JOBTYPE_IMAGE_CONVERTIMAGE); break;
- case JOBTYPE_AUDIO_CONVERTAUDIO : DoAddJob_Convert(&MediaList,JOBTYPE_AUDIO_CONVERTAUDIO); break;
- case JOBTYPE_VIDEO_CONVERTVIDEO : DoAddJob_Convert(&MediaList,JOBTYPE_VIDEO_CONVERTVIDEO); break;
- }
- }
-
- // delete menu
- while (ContextMenu->actions().count()) delete ContextMenu->actions().takeLast();
- delete ContextMenu;
- }
- ui->WizardBt->setDown(false);
-}
-
-//====================================================================================================================
-
-void MainWindow::DoAddJob_Convert(QList<cBaseMediaFile*>*MediaList,int JobType) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:MainWindow::DoAddJob_Convert");
-
- cJob *Job=new cJob();
- Job->JobType =JobType;
- Job->JobQualif =PossibleJobsSettings[Job->JobType];
- Job->JobSettings =ApplicationConfig->JobDefault[Job->JobType];
- Job->SourceSuffix =ApplicationConfig->DefaultSourceSuffix[Job->JobType];
- Job->SourceFolder =ApplicationConfig->DefaultSourceFolder;
- Job->DestinationSuffix =ApplicationConfig->DefaultDestinationSuffix[Job->JobType];
- Job->DestinationFolder =ApplicationConfig->DefaultDestinationFolder;
- Job->DateTime =QDateTime::currentDateTime();
- Job->DestinationExtension =ApplicationConfig->DefaultOptions[Job->JobType].split(";")[0];
- Job->Command =ApplicationConfig->DefaultOptions[Job->JobType].split(";")[1];
- for (int i=0;i<MediaList->count();i++) Job->SourcesAndDests.append(((cBaseMediaFile *)MediaList->at(i))->FileName);
-
- DlgJobSettings Dlg(Job,&JobQueue,QString(HELPFILE_DlgJob).arg(JobHelpPage[JobType]),ApplicationConfig,ApplicationConfig->DlgJobSettingsWSP,this);
- Dlg.InitDialog();
- int Ret=Dlg.exec();
- ui->FolderTree->RefreshItemByPath(ui->FolderTree->GetFolderPath(ui->FolderTree->currentItem(),true),false);
- if (Ret==0) {
- // Keep options as default options for next time we use it
- ApplicationConfig->DefaultOptions[Job->JobType] =Job->DestinationExtension+";"+Job->Command;
- ApplicationConfig->JobDefault[Job->JobType] =Job->JobSettings;
- ApplicationConfig->DefaultSourceSuffix[Job->JobType] =Job->SourceSuffix;
- ApplicationConfig->DefaultSourceFolder =Job->SourceFolder;
- ApplicationConfig->DefaultDestinationSuffix[Job->JobType] =Job->DestinationSuffix;
- ApplicationConfig->DefaultDestinationFolder =Job->DestinationFolder;
- // Add job to queue
- JobQueue.List.append(Job);
- ui->JobTable->DoRefreshList();
- } else delete Job;
-}
diff --git a/src/ffDiaporamaMMFiler/mainwindow.h b/src/ffDiaporamaMMFiler/mainwindow.h
deleted file mode 100755
index bf6b181..0000000
--- a/src/ffDiaporamaMMFiler/mainwindow.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef MAINWINDOW_H
-#define MAINWINDOW_H
-
-#include <QAction>
-#include <QWidget>
-#include <QTreeWidgetItem>
-#include <QTableWidgetItem>
-#include <QString>
-#include <QStringList>
-#include <QMainWindow>
-#include <QFutureWatcher>
-
-#include "../sharedfiles/cBaseApplicationConfig.h"
-#include "../sharedfiles/cDriveList.h"
-#include "../sharedfiles/QCustomFolderTree.h"
-#include "../sharedfiles/QCustomFolderTable.h"
-
-#include "cApplicationConfig.h"
-
-namespace Ui {
- class MainWindow;
-}
-
-//**************************************
-
-class MainWindow : public QMainWindow {
-Q_OBJECT
-public:
- cApplicationConfig *ApplicationConfig;
- cDriveList *DriveList;
- bool IsFirstInitDone;
- cJobQueue JobQueue;
- QTimer Timer;
- QFutureWatcher<void> Thread;
- int CurrentJobThread;
-
- explicit MainWindow(QWidget *parent = 0);
- ~MainWindow();
- void InitWindow(QString ForceLanguage,QApplication *App);
- void RefreshControls();
-
-protected:
- virtual void resizeEvent(QResizeEvent *);
- virtual void showEvent(QShowEvent *);
- virtual void closeEvent(QCloseEvent *);
- virtual void customEvent(QEvent *);
-
-private slots:
-
- void DoMaximized(); // Use on init to force window maximized
- void DoRefreshFolderInfo();
-
- void s_TimerEvent();
- void ThreadJob();
-
- void s_currentTreeItemChanged(QTreeWidgetItem *current,QTreeWidgetItem *);
- void DoRefreshSelectedFileInfo();
-
- void s_DlgCheckConfig();
- void s_Refresh();
- void s_Action_OpenFile();
- void s_Action_InfoFile();
- void s_Action_RemoveFile();
- void s_Action_RemoveFolder();
- void s_Action_WizardOnFile();
- void s_itemDoubleClicked(QMouseEvent *ev); // do a s_Action_OpenFile
- void s_itemRightClicked(QMouseEvent *ev); // do a s_Action_WizardOnFile
-
- void s_Config();
- void s_Action_Exit();
-
- void s_Action_Mode();
- void s_Action_Filter();
-
- // Help menu
- void s_About();
- void s_Documentation();
- void s_NewFunctions();
-
- // Actions
- bool DoDirectJob_RemoveFolder(QString FolderPath);
- void DoAddJob_Convert(QList<cBaseMediaFile*>*MediaList,int JobType);
-
-private:
- QAction *CreateMenuAction(QImage *Icon,QString Text,int Data,bool Checkable,bool IsCheck);
- QAction *CreateMenuAction(QIcon Icon,QString Text,int Data,bool Checkable,bool IsCheck);
- QIcon *GetIconMode();
- QIcon *GetIconFilter();
-
- Ui::MainWindow *ui;
-};
-
-#endif // MAINWINDOW_H
diff --git a/src/ffDiaporamaMMFiler/mainwindow.ui b/src/ffDiaporamaMMFiler/mainwindow.ui
deleted file mode 100755
index 249310f..0000000
--- a/src/ffDiaporamaMMFiler/mainwindow.ui
+++ /dev/null
@@ -1,1196 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>MainWindow</class>
- <widget class="QMainWindow" name="MainWindow">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>634</width>
- <height>461</height>
- </rect>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- </font>
- </property>
- <property name="windowTitle">
- <string notr="true">ffDiaporamaMMFiler</string>
- </property>
- <property name="windowIcon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/application-ffDiaporamaMMFiler.png</normaloff>:/application-ffDiaporamaMMFiler.png</iconset>
- </property>
- <widget class="QWidget" name="centralWidget">
- <layout class="QVBoxLayout" name="verticalLayout_4">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QTabWidget" name="ToolBoxNormal">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>90</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>90</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- <weight>50</weight>
- <bold>false</bold>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">QToolButton {
- background-color: transparent;
- border: none;
-}
-QToolButton:hover{
- border: 2px solid #8f8f91;
- border-radius: 6px;
- background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
- stop: 0 #f6f7fa, stop: 1 #dadbde);
-}
-QToolButton:pressed {
- border: 2px solid #8f8f91;
- border-radius: 6px;
- background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
- stop: 0 #f6f7fa, stop: 1 #dadbde);
- }
-</string>
- </property>
- <property name="tabShape">
- <enum>QTabWidget::Rounded</enum>
- </property>
- <property name="currentIndex">
- <number>0</number>
- </property>
- <widget class="QWidget" name="TabFile">
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>8</pointsize>
- </font>
- </property>
- <attribute name="title">
- <string>File</string>
- </attribute>
- <layout class="QHBoxLayout" name="horizontalLayout_4">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QToolButton" name="RefreshBt">
- <property name="minimumSize">
- <size>
- <width>64</width>
- <height>58</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Refresh tree and folder table</string>
- </property>
- <property name="text">
- <string>Refresh</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/Refresh.png</normaloff>:/img/Refresh.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="shortcut">
- <string>F5</string>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonTextUnderIcon</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_3">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="PlayBt">
- <property name="minimumSize">
- <size>
- <width>64</width>
- <height>58</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Open file with default application defined on computer</string>
- </property>
- <property name="text">
- <string>Open
-File</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/Action_Open.png</normaloff>:/img/Action_Open.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="shortcut">
- <string>Return</string>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonTextUnderIcon</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="InfoBt">
- <property name="minimumSize">
- <size>
- <width>64</width>
- <height>58</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Display detailled information on file</string>
- </property>
- <property name="text">
- <string>Display
-Information</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/Action_Info.png</normaloff>:/img/Action_Info.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonTextUnderIcon</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="RemoveBt">
- <property name="minimumSize">
- <size>
- <width>64</width>
- <height>58</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Remove file from the disk</string>
- </property>
- <property name="text">
- <string>Remove
-File</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/trash.png</normaloff>:/img/trash.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="shortcut">
- <string>Del</string>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonTextUnderIcon</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="WizardBt">
- <property name="minimumSize">
- <size>
- <width>64</width>
- <height>58</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Open contextual action menu</string>
- </property>
- <property name="text">
- <string>Action</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/Action_Wizard.png</normaloff>:/img/Action_Wizard.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonTextUnderIcon</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="Line" name="line_2">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="ActionConfiguration_BT">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>56</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>64</width>
- <height>58</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Change application and project settings</string>
- </property>
- <property name="text">
- <string>Settings</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/config.png</normaloff>:/img/config.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonTextUnderIcon</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="Action_Exit_BT">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>56</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>64</width>
- <height>58</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Exit application (Ctrl+W)</string>
- </property>
- <property name="text">
- <string>Exit</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/exit.png</normaloff>:/img/exit.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="shortcut">
- <string>Ctrl+W</string>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonTextUnderIcon</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="Action_Mode_BT">
- <property name="minimumSize">
- <size>
- <width>64</width>
- <height>58</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Select display mode</string>
- </property>
- <property name="text">
- <string>Mode</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/DISPLAY_DATA.png</normaloff>:/img/DISPLAY_DATA.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonTextUnderIcon</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="Action_Filter_BT">
- <property name="minimumSize">
- <size>
- <width>64</width>
- <height>58</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Select file filter</string>
- </property>
- <property name="text">
- <string>Filter</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/filenew.png</normaloff>:/img/filenew.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonTextUnderIcon</enum>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="TabHelp">
- <attribute name="title">
- <string>Help</string>
- </attribute>
- <layout class="QHBoxLayout" name="horizontalLayout_6">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QToolButton" name="Action_About_BT">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>64</width>
- <height>58</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>56</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Display informations about ffDiaporama</string>
- </property>
- <property name="text">
- <string>About</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/application-ffDiaporamaMMFiler.png</normaloff>:/application-ffDiaporamaMMFiler.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonTextUnderIcon</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="ActionDocumentation_BT">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>64</width>
- <height>58</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>56</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Call ffDiaporama WIKI</string>
- </property>
- <property name="text">
- <string>Support
-and help</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="shortcut">
- <string>F1</string>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonTextUnderIcon</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="ActionNewFunctions_BT">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>64</width>
- <height>58</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>56</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Display blog/news page from internet WEB site</string>
- </property>
- <property name="text">
- <string>What's new</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/contents.png</normaloff>:/img/contents.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonTextUnderIcon</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_4">
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- <item>
- <widget class="QSplitter" name="SplitterV">
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="handleWidth">
- <number>6</number>
- </property>
- <widget class="QWidget" name="BrowserWidget" native="true">
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QCustomHorizSplitter" name="SplitterH">
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="handleWidth">
- <number>8</number>
- </property>
- <widget class="QCustomFolderTree" name="FolderTree">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="verticalScrollBarPolicy">
- <enum>Qt::ScrollBarAlwaysOn</enum>
- </property>
- <property name="horizontalScrollBarPolicy">
- <enum>Qt::ScrollBarAlwaysOn</enum>
- </property>
- <property name="editTriggers">
- <set>QAbstractItemView::NoEditTriggers</set>
- </property>
- <property name="showDropIndicator" stdset="0">
- <bool>false</bool>
- </property>
- <property name="selectionBehavior">
- <enum>QAbstractItemView::SelectItems</enum>
- </property>
- <property name="textElideMode">
- <enum>Qt::ElideNone</enum>
- </property>
- <property name="horizontalScrollMode">
- <enum>QAbstractItemView::ScrollPerPixel</enum>
- </property>
- <property name="indentation">
- <number>15</number>
- </property>
- <property name="uniformRowHeights">
- <bool>true</bool>
- </property>
- <property name="itemsExpandable">
- <bool>true</bool>
- </property>
- <property name="animated">
- <bool>false</bool>
- </property>
- <property name="expandsOnDoubleClick">
- <bool>true</bool>
- </property>
- <attribute name="headerVisible">
- <bool>false</bool>
- </attribute>
- <column>
- <property name="text">
- <string notr="true">1</string>
- </property>
- </column>
- </widget>
- <widget class="QWidget" name="FolderWdgt" native="true">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_2">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QWidget" name="FolderInfomationWdgt" native="true">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>50</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>50</height>
- </size>
- </property>
- <layout class="QGridLayout" name="gridLayout_2">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>2</number>
- </property>
- <item row="0" column="0" rowspan="2">
- <widget class="QLabel" name="FolderIcon">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>48</width>
- <height>48</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>48</width>
- <height>48</height>
- </size>
- </property>
- <property name="text">
- <string notr="true">Icon</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QLineEdit" name="CurrentPathED">
- <property name="readOnly">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QWidget" name="FolderStatusBar" native="true">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <layout class="QHBoxLayout" name="horizontalLayout_3">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="FolderInfoLabel">
- <property name="text">
- <string notr="true">Files information</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>98</width>
- <height>13</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QProgressBar" name="HDDSizePgr">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>150</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>150</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="value">
- <number>24</number>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="format">
- <string notr="true">%p%</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QCustomFolderTable" name="FolderTable">
- <property name="editTriggers">
- <set>QAbstractItemView::NoEditTriggers</set>
- </property>
- <property name="showDropIndicator" stdset="0">
- <bool>false</bool>
- </property>
- <property name="iconSize">
- <size>
- <width>16</width>
- <height>16</height>
- </size>
- </property>
- <property name="showGrid">
- <bool>false</bool>
- </property>
- <property name="cornerButtonEnabled">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCustomFileInfoLabel" name="FileInfoLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>50</height>
- </size>
- </property>
- <property name="text">
- <string notr="true">File Information</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="JobQueueWidget" native="true">
- <layout class="QVBoxLayout" name="verticalLayout_3">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QFrame" name="frame">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>26</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>26</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="styleSheet">
- <string notr="true">QToolButton {
- background-color: transparent;
- border: none;
-}
-QToolButton:hover{
- border: 2px solid #8f8f91;
- border-radius: 1px;
- background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
- stop: 0 #f6f7fa, stop: 1 #dadbde);
-}
-QToolButton:pressed {
- border: 2px solid #8f8f91;
- border-radius: 6px;
- background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
- stop: 0 #f6f7fa, stop: 1 #dadbde);
- }
-</string>
- </property>
- <property name="frameShape">
- <enum>QFrame::Panel</enum>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <layout class="QHBoxLayout" name="ShotToolBox">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>1</number>
- </property>
- <item>
- <widget class="QToolButton" name="AddShot">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>7</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Stop current job</string>
- </property>
- <property name="text">
- <string notr="true">JobStatusBt</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="RemoveShot">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>7</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Up job in the list</string>
- </property>
- <property name="text">
- <string notr="true">JobUpBt</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/arrow_up.png</normaloff>:/img/arrow_up.png</iconset>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="RemoveShot_2">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>24</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>7</pointsize>
- </font>
- </property>
- <property name="toolTip">
- <string>Down job in the list</string>
- </property>
- <property name="text">
- <string notr="true">JobDownBt</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/arrow_down.png</normaloff>:/img/arrow_down.png</iconset>
- </property>
- <property name="toolButtonStyle">
- <enum>Qt::ToolButtonIconOnly</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_2">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="frameShadow">
- <enum>QFrame::Raised</enum>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QSplitter" name="splitter">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <widget class="QCustomJobTable" name="JobTable">
- <property name="editTriggers">
- <set>QAbstractItemView::NoEditTriggers</set>
- </property>
- <property name="selectionMode">
- <enum>QAbstractItemView::SingleSelection</enum>
- </property>
- <property name="selectionBehavior">
- <enum>QAbstractItemView::SelectRows</enum>
- </property>
- </widget>
- <widget class="QListWidget" name="JobLog"/>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <customwidgets>
- <customwidget>
- <class>QCustomFolderTree</class>
- <extends>QTreeWidget</extends>
- <header>../sharedfiles/QCustomFolderTree.h</header>
- </customwidget>
- <customwidget>
- <class>QCustomFolderTable</class>
- <extends>QTableWidget</extends>
- <header>../sharedfiles/QCustomFolderTable.h</header>
- </customwidget>
- <customwidget>
- <class>QCustomHorizSplitter</class>
- <extends>QSplitter</extends>
- <header>../sharedfiles/QCustomHorizSplitter.h</header>
- <container>1</container>
- </customwidget>
- <customwidget>
- <class>QCustomFileInfoLabel</class>
- <extends>QLabel</extends>
- <header>../sharedfiles/QCustomFileInfoLabel.h</header>
- </customwidget>
- <customwidget>
- <class>QCustomJobTable</class>
- <extends>QTableWidget</extends>
- <header>QCustomJobTable.h</header>
- </customwidget>
- </customwidgets>
- <resources>
- <include location="../../RSCffDiaporama.qrc"/>
- <include location="../../RSCffDiaporama.qrc"/>
- </resources>
- <connections/>
-</ui>
diff --git a/src/ffDiaporamaMMFiler/wgt_JobBase.cpp b/src/ffDiaporamaMMFiler/wgt_JobBase.cpp
deleted file mode 100755
index fa8febc..0000000
--- a/src/ffDiaporamaMMFiler/wgt_JobBase.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "wgt_JobBase.h"
-
-//====================================================================================================================
-
-wgt_JobBase::wgt_JobBase(QCustomDialog *Dialog,QWidget *parent):QWidget(parent) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobBase::wgt_JobBase");
-
- this->Dialog=Dialog;
-}
-
diff --git a/src/ffDiaporamaMMFiler/wgt_JobBase.h b/src/ffDiaporamaMMFiler/wgt_JobBase.h
deleted file mode 100755
index bfe513a..0000000
--- a/src/ffDiaporamaMMFiler/wgt_JobBase.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef WGT_JOBBASE_H
-#define WGT_JOBBASE_H
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-#include "../sharedfiles/_QCustomDialog.h"
-#include <QWidget>
-#include "cJobQueue.h"
-
-class wgt_JobBase : public QWidget {
-Q_OBJECT
-public:
- QCustomDialog *Dialog;
- cJob *Job;
-
- explicit wgt_JobBase(QCustomDialog *Dialog,QWidget *parent = 0);
-
- virtual void DoInitDialog()=0;
- virtual void RefreshControls()=0;
- virtual void AppendJobSummary(int index,QString *JobSummary,cJobQueue *JobQueue)=0;
- virtual QString ComputeDestSuffix(cBaseMediaFile *) {return "";}
-
-signals:
- void NeedRefreshControls();
-};
-
-#endif // WGT_JOBBASE_H
diff --git a/src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp b/src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp
deleted file mode 100755
index a996b30..0000000
--- a/src/ffDiaporamaMMFiler/wgt_JobConvertAudio.cpp
+++ /dev/null
@@ -1,285 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "wgt_JobConvertAudio.h"
-#include "ui_wgt_JobConvertAudio.h"
-#include "../sharedfiles/cBaseMediaFile.h"
-#include "../sharedfiles/cDeviceModelDef.h"
-
-//====================================================================================================================
-
-wgt_JobConvertAudio::wgt_JobConvertAudio(QCustomDialog *Dialog,QWidget *parent):wgt_JobBase(Dialog,parent),ui(new Ui::wgt_JobConvertAudio) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertAudio::DoInitDialog");
-
- StopRefreshCB=false;
- ui->setupUi(this);
-}
-
-//====================================================================================================================
-
-wgt_JobConvertAudio::~wgt_JobConvertAudio() {
- delete ui;
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertAudio::DoInitDialog() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertAudio::DoInitDialog");
-
- // Start init by mono and stereo CB
- ui->ForceToMonoCB->setChecked(Job->IsCommandListContain("-C1"));
- ui->ForceToStereoCB->setChecked(Job->IsCommandListContain("-C2"));
-
- // Init format container combo
- for (int i=0;i<NBR_AUDIOFORMATDEF;i++) if (AUDIOFORMATDEF[i].IsFind) ui->AudioFormatCB->addItem(AUDIOFORMATDEF[i].LongName,QVariant(i));
- connect(ui->AudioFormatCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_AudioFormatCB(int)));
- connect(ui->AudioBitRateCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_AudioBitRateCB(int)));
- connect(ui->ChAudioFreqCB,SIGNAL(released()),this,SLOT(s_ChAudioFreqCB()));
- connect(ui->AudioFreqCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_AudioFreqCB(int)));
- connect(ui->ForceToMonoCB,SIGNAL(released()),this,SLOT(s_ForceToMonoCB()));
- connect(ui->ForceToStereoCB,SIGNAL(released()),this,SLOT(s_ForceToStereoCB()));
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertAudio::RefreshControls() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertAudio::RefreshControls");
-
- bool IsFind=false;
- for (int i=0;i<NBR_AUDIOFORMATDEF;i++) if (Job->DestinationExtension==AUDIOFORMATDEF[i].FileExtension) {
- ui->AudioFormatCB->setCurrentIndex(ui->AudioFormatCB->findText(AUDIOFORMATDEF[i].LongName));
- IsFind=true;
- }
- if (!IsFind) ui->AudioFormatCB->setCurrentIndex(0);
-
- int CurrentCodec=ui->AudioFormatCB->currentIndex();
- if (CurrentCodec>=0) {
- bool IsFind=false;
- Job->DestinationExtension=AUDIOFORMATDEF[ui->AudioFormatCB->itemData(CurrentCodec).toInt()].FileExtension;
- QStringList AudioCodecs=QString(AUDIOFORMATDEF[ui->AudioFormatCB->itemData(CurrentCodec).toInt()].PossibleAudioCodec).split("#");
- CurrentCodec=0;
- while ((!IsFind)&&(CurrentCodec<NBR_AUDIOCODECDEF)&&(!AudioCodecs.contains(AUDIOCODECDEF[CurrentCodec].ShortName))) CurrentCodec++;
- }
-
- if (CurrentCodec<NBR_AUDIOCODECDEF) {
-
- // If this format need bitrate but no bitrate is in command list then add default
- if ((ui->AudioBitRateCB->isEnabled())&&(!Job->IsCommandListContain("-AB"))) {
- Job->Command=(Job->Command!=""?Job->Command+"##":"")+"-AB:"+AUDIOCODECDEF[CurrentCodec].Default;
- }
-
- // Try to set bitrate
- if ((ui->AudioBitRateCB->isEnabled())&&(Job->IsCommandListContain("-AB"))) {
- ui->AudioBitRateCB->setCurrentIndex(ui->AudioBitRateCB->findText(Job->CommandListValueString("-AB")));
- //if failed, switch to default value
- if (ui->AudioBitRateCB->currentIndex()<0) ui->AudioBitRateCB->setCurrentIndex(ui->AudioBitRateCB->findText(AUDIOCODECDEF[CurrentCodec].Default));
-
- // If this format not allow bitrate but a bitrate is in command list then remove it
- } else if ((!ui->AudioBitRateCB->isEnabled())&&(Job->IsCommandListContain("-AB"))) {
- QStringList CommandList=Job->Command.split("##");
- Job->Command="";
- int i=0;
- while (i<CommandList.count()) if (CommandList[i].startsWith("-AB")) CommandList.removeAt(i); else i++;
- for (int i=0;i<CommandList.count();i++) Job->Command=(Job->Command!=""?Job->Command+"##":"")+CommandList[i];
- }
-
- // Set frequency (if selected)
- if (Job->IsCommandListContain("-AR")) {
- ui->ChAudioFreqCB->setChecked(true);
- ui->AudioFreqCB->setEnabled(true);
- ui->AudioFreqCB->setCurrentIndex(ui->AudioFreqCB->findText(Job->CommandListValueString("-AR")));
- } else {
- ui->ChAudioFreqCB->setChecked(false);
- ui->AudioFreqCB->setEnabled(false);
- }
- }
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertAudio::AppendJobSummary(int index,QString *JobSummary,cJobQueue *JobQueue) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertAudio::AppendJobSummary");
-
- QString SourceFile=Job->SourcesAndDests[index];
- cBaseMediaFile *MediaFile=NULL;
-
- // Search MediaFile in list
- for (int i=0;i<JobQueue->MediaList.count();i++) if (((cBaseMediaFile *)JobQueue->MediaList.at(i))->FileName==SourceFile) {
- MediaFile=JobQueue->MediaList.at(i);
- break;
- }
-
- if ((MediaFile!=NULL)&&(Job->IsCommandListContain("-ACO"))) {
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set codec to %1")).arg(AUDIOCODECDEF[Job->CommandListValue("-ACO")].ShortName);
- if (Job->IsCommandListContain("-AB")) *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set audio compression to %1")).arg(Job->CommandListValueString("-AB"));
- if (Job->IsCommandListContain("-AR")) *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and force audio frequency to %1")).arg(Job->CommandListValueString("-AR").left(Job->CommandListValueString("-AR").indexOf(" ")));
- if (Job->IsCommandListContain("-ACH")) *JobSummary=*JobSummary+"\n "+(Job->CommandListValue("-ACH")==1?QString(QApplication::translate("QCustomJobTable","and force to mono")):QString(QApplication::translate("QCustomJobTable","and force to stereo")));
- *JobSummary=*JobSummary+"\n "+JobQueue->ComputeFFMPEGCommand(Job);
- }
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertAudio::s_AudioFormatCB(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertAudio::s_AudioFormatCB");
-
- StopRefreshCB=true;
-
- // Prepare CommandList
- int i=0;
- QStringList CommandList=Job->Command.split("##");
- Job->Command="";
- while (i<CommandList.count()) if (CommandList[i].startsWith("-ACO")) CommandList.removeAt(i); else i++;
-
- // Fill combo box
- ui->AudioBitRateCB->clear();
- int CurrentCodec=ui->AudioFormatCB->currentIndex();
- if (CurrentCodec>=0) {
- bool IsFind=false;
- Job->DestinationExtension=AUDIOFORMATDEF[ui->AudioFormatCB->itemData(CurrentCodec).toInt()].FileExtension;
- QStringList AudioCodecs=QString(AUDIOFORMATDEF[ui->AudioFormatCB->itemData(CurrentCodec).toInt()].PossibleAudioCodec).split("#");
- CurrentCodec=0;
- while ((!IsFind)&&(CurrentCodec<NBR_AUDIOCODECDEF)&&(!AudioCodecs.contains(AUDIOCODECDEF[CurrentCodec].ShortName))) CurrentCodec++;
- }
- if (CurrentCodec<NBR_AUDIOCODECDEF) {
- CommandList.append(QString("-ACO:%1").arg(CurrentCodec));
-
- QString AllowedBitRate;
- QString BitRate="";
- int Index=0;
- bool IsFindBitRate=false;
- AllowedBitRate=AUDIOCODECDEF[CurrentCodec].PossibleBitrate2CH;
- BitRate="";
- Index=0;
- IsFindBitRate=false;
- QStringList List;
- while (AllowedBitRate.length()>0) {
- Index=AllowedBitRate.indexOf("#");
- if (Index>0) {
- BitRate=AllowedBitRate.left(Index);
- AllowedBitRate=AllowedBitRate.right(AllowedBitRate.length()-Index-1);
- } else {
- BitRate=AllowedBitRate;
- AllowedBitRate="";
- }
- List.append(BitRate);
- }
- for (int i=0;i<List.count();i++) for (int j=0;j<List.count()-1;j++) {
- QString NameA=List[j]; if (NameA.endsWith("k")) NameA=NameA.left(NameA.length()-1);
- int NumA=NameA.toInt();
- QString NameB=List[j+1]; if (NameB.endsWith("k")) NameB=NameB.left(NameB.length()-1);
- int NumB=NameB.toInt();
- if (NumA>NumB) List.swap(j,j+1);
- }
- for (int i=0;i<List.count();i++) ui->AudioBitRateCB->addItem(List[i]);
- if (!IsFindBitRate) ui->AudioBitRateCB->setCurrentIndex(ui->AudioBitRateCB->findText(AUDIOCODECDEF[CurrentCodec].Default));
- ui->AudioBitRateCB->setEnabled(ui->AudioBitRateCB->count()>1);
- } else ui->AudioBitRateCB->setEnabled(false);
- StopRefreshCB=false;
- // Construct CommandList
- for (int i=0;i<CommandList.count();i++) Job->Command=(Job->Command!=""?Job->Command+"##":"")+CommandList[i];
- emit NeedRefreshControls();
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertAudio::s_AudioBitRateCB(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertAudio::s_AudioBitRateCB");
-
- if (StopRefreshCB) return;
- int i=0;
- QStringList CommandList=Job->Command.split("##");
- Job->Command="";
- while (i<CommandList.count()) if (CommandList[i].startsWith("-AB")) CommandList.removeAt(i); else i++;
- if (ui->AudioBitRateCB->isEnabled()) CommandList.append(QString("-AB:%1").arg(ui->AudioBitRateCB->currentText()));
- // Construct CommandList
- for (int i=0;i<CommandList.count();i++) Job->Command=(Job->Command!=""?Job->Command+"##":"")+CommandList[i];
- emit NeedRefreshControls();
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertAudio::s_AudioFreqCB(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertAudio::s_AudioFreqCB");
-
- int i=0;
- QStringList CommandList=Job->Command.split("##");
- Job->Command="";
- while (i<CommandList.count()) if (CommandList[i].startsWith("-AR")) CommandList.removeAt(i); else i++;
- if (ui->AudioFreqCB->isEnabled()) CommandList.append(QString("-AR:%1").arg(ui->AudioFreqCB->currentText()));
- // Construct CommandList
- for (int i=0;i<CommandList.count();i++) Job->Command=(Job->Command!=""?Job->Command+"##":"")+CommandList[i];
- emit NeedRefreshControls();
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertAudio::s_ChAudioFreqCB() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertAudio::s_ChAudioFreqCB");
-
- int i=0;
- QStringList CommandList=Job->Command.split("##");
- Job->Command="";
- while (i<CommandList.count()) if (CommandList[i].startsWith("-AR")) CommandList.removeAt(i); else i++;
- if (ui->ChAudioFreqCB->isChecked()) CommandList.append(QString("-AR:%1").arg(ui->AudioFreqCB->currentText()));
- // Construct CommandList
- for (int i=0;i<CommandList.count();i++) Job->Command=(Job->Command!=""?Job->Command+"##":"")+CommandList[i];
- emit NeedRefreshControls();
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertAudio::s_ForceToMonoCB() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertAudio::s_ForceToMonoCB");
-
- if (StopRefreshCB) return;
- StopRefreshCB=true;
- if (ui->ForceToStereoCB->isChecked()) ui->ForceToStereoCB->setChecked(false);
- StopRefreshCB=false;
-
- int i=0;
- QStringList CommandList=Job->Command.split("##");
- Job->Command="";
- while (i<CommandList.count()) if (CommandList[i].startsWith("-ACH")) CommandList.removeAt(i); else i++;
- if (ui->ForceToMonoCB->isChecked()) CommandList.append(QString("-ACH:1"));
- // Construct CommandList
- for (int i=0;i<CommandList.count();i++) Job->Command=(Job->Command!=""?Job->Command+"##":"")+CommandList[i];
- emit NeedRefreshControls();
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertAudio::s_ForceToStereoCB() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertAudio::s_ForceToStereoCB");
-
- if (StopRefreshCB) return;
- StopRefreshCB=true;
- if (ui->ForceToMonoCB->isChecked()) ui->ForceToMonoCB->setChecked(false);
- StopRefreshCB=false;
-
- int i=0;
- QStringList CommandList=Job->Command.split("##");
- Job->Command="";
- while (i<CommandList.count()) if (CommandList[i].startsWith("-ACH")) CommandList.removeAt(i); else i++;
- if (ui->ForceToStereoCB->isChecked()) CommandList.append(QString("-ACH:2"));
- // Construct CommandList
- for (int i=0;i<CommandList.count();i++) Job->Command=(Job->Command!=""?Job->Command+"##":"")+CommandList[i];
- emit NeedRefreshControls();
-}
diff --git a/src/ffDiaporamaMMFiler/wgt_JobConvertAudio.h b/src/ffDiaporamaMMFiler/wgt_JobConvertAudio.h
deleted file mode 100755
index 6a44c7f..0000000
--- a/src/ffDiaporamaMMFiler/wgt_JobConvertAudio.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef WGT_JOBCONVERTAUDIO_H
-#define WGT_JOBCONVERTAUDIO_H
-
-#include <QWidget>
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-
-#include "wgt_JobBase.h"
-
-namespace Ui {
- class wgt_JobConvertAudio;
-}
-
-class wgt_JobConvertAudio : public wgt_JobBase {
-Q_OBJECT
-public:
- bool StopRefreshCB;
-
- explicit wgt_JobConvertAudio(QCustomDialog *Dialog,QWidget *parent = 0);
- ~wgt_JobConvertAudio();
-
- virtual void DoInitDialog();
- virtual void RefreshControls();
- virtual void AppendJobSummary(int index,QString *JobSummary,cJobQueue *JobQueue);
-
-private slots:
- void s_AudioFormatCB(int);
- void s_AudioBitRateCB(int);
- void s_ChAudioFreqCB();
- void s_AudioFreqCB(int);
- void s_ForceToMonoCB();
- void s_ForceToStereoCB();
-
-private:
- Ui::wgt_JobConvertAudio *ui;
-};
-
-#endif // WGT_JOBCONVERTAUDIO_H
diff --git a/src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui b/src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui
deleted file mode 100755
index 3d0ab9f..0000000
--- a/src/ffDiaporamaMMFiler/wgt_JobConvertAudio.ui
+++ /dev/null
@@ -1,216 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>wgt_JobConvertAudio</class>
- <widget class="QWidget" name="wgt_JobConvertAudio">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>400</width>
- <height>152</height>
- </rect>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- </font>
- </property>
- <property name="windowTitle">
- <string notr="true">Convert audio</string>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>2</number>
- </property>
- <item row="0" column="0" colspan="2">
- <widget class="QLabel" name="label">
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Convert audio</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="AudioFormatLabel">
- <property name="text">
- <string>Format :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="1" column="1" colspan="2">
- <widget class="QComboBox" name="AudioFormatCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>150</width>
- <height>0</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select the audio codec to use for the rendering.</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="AudioBitRateLabel">
- <property name="text">
- <string>Bit rate :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="AudioBitRateCB">
- <property name="minimumSize">
- <size>
- <width>80</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>80</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select the bit rate to use for audio during the rendering.</string>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
- <widget class="QCheckBox" name="ForceToMonoCB">
- <property name="text">
- <string>Force to mono</string>
- </property>
- </widget>
- </item>
- <item row="5" column="1">
- <widget class="QCheckBox" name="ForceToStereoCB">
- <property name="text">
- <string>Force to stereo</string>
- </property>
- </widget>
- </item>
- <item row="0" column="2">
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>304</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="3" column="1" colspan="2">
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>2</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QCheckBox" name="ChAudioFreqCB">
- <property name="text">
- <string>Change frequency to :</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="AudioFreqCB">
- <property name="minimumSize">
- <size>
- <width>80</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>80</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select the bit rate to use for audio during the rendering.</string>
- </property>
- <item>
- <property name="text">
- <string notr="true">8000 Hz</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">11025 Hz</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">16000 HZ</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">22050 Hz</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">32000 Hz</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">44100 Hz</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">48000 Hz</string>
- </property>
- </item>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp b/src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp
deleted file mode 100755
index f810328..0000000
--- a/src/ffDiaporamaMMFiler/wgt_JobConvertImage.cpp
+++ /dev/null
@@ -1,238 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "wgt_JobConvertImage.h"
-#include "ui_wgt_JobConvertImage.h"
-#include "../sharedfiles/cBaseMediaFile.h"
-
-//====================================================================================================================
-
-wgt_JobConvertImage::wgt_JobConvertImage(QCustomDialog *Dialog,QWidget *parent):wgt_JobBase(Dialog,parent),ui(new Ui::wgt_JobConvertImage) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertImage::wgt_JobConvertImage");
-
- ui->setupUi(this);
-}
-
-//====================================================================================================================
-
-wgt_JobConvertImage::~wgt_JobConvertImage() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertImage::~wgt_JobConvertImage");
-
- delete ui;
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertImage::DoInitDialog() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertImage::DoInitDialog");
-
- connect(ui->DestFormatCB, SIGNAL(currentIndexChanged(int)),this,SLOT(s_DestFormatCB(int)));
- connect(ui->RescalCB, SIGNAL(released()),this,SLOT(s_RescalCB()));
- connect(ui->DontUpscaleCB, SIGNAL(released()),this,SLOT(s_DontUpscaleCB()));
- connect(ui->RescalCombo, SIGNAL(currentIndexChanged(int)),this,SLOT(s_RescalCombo(int)));
- connect(ui->QualitySL, SIGNAL(valueChanged(int)),this,SLOT(s_QualitySL(int)));
- connect(ui->RotateCB, SIGNAL(released()),this,SLOT(s_RotateCB()));
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertImage::RefreshControls() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertImage::RefreshControls");
-
- int Quality=90;
- ui->DestFormatCB->setCurrentIndex(ui->DestFormatCB->findText(Job->DestinationExtension));
- ui->RescalCB->setChecked(Job->IsCommandListContain("-SRS"));
- ui->DontUpscaleCB->setChecked(Job->IsCommandListContain("-DUP"));
- ui->RotateCB->setChecked(Job->IsCommandListContain("-FRT"));
- ui->RescalCombo->setEnabled(ui->RescalCB->isChecked());
- ui->DontUpscaleCB->setEnabled(ui->RescalCB->isChecked());
- if (Job->IsCommandListContain("-Q")) Quality=Job->CommandListValue("-Q");
- ui->QualitySL->setValue(Quality);
- ui->QualityLabel->setText(QString("%1%").arg(Quality));
- if (Job->IsCommandListContain("-SRS")) ui->RescalCombo->setCurrentIndex(ui->RescalCombo->findText(Job->CommandListValueString("-SRS")));
- ui->QualitySL->setEnabled ((Job->DestinationExtension!="tiff")&&(Job->DestinationExtension!="bmp")&&(Job->DestinationExtension!="ppm"));
- ui->QualityLabel->setEnabled ((Job->DestinationExtension!="tiff")&&(Job->DestinationExtension!="bmp")&&(Job->DestinationExtension!="ppm"));
- ui->QualityLabel0->setEnabled((Job->DestinationExtension!="tiff")&&(Job->DestinationExtension!="bmp")&&(Job->DestinationExtension!="ppm"));
- ui->QualityLabel0->setText((Job->DestinationExtension=="png")?QApplication::translate("wgt_JobConvertImage","Compression :"):QApplication::translate("wgt_JobConvertImage","Quality :"));
- ui->RotateCB->setEnabled(Job->DestinationExtension=="jpg");
-}
-
-//====================================================================================================================
-
-QString wgt_JobConvertImage::ComputeDestSuffix(cBaseMediaFile *MediaFile) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertImage::ComputeDestSuffix");
-
- QString SizeSuffix="ns";
- if (Job->IsCommandListContain("-SRS")) {
- QString Value=Job->CommandListValueString("-SRS");
- if (Value.indexOf("MPix")!=-1) SizeSuffix=Value.left(Value.indexOf(" "))+Value.mid(Value.indexOf(" ")+1); // Remove space
- else SizeSuffix=Value.left(Value.indexOf(" ")); // Get beginning
- } else {
- SizeSuffix=MediaFile->GetImageSizeStr(cBaseMediaFile::FMTONLY);
- }
- int i=0;
- QStringList CommandList=Job->Command.split("##");
- Job->Command="";
- while (i<CommandList.count()) if (CommandList[i].startsWith("-SSX")) CommandList.removeAt(i); else i++;
- CommandList.append(QString("-SSX:%1").arg(SizeSuffix));
- for (int i=0;i<CommandList.count();i++) Job->Command=(Job->Command!=""?Job->Command+"##":"")+CommandList[i];
- return SizeSuffix;
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertImage::AppendJobSummary(int index,QString *JobSummary,cJobQueue *JobQueue) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertImage::AppendJobSummary");
-
- QString SourceFile=Job->SourcesAndDests[index];
- cBaseMediaFile *MediaFile=NULL;
-
- // Search MediaFile in list
- for (int i=0;i<JobQueue->MediaList.count();i++) if (((cBaseMediaFile *)JobQueue->MediaList.at(i))->FileName==SourceFile) {
- MediaFile=JobQueue->MediaList.at(i);
- break;
- }
-
- if (MediaFile!=NULL) {
- bool ForceRotate=(MediaFile->ImageOrientation!=1)&&((Job->DestinationExtension!="jpg")||(Job->IsCommandListContain("-FRT")));
- int ImageWidth =MediaFile->ImageWidth;
- int ImageHeight=MediaFile->ImageHeight;
- if (Job->IsCommandListContain("-SRS")) {
- QString Value =Job->CommandListValueString("-SRS");
- if (Value.indexOf("MPix")!=-1) {
- // if image is rotated then swap ImageWidth and ImageHeight
- if ((MediaFile->ImageOrientation==3)||(MediaFile->ImageOrientation==6)||(MediaFile->ImageOrientation==8)) {
- int IW=ImageWidth;
- ImageWidth=ImageHeight;
- ImageHeight=IW;
- }
- double iValue =Value.left(Value.indexOf("MPix")).trimmed().toDouble()*1000*1000;
- double ActualValue =ImageWidth*ImageHeight;
- // + or - 10%
- if (((iValue-iValue*0.1>ActualValue)&&(!Job->IsCommandListContain("-DUP")))||(iValue+iValue*0.1<ActualValue)) {
- double Transfo=sqrt(iValue/ActualValue);
- ImageWidth =int(Transfo*double(ImageWidth));
- ImageHeight=int(Transfo*double(ImageHeight));
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and rescal image to %1")).arg(Value);
- if ((MediaFile->ImageOrientation==3)||(MediaFile->ImageOrientation==6)||(MediaFile->ImageOrientation==8)) {
- if (ForceRotate) *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and rotate image"));
- else *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","but don't rotate image"));
- }
- }
- } else {
- int MaxRows=0;
- if (Value.indexOf("QVGA")!=-1) MaxRows=240;
- else if (Value.indexOf("HVGA")!=-1) MaxRows=320;
- else if (Value.indexOf("WVGA")!=-1) MaxRows=480;
- else if (Value.indexOf("DVD")!=-1) MaxRows=576;
- else if (Value.indexOf("720p")!=-1) MaxRows=720;
- else if (Value.indexOf("XGA")!=-1) MaxRows=768;
- else if (Value.indexOf("1080p")!=-1) MaxRows=1080;
- if (MaxRows!=0) {
- // + or - 10%
- if (((MaxRows-MaxRows*0.1>ImageHeight)&&(!Job->IsCommandListContain("-DUP")))||(MaxRows+MaxRows*0.1<ImageHeight)) {
- double AspectR=double(ImageWidth)/double(ImageHeight);
- ImageHeight=MaxRows;
- ImageWidth =int(double(MaxRows)*AspectR);
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and rescal image to %1")).arg(Value);
- if ((MediaFile->ImageOrientation==3)||(MediaFile->ImageOrientation==6)||(MediaFile->ImageOrientation==8))
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and rotate image"));
- }
- }
- }
- } else if (ForceRotate) *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and rotate image"));
- if ((ImageWidth!=MediaFile->ImageWidth)||(ImageHeight!=MediaFile->ImageHeight)) {
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","new image size will become %1x%2")).arg(ImageWidth).arg(ImageHeight);
- }
- }
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertImage::s_DestFormatCB(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertImage::s_DestFormatCB");
-
- Job->DestinationExtension=ui->DestFormatCB->currentText();
- emit NeedRefreshControls();
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertImage::s_RescalCB() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertImage::s_RescalCB");
-
- int i=0;
- QStringList CommandList=Job->Command.split("##");
- Job->Command="";
- while (i<CommandList.count()) if (CommandList[i].startsWith("-SRS")) CommandList.removeAt(i); else i++;
- if (ui->RescalCB->isChecked()) CommandList.append(QString("-SRS:%1").arg(ui->RescalCombo->currentText()));
- for (int i=0;i<CommandList.count();i++) Job->Command=(Job->Command!=""?Job->Command+"##":"")+CommandList[i];
- emit NeedRefreshControls();
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertImage::s_RescalCombo(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertImage::s_RescalCombo");
-
- s_RescalCB();
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertImage::s_DontUpscaleCB() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertImage::s_DontUpscaleCB");
-
- int i=0;
- QStringList CommandList=Job->Command.split("##");
- Job->Command="";
- while (i<CommandList.count()) if (CommandList[i].startsWith("-DUP")) CommandList.removeAt(i); else i++;
- if (ui->DontUpscaleCB->isChecked()) CommandList.append(QString("-DUP"));
- for (int i=0;i<CommandList.count();i++) Job->Command=(Job->Command!=""?Job->Command+"##":"")+CommandList[i];
- emit NeedRefreshControls();
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertImage::s_QualitySL(int Quality) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertImage::s_DontUpscaleCB");
-
- int i=0;
- QStringList CommandList=Job->Command.split("##");
- Job->Command="";
- while (i<CommandList.count()) if (CommandList[i].startsWith("-Q")) CommandList.removeAt(i); else i++;
- CommandList.append(QString("-Q:%1").arg(Quality));
- for (int i=0;i<CommandList.count();i++) Job->Command=(Job->Command!=""?Job->Command+"##":"")+CommandList[i];
- emit NeedRefreshControls();
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertImage::s_RotateCB() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertImage::s_RotateCB");
-
- int i=0;
- QStringList CommandList=Job->Command.split("##");
- Job->Command="";
- while (i<CommandList.count()) if (CommandList[i].startsWith("-FRT")) CommandList.removeAt(i); else i++;
- if (ui->RotateCB->isChecked()) CommandList.append(QString("-FRT"));
- for (int i=0;i<CommandList.count();i++) Job->Command=(Job->Command!=""?Job->Command+"##":"")+CommandList[i];
- emit NeedRefreshControls();
-}
diff --git a/src/ffDiaporamaMMFiler/wgt_JobConvertImage.h b/src/ffDiaporamaMMFiler/wgt_JobConvertImage.h
deleted file mode 100755
index 0632bdd..0000000
--- a/src/ffDiaporamaMMFiler/wgt_JobConvertImage.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef WGT_JOBCONVERTIMAGE_H
-#define WGT_JOBCONVERTIMAGE_H
-
-#include <QWidget>
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-
-#include "wgt_JobBase.h"
-
-namespace Ui {
- class wgt_JobConvertImage;
-}
-
-class wgt_JobConvertImage : public wgt_JobBase {
-Q_OBJECT
-public:
- explicit wgt_JobConvertImage(QCustomDialog *Dialog,QWidget *parent = 0);
- ~wgt_JobConvertImage();
-
- virtual void DoInitDialog();
- virtual void RefreshControls();
- virtual void AppendJobSummary(int index,QString *JobSummary,cJobQueue *JobQueue);
- virtual QString ComputeDestSuffix(cBaseMediaFile *MediaFile);
-
-private slots:
- void s_DestFormatCB(int);
- void s_RescalCB();
- void s_RotateCB();
- void s_DontUpscaleCB();
- void s_RescalCombo(int);
- void s_QualitySL(int);
-
-private:
- Ui::wgt_JobConvertImage *ui;
-};
-
-#endif // WGT_JOBCONVERTIMAGE_H
diff --git a/src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui b/src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui
deleted file mode 100755
index 4a0a772..0000000
--- a/src/ffDiaporamaMMFiler/wgt_JobConvertImage.ui
+++ /dev/null
@@ -1,272 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>wgt_JobConvertImage</class>
- <widget class="QWidget" name="wgt_JobConvertImage">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>400</width>
- <height>128</height>
- </rect>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- <weight>50</weight>
- <bold>false</bold>
- <underline>false</underline>
- </font>
- </property>
- <property name="windowTitle">
- <string notr="true">Convert image</string>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>2</number>
- </property>
- <item row="0" column="0" colspan="3">
- <widget class="QLabel" name="label">
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Convert image</string>
- </property>
- </widget>
- </item>
- <item row="5" column="2">
- <layout class="QHBoxLayout" name="horizontalLayout">
- <item>
- <widget class="QSlider" name="QualitySL">
- <property name="minimum">
- <number>1</number>
- </property>
- <property name="maximum">
- <number>100</number>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="QualityLabel">
- <property name="text">
- <string notr="true">90%</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="5" column="1">
- <widget class="QLabel" name="QualityLabel0">
- <property name="text">
- <string>Quality :</string>
- </property>
- </widget>
- </item>
- <item row="7" column="2">
- <widget class="QComboBox" name="RescalCombo">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <item>
- <property name="text">
- <string>QVGA (240 rows)</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>HVGA (320 rows)</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>VGA/WVGA (480 rows)</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>SD/DVD (576 rows)</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>720p (720 rows)</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>XGA (768 rows)</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>1080p (1080 rows)</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">5 MPix</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">6 MPix</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">8 MPix</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">10 MPix</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">12 MPix</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="7" column="1">
- <widget class="QCheckBox" name="RescalCB">
- <property name="text">
- <string>Resize :</string>
- </property>
- </widget>
- </item>
- <item row="8" column="2">
- <widget class="QCheckBox" name="DontUpscaleCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>But not upscale image</string>
- </property>
- </widget>
- </item>
- <item row="0" column="3">
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="2" column="2">
- <widget class="QComboBox" name="DestFormatCB">
- <item>
- <property name="text">
- <string notr="true">bmp</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">jpg</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">png</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">ppm</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string notr="true">tiff</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_2">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>20</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QLabel" name="label_3">
- <property name="font">
- <font>
- <weight>50</weight>
- <bold>false</bold>
- <underline>false</underline>
- </font>
- </property>
- <property name="text">
- <string>Format :</string>
- </property>
- </widget>
- </item>
- <item row="6" column="1" colspan="2">
- <widget class="QCheckBox" name="RotateCB">
- <property name="text">
- <string>Rotate turned image</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <tabstops>
- <tabstop>DestFormatCB</tabstop>
- <tabstop>QualitySL</tabstop>
- <tabstop>RescalCB</tabstop>
- <tabstop>RescalCombo</tabstop>
- <tabstop>DontUpscaleCB</tabstop>
- </tabstops>
- <resources/>
- <connections/>
-</ui>
diff --git a/src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp b/src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp
deleted file mode 100755
index 1716f46..0000000
--- a/src/ffDiaporamaMMFiler/wgt_JobConvertVideo.cpp
+++ /dev/null
@@ -1,281 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "wgt_JobConvertVideo.h"
-#include "ui_wgt_JobConvertVideo.h"
-#include "../sharedfiles/cBaseMediaFile.h"
-#include "cApplicationConfig.h"
-
-//====================================================================================================================
-
-wgt_JobConvertVideo::wgt_JobConvertVideo(QCustomDialog *Dialog,QWidget *parent):wgt_JobBase(Dialog,parent),ui(new Ui::wgt_JobConvertVideo) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertVideo::DoInitDialog");
-
- ui->setupUi(this);
-}
-
-//====================================================================================================================
-
-wgt_JobConvertVideo::~wgt_JobConvertVideo() {
- delete ui;
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertVideo::DoInitDialog() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertVideo::DoInitDialog");
-
- QStringList List;
- for (int i=1;i<((cApplicationConfig *)Dialog->BaseApplicationConfig)->DeviceModelList.TranslatedRenderType.count();i++)
- List.append(((cApplicationConfig *)Dialog->BaseApplicationConfig)->DeviceModelList.TranslatedRenderType[i]+"#"+QString("%1").arg(i));
- List.sort();
- for (int i=0;i<List.count();i++) {
- QString Item=List[i];
- int ItemData=Item.mid(Item.lastIndexOf("#")+1).toInt();
- Item=Item.left(Item.lastIndexOf("#"));
- ui->DeviceCB->addItem(Item,QVariant(ItemData));
- }
- ui->DeviceCB->setCurrentIndex(0);
- s_DeviceCB(0);
- s_DeviceTypeCB(0);
- s_DeviceModelCB(0);
-
- connect(ui->DeviceCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_DeviceCB(int)));
- connect(ui->DeviceTypeCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_DeviceTypeCB(int)));
- connect(ui->DeviceModelCB,SIGNAL(currentIndexChanged(int)),this,SLOT(s_DeviceModelCB(int)));
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertVideo::RefreshControls() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertVideo::RefreshControls");
-
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertVideo::AppendJobSummary(int index,QString *JobSummary,cJobQueue *JobQueue) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertVideo::AppendJobSummary");
-
- QString SourceFile=Job->SourcesAndDests[index];
- cBaseMediaFile *MediaFile=NULL;
-
- // Search MediaFile in list
- for (int i=0;i<JobQueue->MediaList.count();i++) if (((cBaseMediaFile *)JobQueue->MediaList.at(i))->FileName==SourceFile) {
- MediaFile=JobQueue->MediaList.at(i);
- break;
- }
-
- if (MediaFile!=NULL) {
- if (Job->IsCommandListContain("-VI")) {
- int MaxWidth=0,MaxHeight=0;
- int NewWidth=0,NewHeight=0;
- int Index =Job->CommandListValueString("-VI").split("/")[0].toInt();
- int Standard=Job->CommandListValueString("-VI").split("/")[1].toInt();
- double Ratio =double(MediaFile->ImageWidth)/double(MediaFile->ImageHeight);
- for (int j=0;j<3;j++) {
- double RatioPAR=double(DefImageFormat[Standard][j][Index].PARDEN)/double(DefImageFormat[Standard][j][Index].PARNUM);
- if (double(DefImageFormat[Standard][j][Index].Width)/RatioPAR==double(DefImageFormat[Standard][j][Index].Height)) RatioPAR=1;
- if (MaxWidth <DefImageFormat[Standard][j][Index].Width) MaxWidth =DefImageFormat[Standard][j][Index].Width;
- if (MaxHeight<DefImageFormat[Standard][j][Index].Height*RatioPAR) MaxHeight=DefImageFormat[Standard][j][Index].Height*RatioPAR;
- }
- if (int(Ratio*double(MaxHeight))<=MaxWidth) {
- NewWidth =int(Ratio*double(MaxHeight));
- NewHeight=MaxHeight;
- } else {
- NewWidth =MaxWidth;
- NewHeight=int(double(MaxWidth)/Ratio);
- }
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and resize to %1x%2")).arg(NewWidth).arg(NewHeight);
- }
- if (Job->IsCommandListContain("-VCO")) {
- int VideoCodecIndex =Job->CommandListValue("-VCO");
- int VideoBitRate =Job->CommandListValue("-VB");
- QString AudioCodec =(Job->IsCommandListContain("-ACO")?AUDIOCODECDEF[Job->CommandListValue("-ACO")].ShortName:"");
- switch (VIDEOCODECDEF[VideoCodecIndex].FFD_VCODEC) {
- case VCODEC_MPEG : *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video codec to %1")).arg("mpeg2video");
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video compression to %1 with + and - 10%")).arg(VideoBitRate);
- break;
- case VCODEC_MPEG4 : if (AudioCodec=="libopencore_amrnb") {
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video codec to %1")).arg("mpeg4");
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video compression to %1")).arg(VideoBitRate);
- } else {
- if (QString(VIDEOCODECDEF[VideoCodecIndex].ShortName)==QString("mpeg4")) {
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video codec to %1")).arg("mpeg4");
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video compression to %1")).arg(VideoBitRate);
- } else {
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video codec to %1")).arg("libxvid");
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video compression to %1")).arg(VideoBitRate);
- }
- }
- break;
- case VCODEC_H264HQ : *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video codec to %1")).arg("libx264");
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video compression to %1 with + and - 10%")).arg(VideoBitRate);
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video preset %1")).arg(
- #ifdef OLDFFMPEGPRESET
- "libx264-hq.ffpreset"
- #else
- "veryfast (ref=3)"
- #endif
- );
- break;
- case VCODEC_H264PQ : *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video codec to %1")).arg("libx264");
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video compression to %1 with + and - 10%")).arg(VideoBitRate);
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video preset %1")).arg(
- #ifdef OLDFFMPEGPRESET
- "libx264-pq.ffpreset"
- #else
- "veryfast (level=1.3:no-cabac:vbv-bufsize=768:vbv-maxrate=768)"
- #endif
- );
- break;
- case VCODEC_MJPEG : *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video codec to %1")).arg("mjpeg");
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video quality to 2"));
- break;
- case VCODEC_VP8 : *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video codec to %1")).arg("libvpx");
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video compression to %1 with + and - 10%")).arg(VideoBitRate);
- break;
- case VCODEC_H263 : *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video codec to %1")).arg("flv");
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video compression to %1")).arg(VideoBitRate);
- break;
- case VCODEC_THEORA : *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video codec to %1")).arg("libtheora");
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set video compression to %1")).arg(VideoBitRate);
- break;
- }
- }
- if (Job->IsCommandListContain("-ACO")) {
- *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set codec to %1")).arg(AUDIOCODECDEF[Job->CommandListValue("-ACO")].ShortName);
- if (Job->IsCommandListContain("-AB")) *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and set audio compression to %1")).arg(Job->CommandListValueString("-AB"));
- if (Job->IsCommandListContain("-AR")) *JobSummary=*JobSummary+"\n "+QString(QApplication::translate("QCustomJobTable","and force audio frequency to %1")).arg(Job->CommandListValueString("-AR").left(Job->CommandListValueString("-AR").indexOf(" ")));
- if (Job->IsCommandListContain("-ACH")) *JobSummary=*JobSummary+"\n "+(Job->CommandListValue("-ACH")==1?QString(QApplication::translate("QCustomJobTable","and force to mono")):QString(QApplication::translate("QCustomJobTable","and force to stereo")));
- }
- *JobSummary=*JobSummary+"\n "+JobQueue->ComputeFFMPEGCommand(Job);
- }
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertVideo::s_DeviceCB(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertVideo::s_DeviceCB");
-
- ui->DeviceTypeCB->clear();
- int ExportMode=ui->DeviceCB->currentIndex();
- if (ExportMode>=0) {
- ExportMode=ui->DeviceCB->itemData(ExportMode).toInt();
- QStringList List;
- for (int i=0;i<((cApplicationConfig *)Dialog->BaseApplicationConfig)->DeviceModelList.TranslatedRenderSubtype[ExportMode].count();i++)
- List.append(((cApplicationConfig *)Dialog->BaseApplicationConfig)->DeviceModelList.TranslatedRenderSubtype[ExportMode][i]+"#"+QString("%1").arg(i));
- List.sort();
- for (int i=0;i<List.count();i++) {
- QString Item=List[i];
- int ItemData=Item.mid(Item.lastIndexOf("#")+1).toInt();
- Item=Item.left(Item.lastIndexOf("#"));
- ui->DeviceTypeCB->addItem(Item,QVariant(ItemData));
- }
- ui->DeviceTypeCB->setCurrentIndex(0);
- }
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertVideo::s_DeviceTypeCB(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertVideo::s_DeviceTypeCB");
-
- ui->DeviceModelCB->clear();
- int ExportMode=ui->DeviceCB->currentIndex();
- if (ExportMode>=0) {
- ExportMode=ui->DeviceCB->itemData(ExportMode).toInt();
- int ItemData=ui->DeviceTypeCB->currentIndex();
- if (ItemData>=0) ItemData=ui->DeviceTypeCB->itemData(ItemData).toInt();
- QStringList List;
- for (int i=0;i<((cApplicationConfig *)Dialog->BaseApplicationConfig)->DeviceModelList.RenderDeviceModel.count();i++)
- if ((((cApplicationConfig *)Dialog->BaseApplicationConfig)->DeviceModelList.RenderDeviceModel[i]->DeviceType==ExportMode)&&(((cApplicationConfig *)Dialog->BaseApplicationConfig)->DeviceModelList.RenderDeviceModel[i]->DeviceSubtype==ItemData))
- List.append(((cApplicationConfig *)Dialog->BaseApplicationConfig)->DeviceModelList.RenderDeviceModel[i]->DeviceName);
- List.sort();
- ui->DeviceModelCB->addItems(List);
- ui->DeviceModelCB->setCurrentIndex(0);
- }
-}
-
-//====================================================================================================================
-
-void wgt_JobConvertVideo::s_DeviceModelCB(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:wgt_JobConvertVideo::s_DeviceModelCB");
-
- Job->Command="";
- QStringList CommandList;
- int ExportMode=ui->DeviceCB->currentIndex();
-
- if ((ExportMode>=0)&&(ui->DeviceModelCB->currentText()!="")) {
- ExportMode=ui->DeviceCB->itemData(ExportMode).toInt();
- QString Device=ui->DeviceModelCB->currentText();
- int i=0;
- while ((i<((cApplicationConfig *)Dialog->BaseApplicationConfig)->DeviceModelList.RenderDeviceModel.count())&&(((cApplicationConfig *)Dialog->BaseApplicationConfig)->DeviceModelList.RenderDeviceModel[i]->DeviceName!=Device)) i++;
- if (i<((cApplicationConfig *)Dialog->BaseApplicationConfig)->DeviceModelList.RenderDeviceModel.count()) {
-
- int OutputFileFormat; // Container format
- int Standard;
- int VideoBitRate; // Last video bit rate used
- int AudioFrequency; // Last audio frequency used
- int AudioBitRate; // Last audio bit rate used
- int ImageSize; // Last image size use for rendering
- int VideoCodecIndex; // Index of video codec
- int AudioCodecIndex; // Index of audio codec
-
- OutputFileFormat=0;
- QString Device=ui->DeviceModelCB->currentText();
- int i=0;
- while ((i<((cApplicationConfig *)Dialog->BaseApplicationConfig)->DeviceModelList.RenderDeviceModel.count())&&(((cApplicationConfig *)Dialog->BaseApplicationConfig)->DeviceModelList.RenderDeviceModel[i]->DeviceName!=Device)) i++;
- if (i<((cApplicationConfig *)Dialog->BaseApplicationConfig)->DeviceModelList.RenderDeviceModel.count()) {
- Standard =((cApplicationConfig *)Dialog->BaseApplicationConfig)->DeviceModelList.RenderDeviceModel[i]->Standard;
- OutputFileFormat=((cApplicationConfig *)Dialog->BaseApplicationConfig)->DeviceModelList.RenderDeviceModel[i]->FileFormat;
- VideoCodecIndex =((cApplicationConfig *)Dialog->BaseApplicationConfig)->DeviceModelList.RenderDeviceModel[i]->VideoCodec;
- AudioCodecIndex =((cApplicationConfig *)Dialog->BaseApplicationConfig)->DeviceModelList.RenderDeviceModel[i]->AudioCodec;
- ImageSize =((cApplicationConfig *)Dialog->BaseApplicationConfig)->DeviceModelList.RenderDeviceModel[i]->ImageSize;
- VideoBitRate =((cApplicationConfig *)Dialog->BaseApplicationConfig)->DeviceModelList.RenderDeviceModel[i]->VideoBitrate;
- AudioBitRate =((cApplicationConfig *)Dialog->BaseApplicationConfig)->DeviceModelList.RenderDeviceModel[i]->AudioBitrate;
-
- if (QString(FORMATDEF[OutputFileFormat].ShortName)==QString("flv")) AudioFrequency=44100; // Special case for FLV
- else if (QString(FORMATDEF[OutputFileFormat].ShortName)==QString("3gp")) AudioFrequency=8000; // Special case for AMRNB
- else AudioFrequency=48000; // Standard audio frequency for video
-
-
- // Container part
- CommandList.append(QString("-FCO:%1").arg(OutputFileFormat));
- CommandList.append(QString("-VB:%1").arg(VideoBitRate));
-
- // Video part
- CommandList.append(QString("-VCO:%1").arg(VideoCodecIndex));
- CommandList.append(QString("-VB:%1").arg(VideoBitRate));
- CommandList.append(QString("-VI:%1/%2").arg(ImageSize).arg(Standard));
-
- // Audio part
- CommandList.append(QString("-ACO:%1").arg(AudioCodecIndex));
- CommandList.append(QString("-AB:%1k").arg(AudioBitRate));
- CommandList.append(QString("-AR:%1").arg(AudioFrequency));
- }
-
- }
- }
- // Construct CommandList
- for (int i=0;i<CommandList.count();i++) Job->Command=(Job->Command!=""?Job->Command+"##":"")+CommandList[i];
- emit NeedRefreshControls();
-}
-
diff --git a/src/ffDiaporamaMMFiler/wgt_JobConvertVideo.h b/src/ffDiaporamaMMFiler/wgt_JobConvertVideo.h
deleted file mode 100755
index ae062ad..0000000
--- a/src/ffDiaporamaMMFiler/wgt_JobConvertVideo.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef wgt_JobConvertVideo_H
-#define wgt_JobConvertVideo_H
-
-#include <QWidget>
-
-// Basic inclusions (common to all files)
-#include "../sharedfiles/_GlobalDefines.h"
-
-#include "wgt_JobBase.h"
-
-namespace Ui {
- class wgt_JobConvertVideo;
-}
-
-class wgt_JobConvertVideo : public wgt_JobBase {
-Q_OBJECT
-public:
- explicit wgt_JobConvertVideo(QCustomDialog *Dialog,QWidget *parent = 0);
- ~wgt_JobConvertVideo();
-
- virtual void DoInitDialog();
- virtual void RefreshControls();
- virtual void AppendJobSummary(int index,QString *JobSummary,cJobQueue *JobQueue);
-
-private slots:
- void s_DeviceCB(int);
- void s_DeviceTypeCB(int);
- void s_DeviceModelCB(int);
-
-private:
- Ui::wgt_JobConvertVideo *ui;
-};
-
-#endif // wgt_JobConvertVideo_H
diff --git a/src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui b/src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui
deleted file mode 100755
index 77a25c2..0000000
--- a/src/ffDiaporamaMMFiler/wgt_JobConvertVideo.ui
+++ /dev/null
@@ -1,118 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>wgt_JobConvertVideo</class>
- <widget class="QWidget" name="wgt_JobConvertVideo">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>400</width>
- <height>127</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string notr="true">Convert video</string>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>2</number>
- </property>
- <item row="0" column="0" colspan="3">
- <widget class="QLabel" name="label">
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Convert video</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="DeviceTypeLabel">
- <property name="text">
- <string>Device type :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="2" column="1" colspan="2">
- <widget class="QComboBox" name="DeviceTypeCB">
- <property name="toolTip">
- <string>Select the type of equipment.</string>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="DeviceModelLabel">
- <property name="text">
- <string>Device model :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="3" column="1" colspan="2">
- <widget class="QComboBox" name="DeviceModelCB">
- <property name="toolTip">
- <string>Select the model of equipment</string>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
- <widget class="QCheckBox" name="IncludeSoundCB">
- <property name="text">
- <string>Include sound in the video</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="DeviceTypeLabel_2">
- <property name="text">
- <string>Device :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="1" column="1" colspan="2">
- <widget class="QComboBox" name="DeviceCB">
- <property name="toolTip">
- <string>Select the type of equipment.</string>
- </property>
- </widget>
- </item>
- <item row="4" column="2">
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- <tabstops>
- <tabstop>DeviceCB</tabstop>
- <tabstop>DeviceTypeCB</tabstop>
- <tabstop>DeviceModelCB</tabstop>
- <tabstop>IncludeSoundCB</tabstop>
- </tabstops>
- <resources/>
- <connections/>
-</ui>
diff --git a/src/ffDiaporamaStart/Makefile.Debug b/src/ffDiaporamaStart/Makefile.Debug
index 425b8a3..30bee9e 100755
--- a/src/ffDiaporamaStart/Makefile.Debug
+++ b/src/ffDiaporamaStart/Makefile.Debug
@@ -1,6 +1,6 @@
#############################################################################
# Makefile for building: ffDiaporamaStart
-# Generated by qmake (2.01a) (Qt 4.8.0) on: lun. 5. mars 21:49:59 2012
+# Generated by qmake (2.01a) (Qt 4.8.0) on: sam. 26. mai 07:55:56 2012
# Project: ffDiaporamaStart.pro
# Template: app
#############################################################################
diff --git a/src/ffDiaporamaStart/Makefile.Release b/src/ffDiaporamaStart/Makefile.Release
index 3872989..796648b 100755
--- a/src/ffDiaporamaStart/Makefile.Release
+++ b/src/ffDiaporamaStart/Makefile.Release
@@ -1,6 +1,6 @@
#############################################################################
# Makefile for building: ffDiaporamaStart
-# Generated by qmake (2.01a) (Qt 4.8.0) on: lun. 5. mars 21:49:59 2012
+# Generated by qmake (2.01a) (Qt 4.8.0) on: sam. 26. mai 07:55:56 2012
# Project: ffDiaporamaStart.pro
# Template: app
#############################################################################
diff --git a/src/fmt_filters/fmt_filters.h b/src/fmt_filters/fmt_filters.h
index d1b213e..fd740a6 100755
--- a/src/fmt_filters/fmt_filters.h
+++ b/src/fmt_filters/fmt_filters.h
@@ -76,7 +76,7 @@ in connection with ImageMagick or the use or other dealings in ImageMagick.
//========================================
// Basic inclusions (common to all files)
//========================================
-#include "../sharedfiles/_GlobalDefines.h"
+#include "../engine/_GlobalDefines.h"
//////////////////////////////////////////
// //
diff --git a/src/sharedfiles/DlgCheckConfig.cpp b/src/sharedfiles/DlgCheckConfig.cpp
deleted file mode 100755
index eb899d9..0000000
--- a/src/sharedfiles/DlgCheckConfig.cpp
+++ /dev/null
@@ -1,192 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "DlgCheckConfig.h"
-#include "ui_DlgCheckConfig.h"
-#include "cBaseMediaFile.h"
-
-#define ICON_GREEN ":/img/SmallGreen.png"
-#define ICON_RED ":/img/SmallRed.png"
-#define ICON_YELLOW ":/img/SmallYellow.png"
-
-//====================================================================================================================
-
-bool Checkffmpeg(QString &StatusStr) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:Checkffmpeg");
-
- bool ffmpegOK=true;
- QProcess Process;
-
- //Process.setProcessChannelMode(QProcess::MergedChannels);
- Process.start("ffmpeg",QString("-version").split(";"));
- if (!Process.waitForStarted(-1)) {
- ToLog(LOGMSG_CRITICAL,"Impossible to start ffmpeg");
- ffmpegOK=false;
- }
- if (ffmpegOK && !Process.waitForFinished()) {
- Process.kill();
- ToLog(LOGMSG_CRITICAL,"Error during ffmpeg process");
- ffmpegOK=false;
- }
- if (ffmpegOK && (Process.exitStatus()<0)) {
- ToLog(LOGMSG_CRITICAL,QString("ffmpeg return error %1").arg(Process.exitStatus()));
- ffmpegOK=false;
- }
- if (ffmpegOK) {
- QString Info=QString().fromLocal8Bit(Process.readAllStandardOutput())+
- QString().fromLocal8Bit(Process.readAllStandardError());
- if (Info.indexOf("ffmpeg version ")>=0) {
- StatusStr=Info.mid(Info.indexOf("ffmpeg version ")+QString("ffmpeg version ").length());
- StatusStr=StatusStr.left(StatusStr.indexOf("\n"));
- if (StatusStr.indexOf(QString(char(13)))>0) StatusStr=StatusStr.left(StatusStr.indexOf(QString(char(13))));
- } else {
- StatusStr=QApplication::translate("DlgCheckConfig","Unable to determine ffmpeg version");
- //ffmpegOK=false;
- }
- } else StatusStr=QApplication::translate("DlgCheckConfig","ffmpeg not found - critical - application will stop !");
-
- Process.terminate();
- Process.close();
-
- return ffmpegOK;
-}
-
-//====================================================================================================================
-
-DlgCheckConfig::DlgCheckConfig(QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent)
- :QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent),ui(new Ui::DlgCheckConfig) {
-
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgCheckConfig::DlgCheckConfig");
-
- ui->setupUi(this);
- OkBt =ui->OKBT;
- //CancelBt=;
- HelpBt =ui->HelpBT;
-}
-
-//====================================================================================================================
-
-DlgCheckConfig::~DlgCheckConfig() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgCheckConfig::~DlgCheckConfig");
-
- delete ui;
-}
-
-//====================================================================================================================
-// Initialise dialog
-
-void DlgCheckConfig::DoInitDialog() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgCheckConfig::DoInitDialog");
-
- QString StatusStr;
- bool Status;
-
- // exiv2
- #ifdef Q_OS_LINUX
- StatusStr=QApplication::translate("DlgCheckConfig","LibExiv2 version:")+QString("%1.%2.%3").arg(EXIV2_MAJOR_VERSION).arg(EXIV2_MINOR_VERSION).arg(EXIV2_PATCH_VERSION);
- #else
- StatusStr=QApplication::translate("DlgCheckConfig","LibExiv2/Exiv2 binary version");
- #endif
- ui->ListWidget->addItem(new QListWidgetItem(StatusStr));
- #ifdef EXIV2WITHPREVIEW
- Status=true;
- #else
- Status=false;
- #endif
- StatusStr=QApplication::translate("DlgCheckConfig","LibExiv2 support for preview image")+" "+(Status?QApplication::translate("DlgCheckConfig","available"):QApplication::translate("DlgCheckConfig","not available"));
- ui->ListWidget->addItem(new QListWidgetItem(Status?QIcon(ICON_GREEN):QIcon(ICON_YELLOW),StatusStr));
-
- ui->ListWidget->addItem(new QListWidgetItem(""));
-
- // taglib
- StatusStr=QApplication::translate("DlgCheckConfig","TAGLib version:")+QString("%1.%2.%3").arg(TAGLIB_MAJOR_VERSION).arg(TAGLIB_MINOR_VERSION).arg(TAGLIB_PATCH_VERSION);
- ui->ListWidget->addItem(new QListWidgetItem(StatusStr));
- #ifdef TAGLIBWITHFLAC
- Status=true;
- #else
- Status=false;
- #endif
- StatusStr=QApplication::translate("DlgCheckConfig","TAGLib support for FLAC")+" "+(Status?QApplication::translate("DlgCheckConfig","available"):QApplication::translate("DlgCheckConfig","not available"));
- ui->ListWidget->addItem(new QListWidgetItem(Status?QIcon(ICON_GREEN):QIcon(ICON_YELLOW),StatusStr));
- #ifdef TAGLIBWITHASF
- Status=true;
- #else
- Status=false;
- #endif
- StatusStr=QApplication::translate("DlgCheckConfig","TAGLib support for ASF/WMA")+" "+(Status?QApplication::translate("DlgCheckConfig","available"):QApplication::translate("DlgCheckConfig","not available"));
- ui->ListWidget->addItem(new QListWidgetItem(Status?QIcon(ICON_GREEN):QIcon(ICON_YELLOW),StatusStr));
- #ifdef TAGLIB_WITH_MP4
- Status=true;
- #else
- Status=false;
- #endif
- StatusStr=QApplication::translate("DlgCheckConfig","TAGLib support for M4A/MP4")+" "+(Status?QApplication::translate("DlgCheckConfig","available"):QApplication::translate("DlgCheckConfig","not available"));
- ui->ListWidget->addItem(new QListWidgetItem(Status?QIcon(ICON_GREEN):QIcon(ICON_YELLOW),StatusStr));
-
-
- ui->ListWidget->addItem(new QListWidgetItem(""));
-
- // ffmpeg
- ui->ListWidget->addItem(new QListWidgetItem("ffmpeg"));
- Status=Checkffmpeg(StatusStr);
- ui->ListWidget->addItem(new QListWidgetItem(Status?QIcon(ICON_GREEN):QIcon(ICON_RED),QApplication::translate("DlgCheckConfig","ffmpeg version:")+StatusStr));
- ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","LIBAVCODEC version:")+QString("%1").arg(LIBAVCODEC_VERSION_MAJOR)+"."+QString("%1").arg(LIBAVCODEC_VERSION_MINOR)+"."+QString("%1").arg(LIBAVCODEC_VERSION_MICRO)+"."+QString("%1").arg(avcodec_version())));
- ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","LIBAVFORMAT version:")+QString("%1").arg(LIBAVFORMAT_VERSION_MAJOR)+"."+QString("%1").arg(LIBAVFORMAT_VERSION_MINOR)+"."+QString("%1").arg(LIBAVFORMAT_VERSION_MICRO)+"."+QString("%1").arg(avformat_version())));
- ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","LIBSWSCALE version:")+QString("%1").arg(LIBSWSCALE_VERSION_MAJOR)+"."+QString("%1").arg(LIBSWSCALE_VERSION_MINOR)+"."+QString("%1").arg(LIBSWSCALE_VERSION_MICRO)+"."+QString("%1").arg(swscale_version())));
-
- #ifdef FFMPEGWITHTAG
- Status=true;
- #else
- Status=false;
- #endif
- StatusStr=QApplication::translate("DlgCheckConfig","ffmpeg support for TAG and CHAPTERS")+" "+(Status?QApplication::translate("DlgCheckConfig","available"):QApplication::translate("DlgCheckConfig","not available"));
- ui->ListWidget->addItem(new QListWidgetItem(Status?QIcon(ICON_GREEN):QIcon(ICON_YELLOW),StatusStr));
-
- ui->ListWidget->addItem(new QListWidgetItem(""));
-
- // ffmpeg
- ui->ListWidget->addItem(new QListWidgetItem(QApplication::translate("DlgCheckConfig","ffmpeg Audio Codecs")));
- for (int i=0;i<NBR_AUDIOCODECDEF;i++) ui->ListWidget->addItem(new QListWidgetItem(AUDIOCODECDEF[i].IsFind?QIcon(ICON_GREEN):QIcon(ICON_RED),QString(AUDIOCODECDEF[i].LongName)+" "+(AUDIOCODECDEF[i].IsFind?QApplication::translate("DlgCheckConfig","available"):QApplication::translate("DlgCheckConfig","not available"))));
-
- ui->ListWidget->addItem(new QListWidgetItem(""));
- ui->ListWidget->addItem(new QListWidgetItem(QApplication::translate("DlgCheckConfig","ffmpeg Video Codecs")));
- for (int i=0;i<NBR_VIDEOCODECDEF;i++) ui->ListWidget->addItem(new QListWidgetItem(VIDEOCODECDEF[i].IsFind?QIcon(ICON_GREEN):QIcon(ICON_RED),QString(VIDEOCODECDEF[i].LongName)+" "+(VIDEOCODECDEF[i].IsFind?QApplication::translate("DlgCheckConfig","available"):QApplication::translate("DlgCheckConfig","not available"))));
-
- ui->ListWidget->addItem(new QListWidgetItem(""));
- ui->ListWidget->addItem(new QListWidgetItem(QApplication::translate("DlgCheckConfig","ffmpeg Container Formats")));
- for (int i=0;i<NBR_FORMATDEF;i++) ui->ListWidget->addItem(new QListWidgetItem(FORMATDEF[i].IsFind?QIcon(ICON_GREEN):QIcon(ICON_RED),QString(FORMATDEF[i].LongName)+" "+(FORMATDEF[i].IsFind?QApplication::translate("DlgCheckConfig","available"):QApplication::translate("DlgCheckConfig","not available"))));
-
- ui->ListWidget->addItem(new QListWidgetItem(""));
-
- ui->ListWidget->addItem(new QListWidgetItem(QApplication::translate("DlgCheckConfig","Lossless")));
- if ((AUDIOCODECDEF[7].IsFind)&&(VIDEOCODECDEF[8].IsFind)&&(FORMATDEF[2].IsFind)) ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_GREEN),QApplication::translate("DlgCheckConfig","Lossless rendering")+" "+QApplication::translate("DlgCheckConfig","available")));
- else ui->ListWidget->addItem(new QListWidgetItem(QIcon(ICON_RED),QApplication::translate("DlgCheckConfig","Lossless rendering")+" "+QApplication::translate("DlgCheckConfig","not available")));
-
- ui->CheckConfigAtStartupCB->setChecked(BaseApplicationConfig->CheckConfigAtStartup);
-}
-
-//====================================================================================================================
-// Call when user click on Ok button
-
-void DlgCheckConfig::DoAccept() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgCheckConfig::DoAccept");
-
- BaseApplicationConfig->CheckConfigAtStartup=ui->CheckConfigAtStartupCB->isChecked();
-}
diff --git a/src/sharedfiles/DlgCheckConfig.h b/src/sharedfiles/DlgCheckConfig.h
deleted file mode 100755
index a6d6f1d..0000000
--- a/src/sharedfiles/DlgCheckConfig.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef DLGCHECKCONFIG_H
-#define DLGCHECKCONFIG_H
-
-// Basic inclusions (common to all files)
-#include "_GlobalDefines.h"
-#include "_QCustomDialog.h"
-
-// Include some additional standard class
-#include <QString>
-
-// Include some common various class
-#include "cBaseApplicationConfig.h"
-#include "cDeviceModelDef.h"
-#include "cSaveWindowPosition.h"
-
-namespace Ui {
- class DlgCheckConfig;
-}
-
-//bool CheckExiv2(QString &StatusStr,cBaseApplicationConfig *ApplicationConfig);
-bool Checkffmpeg(QString &StatusStr);
-
-
-class DlgCheckConfig : public QCustomDialog {
-Q_OBJECT
-public:
- explicit DlgCheckConfig(QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent = 0);
- ~DlgCheckConfig();
-
- // function to be overloaded
- virtual void DoInitDialog(); // Initialise dialog
- virtual void DoAccept(); // Call when user click on Ok button
- virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button
- virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo
- virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button
-
-private:
- Ui::DlgCheckConfig *ui;
-};
-
-#endif // DLGCHECKCONFIG_H
diff --git a/src/sharedfiles/DlgCheckConfig.ui b/src/sharedfiles/DlgCheckConfig.ui
deleted file mode 100755
index 360ac63..0000000
--- a/src/sharedfiles/DlgCheckConfig.ui
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>DlgCheckConfig</class>
- <widget class="QDialog" name="DlgCheckConfig">
- <property name="windowModality">
- <enum>Qt::WindowModal</enum>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>488</width>
- <height>300</height>
- </rect>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- </font>
- </property>
- <property name="windowTitle">
- <string>Check configuration</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>4</number>
- </property>
- <property name="margin">
- <number>8</number>
- </property>
- <item>
- <widget class="QListWidget" name="ListWidget"/>
- </item>
- <item>
- <widget class="Line" name="line">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <property name="spacing">
- <number>4</number>
- </property>
- <item>
- <widget class="QCheckBox" name="CheckConfigAtStartupCB">
- <property name="text">
- <string>Check configuration at startup</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="OKBT">
- <property name="toolTip">
- <string>Accept modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Ok</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="HelpBT">
- <property name="toolTip">
- <string>Open help page describing this dialog box</string>
- </property>
- <property name="text">
- <string>&Help</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
- </property>
- <property name="shortcut">
- <string>F1</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <resources>
- <include location="../../RSCffDiaporama.qrc"/>
- <include location="../../RSCffDiaporama.qrc"/>
- </resources>
- <connections/>
-</ui>
diff --git a/src/sharedfiles/DlgInfoFile.cpp b/src/sharedfiles/DlgInfoFile.cpp
deleted file mode 100755
index 4439a4e..0000000
--- a/src/sharedfiles/DlgInfoFile.cpp
+++ /dev/null
@@ -1,169 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "DlgInfoFile.h"
-#include "ui_DlgInfoFile.h"
-
-//====================================================================================================================
-
-DlgInfoFile::DlgInfoFile(cBaseMediaFile *MediaFile,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent)
- :QCustomDialog(HelpURL,ApplicationConfig,DlgWSP,parent),ui(new Ui::DlgInfoFile) {
-
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgInfoFile::DlgInfoFile");
-
- this->MediaFile=MediaFile;
-
- ui->setupUi(this);
- //CancelBt=ui->CancelBt;
- OkBt =ui->OkBt;
- HelpBt =ui->HelpBT;
-}
-
-//====================================================================================================================
-
-DlgInfoFile::~DlgInfoFile() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgInfoFile::~DlgInfoFile");
-
- delete ui;
-}
-
-//====================================================================================================================
-// Initialise dialog
-
-void DlgInfoFile::DoInitDialog() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DlgInfoFile::DoInitDialog");
-
- DoInitTableWidget(ui->tableWidget,"Propertie;Value");
-
- if (MediaFile) {
- // General file information
- ui->FileIconLabel->setPixmap(QPixmap().fromImage(MediaFile->Icon100));
- ui->FileNameValue->setText(MediaFile->ShortName);
- ui->FileTypeValue->setText(MediaFile->GetFileTypeStr());
- ui->FileSizeValue->setText(MediaFile->GetFileSizeStr());
- ui->FileCreatedValue->setText(MediaFile->GetFileDateTimeStr(true));
- ui->FileModifyValue->setText(MediaFile->GetFileDateTimeStr(false));
-
- //**************** Video
- if ((MediaFile->ObjectType==OBJECTTYPE_VIDEOFILE)&&(((cVideoFile *)MediaFile)->VideoTrackNbr>0)) {
- ui->VideoTable->setUpdatesEnabled(false);
- ui->VideoTitleLabel->setVisible(true);
- ui->VideoTable->setVisible(true);
- DoInitTableWidget(ui->VideoTable,"#;Image Size;Image Format;Image Geometry;Codec;Frame Rate;Bitrate");
- for (int i=0;i<((cVideoFile *)MediaFile)->VideoTrackNbr;i++) {
- QString TrackNum=QString("%1").arg(i); while (TrackNum.length()<3) TrackNum="0"+TrackNum;
- TrackNum="Video_"+TrackNum+":";
- QColor Background=((i & 0x01)==0x01)?Qt::white:QColor(0xE0,0xE0,0xE0);
- ui->VideoTable->insertRow(ui->VideoTable->rowCount());
- ui->VideoTable->setItem(ui->VideoTable->rowCount()-1,0,CreateItem(QString("%1").arg(i+1),Qt::AlignLeft|Qt::AlignVCenter,Background));
- ui->VideoTable->setItem(ui->VideoTable->rowCount()-1,1,CreateItem(MediaFile->GetImageSizeStr(cBaseMediaFile::SIZEONLY),Qt::AlignCenter|Qt::AlignVCenter,Background));
- ui->VideoTable->setItem(ui->VideoTable->rowCount()-1,2,CreateItem(MediaFile->GetImageSizeStr(cBaseMediaFile::FMTONLY),Qt::AlignCenter|Qt::AlignVCenter,Background));
- ui->VideoTable->setItem(ui->VideoTable->rowCount()-1,3,CreateItem(MediaFile->GetImageSizeStr(cBaseMediaFile::GEOONLY),Qt::AlignCenter|Qt::AlignVCenter,Background));
- ui->VideoTable->setItem(ui->VideoTable->rowCount()-1,4,CreateItem(MediaFile->GetInformationValue(TrackNum+"Codec"),Qt::AlignCenter|Qt::AlignVCenter,Background));
- ui->VideoTable->setItem(ui->VideoTable->rowCount()-1,5,CreateItem(MediaFile->GetInformationValue(TrackNum+"Frame rate"),Qt::AlignCenter|Qt::AlignVCenter,Background));
- ui->VideoTable->setItem(ui->VideoTable->rowCount()-1,6,CreateItem(MediaFile->GetInformationValue(TrackNum+"Bitrate"),Qt::AlignCenter|Qt::AlignVCenter,Background));
- }
- DoResizeColumnsTableWidget(ui->VideoTable);
- ui->VideoTable->setUpdatesEnabled(true);
- } else {
- ui->VideoTitleLabel->setVisible(false);
- ui->VideoTable->setVisible(false);
- }
-
- //**************** Chapters
- if (((MediaFile->ObjectType==OBJECTTYPE_VIDEOFILE)&&(((cVideoFile *)MediaFile)->NbrChapters>0))||((MediaFile->ObjectType==OBJECTTYPE_FFDFILE)&&(((cffDProjectFile *)MediaFile)->NbrChapters>0))) {
- ui->ChapterTable->setUpdatesEnabled(false);
- ui->ChapterTitleLabel->setVisible(true);
- ui->ChapterTable->setVisible(true);
- int NbrChapter=(MediaFile->ObjectType==OBJECTTYPE_VIDEOFILE)?((cVideoFile *)MediaFile)->NbrChapters:((MediaFile->ObjectType==OBJECTTYPE_FFDFILE)?((cffDProjectFile *)MediaFile)->NbrChapters:0);
- if (MediaFile->ObjectType==OBJECTTYPE_FFDFILE) DoInitTableWidget(ui->ChapterTable,"#;Slide;Title;Start;End;Duration");
- else DoInitTableWidget(ui->ChapterTable,"#;Title;Start;End;Duration");
- for (int i=0;i<NbrChapter;i++) {
- int Col=0;
- QString ChapterNum=QString("%1").arg(i); while (ChapterNum.length()<3) ChapterNum="0"+ChapterNum;
- ChapterNum="Chapter_"+ChapterNum+":";
- QColor Background=((i & 0x01)==0x01)?Qt::white:QColor(0xE0,0xE0,0xE0);
- ui->ChapterTable->insertRow(ui->ChapterTable->rowCount());
- ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(QString("%1").arg(i+1),Qt::AlignLeft|Qt::AlignVCenter,Background));
- if (MediaFile->ObjectType==OBJECTTYPE_FFDFILE) ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(MediaFile->GetInformationValue(ChapterNum+"InSlide"),Qt::AlignLeft|Qt::AlignVCenter,Background));
- ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(MediaFile->GetInformationValue(ChapterNum+"title"),Qt::AlignLeft|Qt::AlignVCenter,Background));
- ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(MediaFile->GetInformationValue(ChapterNum+"Start"),Qt::AlignLeft|Qt::AlignVCenter,Background));
- ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(MediaFile->GetInformationValue(ChapterNum+"End"),Qt::AlignLeft|Qt::AlignVCenter,Background));
- ui->ChapterTable->setItem(ui->ChapterTable->rowCount()-1,Col++,CreateItem(MediaFile->GetInformationValue(ChapterNum+"Duration"),Qt::AlignLeft|Qt::AlignVCenter,Background));
- }
- DoResizeColumnsTableWidget(ui->ChapterTable);
- ui->ChapterTable->setUpdatesEnabled(true);
- } else {
- ui->ChapterTitleLabel->setVisible(false);
- ui->ChapterTable->setVisible(false);
- }
-
- //**************** Audio
- if (((MediaFile->ObjectType==OBJECTTYPE_VIDEOFILE)||(MediaFile->ObjectType==OBJECTTYPE_MUSICFILE))&&(((cVideoFile *)MediaFile)->AudioTrackNbr>0)) {
- ui->AudioTable->setUpdatesEnabled(false);
- ui->AudioTitleLabel->setVisible(true);
- ui->AudioTable->setVisible(true);
- if (MediaFile->ObjectType==OBJECTTYPE_VIDEOFILE) DoInitTableWidget(ui->AudioTable,"#;Language;Codec;Channels;Bitrate;Frequency;Title");
- else DoInitTableWidget(ui->AudioTable,"#;Language;Codec;Channels;Bitrate;Frequency");
- for (int i=0;i<((cVideoFile *)MediaFile)->AudioTrackNbr;i++) {
- QString TrackNum=QString("%1").arg(i); while (TrackNum.length()<3) TrackNum="0"+TrackNum;
- TrackNum="Audio_"+TrackNum+":";
- QColor Background=((i & 0x01)==0x01)?Qt::white:QColor(0xE0,0xE0,0xE0);
- ui->AudioTable->insertRow(ui->AudioTable->rowCount());
- ui->AudioTable->setItem(ui->AudioTable->rowCount()-1,0,CreateItem(QString("%1").arg(i+1),Qt::AlignLeft|Qt::AlignVCenter,Background));
- ui->AudioTable->setItem(ui->AudioTable->rowCount()-1,1,CreateItem(MediaFile->GetInformationValue(TrackNum+"language"),Qt::AlignCenter|Qt::AlignVCenter,Background));
- ui->AudioTable->setItem(ui->AudioTable->rowCount()-1,2,CreateItem(MediaFile->GetInformationValue(TrackNum+"Codec"),Qt::AlignCenter|Qt::AlignVCenter,Background));
- ui->AudioTable->setItem(ui->AudioTable->rowCount()-1,3,CreateItem(MediaFile->GetInformationValue(TrackNum+"Channels"),Qt::AlignCenter|Qt::AlignVCenter,Background));
- ui->AudioTable->setItem(ui->AudioTable->rowCount()-1,4,CreateItem(MediaFile->GetInformationValue(TrackNum+"Bitrate"),Qt::AlignCenter|Qt::AlignVCenter,Background));
- ui->AudioTable->setItem(ui->AudioTable->rowCount()-1,5,CreateItem(MediaFile->GetInformationValue(TrackNum+"Frequency"),Qt::AlignCenter|Qt::AlignVCenter,Background));
- if (MediaFile->ObjectType==OBJECTTYPE_VIDEOFILE)
- ui->AudioTable->setItem(ui->AudioTable->rowCount()-1,6,CreateItem(MediaFile->GetInformationValue(TrackNum+"title"),Qt::AlignLeft|Qt::AlignVCenter,Background));
- }
- DoResizeColumnsTableWidget(ui->AudioTable);
- ui->AudioTable->setUpdatesEnabled(true);
- } else {
- ui->AudioTitleLabel->setVisible(false);
- ui->AudioTable->setVisible(false);
- }
-
- //**************** Additionnals
- ui->tableWidget->setUpdatesEnabled(false);
- ui->tableWidget->verticalHeader()->setResizeMode(QHeaderView::QHeaderView::ResizeToContents);
- for (int i=0;i<MediaFile->InformationList.count();i++)
- if ((!((QString)MediaFile->InformationList[i]).startsWith("Chapter_"))
- &&(!((QString)MediaFile->InformationList[i]).startsWith("Video_"))
- &&(!((QString)MediaFile->InformationList[i]).startsWith("Audio_"))
- ) {
- ui->tableWidget->insertRow(ui->tableWidget->rowCount());
- QStringList Value=MediaFile->InformationList[i].split("##");
- ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,0,new QTableWidgetItem(Value[0]));
- ui->tableWidget->setItem(ui->tableWidget->rowCount()-1,1,new QTableWidgetItem(Value[1]));
- }
- DoResizeColumnsTableWidget(ui->tableWidget);
- ui->tableWidget->setUpdatesEnabled(true);
- } else {
- ui->VideoTitleLabel->setVisible(false);
- ui->VideoTable->setVisible(false);
- ui->ChapterTitleLabel->setVisible(false);
- ui->ChapterTable->setVisible(false);
- ui->AudioTitleLabel->setVisible(false);
- ui->AudioTable->setVisible(false);
- }
-}
diff --git a/src/sharedfiles/DlgInfoFile.h b/src/sharedfiles/DlgInfoFile.h
deleted file mode 100755
index c7966ac..0000000
--- a/src/sharedfiles/DlgInfoFile.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef DLGINFOFILE_H
-#define DLGINFOFILE_H
-
-// Basic inclusions (common to all files)
-#include "_GlobalDefines.h"
-#include "_QCustomDialog.h"
-
-// Include some additional standard class
-#include <QString>
-
-// Include some common various class
-#include "cBaseApplicationConfig.h"
-#include "cSaveWindowPosition.h"
-#include "cBaseMediaFile.h"
-
-namespace Ui {
- class DlgInfoFile;
-}
-
-class DlgInfoFile : public QCustomDialog {
-Q_OBJECT
-public:
- cBaseMediaFile *MediaFile;
-
- explicit DlgInfoFile(cBaseMediaFile *MediaFile,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent = 0);
- ~DlgInfoFile();
-
- // function to be overloaded
- virtual void DoInitDialog(); // Initialise dialog
- virtual void DoAccept() {/*Nothing to do*/} // Call when user click on Ok button
- virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button
- virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo
- virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button
-
-private:
-
- Ui::DlgInfoFile *ui;
-};
-
-#endif // DLGINFOFILE_H
diff --git a/src/sharedfiles/DlgInfoFile.ui b/src/sharedfiles/DlgInfoFile.ui
deleted file mode 100755
index a01fa25..0000000
--- a/src/sharedfiles/DlgInfoFile.ui
+++ /dev/null
@@ -1,464 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>DlgInfoFile</class>
- <widget class="QDialog" name="DlgInfoFile">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>454</width>
- <height>537</height>
- </rect>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>300</height>
- </size>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- </font>
- </property>
- <property name="windowTitle">
- <string>File information</string>
- </property>
- <layout class="QGridLayout" name="gridLayout_3">
- <property name="margin">
- <number>8</number>
- </property>
- <property name="spacing">
- <number>4</number>
- </property>
- <item row="0" column="0">
- <widget class="QScrollArea" name="scrollArea">
- <property name="frameShape">
- <enum>QFrame::NoFrame</enum>
- </property>
- <property name="widgetResizable">
- <bool>true</bool>
- </property>
- <widget class="QWidget" name="scrollAreaWidgetContents_2">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>420</width>
- <height>577</height>
- </rect>
- </property>
- <layout class="QGridLayout" name="gridLayout_4">
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>4</number>
- </property>
- <item row="0" column="0" colspan="2">
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <property name="spacing">
- <number>4</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="FileIconLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>96</width>
- <height>96</height>
- </size>
- </property>
- <property name="frameShape">
- <enum>QFrame::Box</enum>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QGridLayout" name="gridLayout_2">
- <item row="0" column="0">
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>File name :</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>File type :</string>
- </property>
- </widget>
- </item>
- <item row="0" column="2">
- <widget class="QLabel" name="FileNameValue">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"><filename></string>
- </property>
- </widget>
- </item>
- <item row="1" column="2">
- <widget class="QLabel" name="FileTypeValue">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"><filetype></string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_6">
- <property name="text">
- <string>File size :</string>
- </property>
- </widget>
- </item>
- <item row="2" column="2">
- <widget class="QLabel" name="FileSizeValue">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string notr="true"><filesize></string>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="label">
- <property name="text">
- <string>File created :</string>
- </property>
- </widget>
- </item>
- <item row="3" column="2">
- <widget class="QLabel" name="FileCreatedValue">
- <property name="text">
- <string notr="true"><filedate></string>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="label_4">
- <property name="text">
- <string>File modify :</string>
- </property>
- </widget>
- </item>
- <item row="4" column="2">
- <widget class="QLabel" name="FileModifyValue">
- <property name="text">
- <string notr="true"><filedate></string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </item>
- <item row="2" column="1">
- <widget class="QTableWidget" name="VideoTable">
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- </widget>
- </item>
- <item row="1" column="0" colspan="2">
- <widget class="QLabel" name="VideoTitleLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Video track information</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- </widget>
- </item>
- <item row="5" column="1">
- <widget class="QTableWidget" name="AudioTable">
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_8">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>20</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>20</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="text">
- <string notr="true"/>
- </property>
- </widget>
- </item>
- <item row="3" column="0" colspan="2">
- <widget class="QLabel" name="AudioTitleLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Audio track information</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- </widget>
- </item>
- <item row="6" column="0" colspan="2">
- <widget class="QLabel" name="ChapterTitleLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Chapter information</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- </widget>
- </item>
- <item row="7" column="1">
- <widget class="QTableWidget" name="ChapterTable">
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- </widget>
- </item>
- <item row="9" column="1">
- <widget class="QTableWidget" name="tableWidget">
- <property name="font">
- <font>
- <pointsize>8</pointsize>
- </font>
- </property>
- <property name="horizontalScrollMode">
- <enum>QAbstractItemView::ScrollPerPixel</enum>
- </property>
- </widget>
- </item>
- <item row="8" column="0" colspan="2">
- <widget class="QLabel" name="label_5">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>24</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>16777215</width>
- <height>24</height>
- </size>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- <underline>true</underline>
- </font>
- </property>
- <property name="text">
- <string>Additional information</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="Line" name="line">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>4</number>
- </property>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="OkBt">
- <property name="toolTip">
- <string>Accept modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Ok</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="HelpBT">
- <property name="toolTip">
- <string>Open help page describing this dialog box</string>
- </property>
- <property name="text">
- <string>&Help</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
- </property>
- <property name="shortcut">
- <string>F1</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <tabstops>
- <tabstop>scrollArea</tabstop>
- <tabstop>VideoTable</tabstop>
- <tabstop>AudioTable</tabstop>
- <tabstop>ChapterTable</tabstop>
- <tabstop>tableWidget</tabstop>
- <tabstop>OkBt</tabstop>
- <tabstop>HelpBT</tabstop>
- </tabstops>
- <resources>
- <include location="../../RSCffDiaporama.qrc"/>
- <include location="../../RSCffDiaporama.qrc"/>
- </resources>
- <connections/>
-</ui>
diff --git a/src/sharedfiles/DlgManageDevices.h b/src/sharedfiles/DlgManageDevices.h
deleted file mode 100755
index f547372..0000000
--- a/src/sharedfiles/DlgManageDevices.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef DLGMANAGEDEVICES_H
-#define DLGMANAGEDEVICES_H
-
-// Basic inclusions (common to all files)
-#include "_GlobalDefines.h"
-#include "_QCustomDialog.h"
-
-// Include some additional standard class
-#include <QString>
-#include <QComboBox>
-
-// Include some common various class
-#include "cBaseApplicationConfig.h"
-#include "cDeviceModelDef.h"
-#include "cSaveWindowPosition.h"
-
-namespace Ui {
- class DlgManageDevices;
-}
-
-class DlgManageDevices : public QCustomDialog {
-Q_OBJECT
-public:
- cDeviceModelList *DeviceModelList;
- bool IsDeviceChanged;
- int CurrentDevice;
- int CurrentDeviceIndex;
- QComboBox *CB_SL[9][3];
- QComboBox *CB_BA[9][3];
- QComboBox *CB_SL_CLIPARTST[3];
- QComboBox *CB_BA_CLIPARTST[3];
-
- explicit DlgManageDevices(cDeviceModelList *DeviceModelList,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent = 0);
- ~DlgManageDevices();
-
- // function to be overloaded
- virtual void DoInitDialog(); // Initialise dialog
- virtual void DoAccept(); // Call when user click on Ok button
- virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button
- virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo
- virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button
-
-protected:
- void AskApplyDBChange();
-
-private slots:
- // Device database tab
- void DBApplyChange();
- void DBAddDevice();
- void DBRemoveBT();
- void DBResetToDefaultBT();
- void DBFillTableDevice(int);
- void DBImageSizeCombo(int);
- void DBFileFormatCombo(int);
- void DBSelectionChanged();
- void DBChImageSizeCB(int);
- void DBVideoBitRateCB(int);
- void DBAudioBitRateCB(int);
- void DBChModel(QString);
- void DBDeviceSubtypeCB(int);
- void DBChVideoBitRateCB(int);
- void DBChAudioBitRateCB(int);
-
-private:
- Ui::DlgManageDevices *ui;
-};
-
-#endif // DLGMANAGEDEVICES_H
diff --git a/src/sharedfiles/DlgManageDevices.ui b/src/sharedfiles/DlgManageDevices.ui
deleted file mode 100755
index 9edf1fd..0000000
--- a/src/sharedfiles/DlgManageDevices.ui
+++ /dev/null
@@ -1,546 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>DlgManageDevices</class>
- <widget class="QDialog" name="DlgManageDevices">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>700</width>
- <height>500</height>
- </rect>
- </property>
- <property name="minimumSize">
- <size>
- <width>700</width>
- <height>500</height>
- </size>
- </property>
- <property name="windowTitle">
- <string>Manage Devices</string>
- </property>
- <layout class="QGridLayout" name="gridLayout_3">
- <property name="margin">
- <number>8</number>
- </property>
- <property name="spacing">
- <number>4</number>
- </property>
- <item row="0" column="0">
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="DeviceTypeLabel">
- <property name="text">
- <string>Device type :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QComboBox" name="DBDeviceTypeCB">
- <property name="toolTip">
- <string>Select the type of equipment to be shown in the list.</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0" colspan="2">
- <widget class="QTableWidget" name="TableDevice">
- <property name="font">
- <font>
- <pointsize>9</pointsize>
- </font>
- </property>
- <property name="editTriggers">
- <set>QAbstractItemView::NoEditTriggers</set>
- </property>
- <property name="showDropIndicator" stdset="0">
- <bool>false</bool>
- </property>
- <property name="dragDropOverwriteMode">
- <bool>false</bool>
- </property>
- <property name="selectionMode">
- <enum>QAbstractItemView::SingleSelection</enum>
- </property>
- <property name="selectionBehavior">
- <enum>QAbstractItemView::SelectRows</enum>
- </property>
- <property name="verticalScrollMode">
- <enum>QAbstractItemView::ScrollPerItem</enum>
- </property>
- <property name="horizontalScrollMode">
- <enum>QAbstractItemView::ScrollPerPixel</enum>
- </property>
- <property name="sortingEnabled">
- <bool>true</bool>
- </property>
- <property name="wordWrap">
- <bool>false</bool>
- </property>
- <property name="cornerButtonEnabled">
- <bool>false</bool>
- </property>
- <attribute name="horizontalHeaderHighlightSections">
- <bool>false</bool>
- </attribute>
- <attribute name="horizontalHeaderStretchLastSection">
- <bool>true</bool>
- </attribute>
- <attribute name="verticalHeaderVisible">
- <bool>false</bool>
- </attribute>
- <column>
- <property name="text">
- <string notr="true">#</string>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>8</pointsize>
- </font>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Subtype</string>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- </font>
- </property>
- </column>
- <column>
- <property name="text">
- <string>Model</string>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- <pointsize>9</pointsize>
- </font>
- </property>
- </column>
- </widget>
- </item>
- <item row="2" column="0" colspan="2">
- <layout class="QHBoxLayout" name="horizontalLayout_5">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QPushButton" name="DBAddDevice">
- <property name="toolTip">
- <string>Create a new equipment which comes to be added in the database.</string>
- </property>
- <property name="text">
- <string>Add Device</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/db_add.png</normaloff>:/img/db_add.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="DBRemoveBT">
- <property name="toolTip">
- <string>Delete current equipment.</string>
- </property>
- <property name="text">
- <string>Remove Device</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/db_remove.png</normaloff>:/img/db_remove.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="DBResetBT">
- <property name="toolTip">
- <string>Cancel the modifications that you made on an equipment defined in the default ffDiaporama database</string>
- </property>
- <property name="text">
- <string>Reset Device to Default</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/db_status.png</normaloff>:/img/db_status.png</iconset>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="label_33">
- <property name="text">
- <string>Device subtype :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
- <widget class="QComboBox" name="DBDeviceSubtypeCB">
- <property name="toolTip">
- <string>Select the category in which is classified the equipment.</string>
- </property>
- </widget>
- </item>
- <item row="5" column="0">
- <widget class="QLabel" name="DeviceModelLabel">
- <property name="text">
- <string>Device model :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="6" column="0">
- <widget class="QLabel" name="FileFormatLabel">
- <property name="text">
- <string>File format :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="5" column="1">
- <widget class="QLineEdit" name="DBDeviceModelED">
- <property name="toolTip">
- <string>Enter here the name of the equipment (free text field).</string>
- </property>
- </widget>
- </item>
- <item row="6" column="1">
- <widget class="QComboBox" name="DBFileFormatCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="toolTip">
- <string>Select the file type to use for the rendering.</string>
- </property>
- </widget>
- </item>
- <item row="7" column="0">
- <widget class="QLabel" name="StandardLabel">
- <property name="text">
- <string>Video standard :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="7" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_14">
- <property name="spacing">
- <number>2</number>
- </property>
- <item>
- <widget class="QComboBox" name="DBStandardCB">
- <property name="toolTip">
- <string>Select the video standard to use, PAL or NTSC.</string>
- </property>
- <item>
- <property name="text">
- <string>PAL</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>NTSC</string>
- </property>
- </item>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_9">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item row="8" column="0">
- <widget class="QLabel" name="ImageSizeLabel">
- <property name="text">
- <string>Image format :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="8" column="1">
- <widget class="QComboBox" name="DBImageSizeCombo">
- <property name="toolTip">
- <string>Select the image resolution to use for the rendering.</string>
- </property>
- <property name="currentIndex">
- <number>-1</number>
- </property>
- </widget>
- </item>
- <item row="9" column="0">
- <widget class="QLabel" name="VideoFormatLabel">
- <property name="text">
- <string>Video codec :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="9" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_11">
- <property name="spacing">
- <number>2</number>
- </property>
- <item>
- <widget class="QComboBox" name="DBVideoFormatCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>150</width>
- <height>0</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select the video codec to use for the rendering.</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="VideoBitRateLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Bit rate :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="DBVideoBitRateCB">
- <property name="minimumSize">
- <size>
- <width>80</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>80</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select the bit rate to use for video during the rendering.</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="10" column="0">
- <widget class="QLabel" name="AudioFormatLabel">
- <property name="text">
- <string>Audio codec :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="10" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_16">
- <property name="spacing">
- <number>2</number>
- </property>
- <item>
- <widget class="QComboBox" name="DBAudioFormatCB">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>150</width>
- <height>0</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select the audio codec to use for the rendering.</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="AudioBitRateLabel">
- <property name="text">
- <string>Bit rate :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="DBAudioBitRateCB">
- <property name="minimumSize">
- <size>
- <width>80</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>80</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="toolTip">
- <string>Select the bit rate to use for audio during the rendering.</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="11" column="0">
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item row="1" column="0">
- <widget class="Line" name="line">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>4</number>
- </property>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="DBApplyBT">
- <property name="text">
- <string>Apply</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="OkBt">
- <property name="toolTip">
- <string>Accept modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Ok</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="CancelBt">
- <property name="toolTip">
- <string>Cancel modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Cancel</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="HelpBT">
- <property name="toolTip">
- <string>Open help page describing this dialog box</string>
- </property>
- <property name="text">
- <string>&Help</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
- </property>
- <property name="shortcut">
- <string>F1</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <resources>
- <include location="../../RSCffDiaporama.qrc"/>
- <include location="../../RSCffDiaporama.qrc"/>
- </resources>
- <connections/>
-</ui>
diff --git a/src/sharedfiles/DlgffDPjrProperties.h b/src/sharedfiles/DlgffDPjrProperties.h
deleted file mode 100755
index 3954995..0000000
--- a/src/sharedfiles/DlgffDPjrProperties.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef DLGFFDPJRPROPERTIES_H
-#define DLGFFDPJRPROPERTIES_H
-
-// Basic inclusions (common to all files)
-#include "_GlobalDefines.h"
-#include "_QCustomDialog.h"
-
-// Include some additional standard class
-#include <QString>
-#include <QDialog>
-
-// Include some common various class
-#include "cBaseApplicationConfig.h"
-#include "cBaseMediaFile.h"
-
-namespace Ui {
- class DlgffDPjrProperties;
-}
-
-class DlgffDPjrProperties : public QCustomDialog {
-Q_OBJECT
-public:
- cffDProjectFile *ffdProject;
-
- explicit DlgffDPjrProperties(cffDProjectFile *ffdProject,QString HelpURL,cBaseApplicationConfig *ApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent = 0);
- ~DlgffDPjrProperties();
-
- // function to be overloaded
- virtual void DoInitDialog(); // Initialise dialog
- virtual void DoAccept(); // Call when user click on Ok button
- virtual void DoRejet() {/*Nothing to do*/} // Call when user click on Cancel button
- virtual void PrepareGlobalUndo() {/*Nothing to do*/} // Initiale Undo
- virtual void DoGlobalUndo() {/*Nothing to do*/} // Apply Undo : call when user click on Cancel button
-
-private:
- Ui::DlgffDPjrProperties *ui;
-};
-
-#endif // DLGFFDPJRPROPERTIES_H
diff --git a/src/sharedfiles/DlgffDPjrProperties.ui b/src/sharedfiles/DlgffDPjrProperties.ui
deleted file mode 100755
index 38bb19d..0000000
--- a/src/sharedfiles/DlgffDPjrProperties.ui
+++ /dev/null
@@ -1,273 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>DlgffDPjrProperties</class>
- <widget class="QDialog" name="DlgffDPjrProperties">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>400</width>
- <height>416</height>
- </rect>
- </property>
- <property name="font">
- <font>
- <family>Sans Serif</family>
- </font>
- </property>
- <property name="windowTitle">
- <string>Project properties</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>4</number>
- </property>
- <property name="margin">
- <number>8</number>
- </property>
- <item>
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Title :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QLineEdit" name="TitleED">
- <property name="maxLength">
- <number>30</number>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>Author :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>Album :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_4">
- <property name="text">
- <string>Year :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QLineEdit" name="AuthorED">
- <property name="maxLength">
- <number>30</number>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QLineEdit" name="AlbumED">
- <property name="maxLength">
- <number>30</number>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QSpinBox" name="YearED">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimum">
- <number>1970</number>
- </property>
- <property name="maximum">
- <number>2050</number>
- </property>
- <property name="value">
- <number>2011</number>
- </property>
- </widget>
- </item>
- <item row="5" column="1">
- <widget class="QPlainTextEdit" name="CommentED">
- <property name="lineWrapMode">
- <enum>QPlainTextEdit::NoWrap</enum>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="label_7">
- <property name="text">
- <string>Language :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_10">
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <widget class="QLineEdit" name="LanguageED">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>50</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>50</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="text">
- <string>und</string>
- </property>
- <property name="maxLength">
- <number>3</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_6">
- <property name="text">
- <string>(ISO 639 language code)</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="5" column="0">
- <widget class="QLabel" name="label_5">
- <property name="text">
- <string>Comment :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
- </property>
- </widget>
- </item>
- <item row="6" column="0">
- <widget class="QLabel" name="label_8">
- <property name="text">
- <string>Chapters :</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
- </property>
- </widget>
- </item>
- <item row="6" column="1">
- <widget class="QTableWidget" name="ChapterTable"/>
- </item>
- </layout>
- </item>
- <item>
- <widget class="Line" name="line">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>4</number>
- </property>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="OkBt">
- <property name="toolTip">
- <string>Accept modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Ok</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/action_ok.png</normaloff>:/img/action_ok.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="CancelBt">
- <property name="toolTip">
- <string>Cancel modification and exit dialog box</string>
- </property>
- <property name="text">
- <string>&Cancel</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/action_cancel.png</normaloff>:/img/action_cancel.png</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="HelpBT">
- <property name="toolTip">
- <string>Open help page describing this dialog box</string>
- </property>
- <property name="text">
- <string>&Help</string>
- </property>
- <property name="icon">
- <iconset resource="../../RSCffDiaporama.qrc">
- <normaloff>:/img/help.png</normaloff>:/img/help.png</iconset>
- </property>
- <property name="shortcut">
- <string>F1</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <resources>
- <include location="../../RSCffDiaporama.qrc"/>
- <include location="../../RSCffDiaporama.qrc"/>
- </resources>
- <connections/>
-</ui>
diff --git a/src/sharedfiles/QCustomRuller.cpp b/src/sharedfiles/QCustomRuller.cpp
deleted file mode 100755
index def6742..0000000
--- a/src/sharedfiles/QCustomRuller.cpp
+++ /dev/null
@@ -1,235 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "QCustomRuller.h"
-
-#include <QPainter>
-#include <QFont>
-
-//======================================
-// Specific defines for this dialog box
-//======================================
-#define TAQUET_SIZE 9 // TAQUET_SIZE is QSlider::handle:horizontal (width+margin)/2
-#define CompletTickH1 3 // Y start position of the complete tick line
-#define CompletTickH2 15 // Y end position of the complete tick line
-#define IntermediateTickH1 7 // Y start position of the intermediate tick line
-#define IntermediateTickH2 15 // Y end position of the intermediate tick line
-#define ThumbWidth 14 // Width of the thumb
-#define ThumbHeight 20 // Height of the thumb
-#define ThumbYPos 16 // Y midle position of the thumb
-
-//====================================================================================================================
-
-QCustomRuller::QCustomRuller(QWidget *parent):QSlider(parent) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomRuller::QCustomRuller");
-
- StartPos=0;
- EndPos =0;
- setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed);
- setFixedHeight(32);
-}
-
-//====================================================================================================================
-
-void QCustomRuller::ActiveSlider(int TotalDuration) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomRuller::ActiveSlider");
-
- this->TotalDuration=TotalDuration;
-}
-
-//====================================================================================================================
-
-void QCustomRuller::resizeEvent(QResizeEvent *) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomRuller::resizeEvent");
-
-// if (Slider!=NULL) Slider->setMinimumWidth(this->width());
-}
-
-//====================================================================================================================
-
-void QCustomRuller::mousePressEvent(QMouseEvent *ev) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomRuller::mousePressEvent");
-
- if (ev->button()==Qt::LeftButton) {
- int x1 =int(double(this->width()-TAQUET_SIZE*2)*(double(value())/double(maximum())))+TAQUET_SIZE;
- if ((ev->x()>=x1-ThumbWidth/2)&&(ev->x()<=x1+ThumbWidth/2)) QSlider::mousePressEvent(ev); // It's on the thumb
- else if ((ev->x()>=TAQUET_SIZE-ThumbWidth/2)&&(ev->x()<=this->width()-TAQUET_SIZE+ThumbWidth/2)) // Set new value
- setValue(int(double((ev->x()-TAQUET_SIZE)/double(this->width()-TAQUET_SIZE*2))*double(maximum())));
- }
-}
-
-//====================================================================================================================
-
-void QCustomRuller::paintEvent(QPaintEvent *) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomRuller::paintEvent");
-
- QFont Font("DejaVu Sans",6,QFont::Normal,QFont::StyleNormal);
- QPainter Painter(this);
- double Width = double(this->width());
- double Height = double(this->height());
- int TextHPosition= 28; //(Slider==NULL?9:28);
- int WidthTick = QFontMetrics(Font).width("00:00");
-
- //********************************************************
- // Draw slider background
- //********************************************************
-
- // Prepare QPainter
- Painter.setFont(Font);
- Painter.setPen(Qt::white);
- Painter.fillRect(QRect(0,0,Width,Height),QColor(Qt::black));
-
- if ((TotalDuration!=0)&&(StartPos<EndPos)) {
- // Draw zone
- long PosStart=long((Width-TAQUET_SIZE*2)*(double(StartPos)/double(TotalDuration)));
- long PosEnd =long((Width-TAQUET_SIZE*2)*(double(EndPos)/double(TotalDuration)));
- Painter.fillRect(QRect(TAQUET_SIZE+PosStart,IntermediateTickH1,PosEnd-PosStart,IntermediateTickH2),QColor(Qt::blue));
- // Draw previous zone
- if (PreviousStartPos!=-1) {
- Painter.setOpacity(0.5);
- //long PosStart=long((Width-TAQUET_SIZE*2)*(double(PreviousStartPos)/double(TotalDuration)));
- long aPosEnd =long((Width-TAQUET_SIZE*2)*(double(PrevisousEndPos)/double(TotalDuration)));
- Painter.fillRect(QRect(TAQUET_SIZE+PosStart,IntermediateTickH1,aPosEnd-PosStart,IntermediateTickH2),QColor(Qt::green));
- Painter.setOpacity(1);
- }
- // Draw next zone
- if (NextStartPos!=-1) {
- Painter.setOpacity(0.5);
- long aPosStart=long((Width-TAQUET_SIZE*2)*(double(NextStartPos)/double(TotalDuration)));
- //long PosEnd =long((Width-TAQUET_SIZE*2)*(double(NextEndPos)/double(TotalDuration)));
- Painter.fillRect(QRect(TAQUET_SIZE+aPosStart,IntermediateTickH1,PosEnd-aPosStart,IntermediateTickH2),QColor(Qt::red));
- Painter.setOpacity(1);
- }
- }
-
- // Now : Draw line and texte of the ruller
-
- // Define an echelle
- double Duration=TotalDuration/1000; // Calc duration in sec (double)
- double SizeTick;
- QString Ech;
-
- // Test for WidthTick pixels between 2 ticks
- if ((Duration<10)&&(Width/Duration)>WidthTick) {
- Ech ="S" ; // Use sec as echelle
- SizeTick=(Width-TAQUET_SIZE*2)/Duration;
- } else if ((Duration<600)&&((Width-TAQUET_SIZE*2)/(Duration/10))>WidthTick) {
- Ech="10S"; // Use 10 sec as echelle
- SizeTick=(Width-TAQUET_SIZE*2)/(Duration/10);
- } else if ((Duration<6000)&&(((Width-TAQUET_SIZE*2)/(Duration/60))>WidthTick)) {
- Ech="M"; // Use minute as echelle
- SizeTick=(Width-TAQUET_SIZE*2)/(Duration/60);
- } else if ((Duration<360000)&&(((Width-TAQUET_SIZE*2)/(Duration/600))>WidthTick)) {
- Ech="10M"; // Use 10 minute as echelle
- SizeTick=(Width-TAQUET_SIZE*2)/(Duration/600);
- } else {
- Ech="H"; // Use hour as echelle
- SizeTick=(Width-TAQUET_SIZE*2)/(Duration/3600);
- }
-
- short int TimeSec = 0;
- short int TimeMin = 0;
- short int TimeHour = 0;
- short int Cur = 0;
- QString Text;
-
- while ((TAQUET_SIZE*2+Cur*SizeTick+(WidthTick/2))<Width) {
- Painter.drawLine(TAQUET_SIZE+Cur*SizeTick,CompletTickH1,TAQUET_SIZE+Cur*SizeTick,CompletTickH2);
-
- // Draw text
- if ((Ech=="H")||(Ech=="10M")) Text=QString("%1:%2").arg(TimeHour,2,10,QChar('0')).arg(TimeMin,2,10,QChar('0'));
- else Text=QString("%1:%2").arg(TimeMin,2,10,QChar('0')).arg(TimeSec,2,10,QChar('0'));
-
- if ((!((TimeSec==0)&&(TimeMin==0)&&(TimeHour==0)))&&((TAQUET_SIZE+Cur*SizeTick+(WidthTick/2))<Width))
- Painter.drawText(TAQUET_SIZE+Cur*SizeTick-(WidthTick/2),TextHPosition,Text);
-
- // Draw intermediate tick and then increment time depending on echelle
- if (Ech=="S") {
- TimeSec+=1;
- Text="";
- } else if (Ech=="10S") {
- // Draw an intermediate tick
- Painter.drawLine(TAQUET_SIZE+(Cur+0.5)*SizeTick,IntermediateTickH1,TAQUET_SIZE+(Cur+0.5)*SizeTick,IntermediateTickH2);
- Text=QString("%1:%2").arg(TimeMin,2,10,QChar('0')).arg(TimeSec+5,2,10,QChar('0'));
- TimeSec+=10;
- } else if (Ech=="M") {
- // Draw an intermediate tick
- Painter.drawLine(TAQUET_SIZE+(Cur+0.5)*SizeTick,IntermediateTickH1,TAQUET_SIZE+(Cur+0.5)*SizeTick,IntermediateTickH2);
- Text=QString("%1:%2").arg(TimeMin,2,10,QChar('0')).arg(TimeSec+30,2,10,QChar('0'));
- TimeMin+=1;
- } else if (Ech=="10M") {
- // Draw an intermediate tick
- Painter.drawLine(TAQUET_SIZE+(Cur+0.5)*SizeTick,IntermediateTickH1,TAQUET_SIZE+(Cur+0.5)*SizeTick,IntermediateTickH2);
- Text=QString("%1:%2").arg(TimeHour,2,10,QChar('0')).arg(TimeMin+5,2,10,QChar('0'));
- TimeMin+=10;
- } else {
- // Draw an intermediate tick
- Painter.drawLine(TAQUET_SIZE+(Cur+0.5)*SizeTick,IntermediateTickH1,TAQUET_SIZE+(Cur+0.5)*SizeTick,IntermediateTickH2);
- Text=QString("%1:%2").arg(TimeHour,2,10,QChar('0')).arg(TimeMin+30,2,10,QChar('0'));
- TimeHour+=1;
- }
- // Draw text if there is place !
- if ((WidthTick<(SizeTick/3))&&(TAQUET_SIZE+(Cur+0.5)*SizeTick+(WidthTick/2)<Width)) Painter.drawText(TAQUET_SIZE+(Cur+0.5)*SizeTick-(WidthTick/2),TextHPosition,Text);
-
- // Adjust time
- if (TimeSec>59) {
- TimeSec-=60;
- TimeMin+=1;
- }
- if (TimeMin>59) {
- TimeMin-=60;
- TimeHour+=1;
- }
-
- // Go to next tick
- Cur=Cur+1;
- }
- Painter.setPen(QColor(0x20,0x20,0x20));
- Painter.drawLine(0,0,Width,0);
-
- //********************************************************
- // Draw slider
- //********************************************************
-
- Painter.setPen(QColor(0x20,0x20,0x20));
- Painter.setBrush(QBrush(QColor(0xA0,0xA0,0xA0)));
- Painter.drawRect(TAQUET_SIZE-1,15,Width-TAQUET_SIZE*2+2,5);
-
- //********************************************************
- // Draw thumb
- //********************************************************
- int x1 =int(double(Width-TAQUET_SIZE*2)*(double(value())/double(maximum())))+TAQUET_SIZE;
- QPointF Table[10];
- double vcos,vsin,Angle;
- int i;
-
- Angle=90;
- for (i=0;i<3;i++) {
- vcos=cos(Angle*3.14159265/180)*(ThumbWidth/2);
- vsin=sin(Angle*3.14159265/180)*(ThumbHeight/2);
- Table[i]=QPointF(x1+vcos,ThumbYPos-vsin);
- Angle=Angle+(double(360)/3);
- if (Angle>=360) Angle=-Angle+360;
- }
- Painter.setBrush(QBrush(QColor(0xCC,0xCC,0xCC)));
- Painter.drawPolygon(Table,3);
- Painter.setPen(QColor(0x70,0x70,0x70));
- Painter.drawLine(x1,7,x1,16);
-}
diff --git a/src/sharedfiles/QCustomRuller.h b/src/sharedfiles/QCustomRuller.h
deleted file mode 100755
index 047fac9..0000000
--- a/src/sharedfiles/QCustomRuller.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef QCUSTOMRULLER_H
-#define QCUSTOMRULLER_H
-
-// Basic inclusions (common to all files)
-#include "_GlobalDefines.h"
-
-#include <QLabel>
-#include <QSlider>
-#include <QPaintEvent>
-#include <QResizeEvent>
-#include <QMouseEvent>
-
-class QCustomRuller : public QSlider {
-Q_OBJECT
-public:
- int TotalDuration; // Total duration in MSec of the movie
- int StartPos; // Start position of the marked zone
- int EndPos; // End position of the marked zone
- int PreviousStartPos; // Start position of the previous slide
- int PrevisousEndPos; // End position of the previous slide
- int NextStartPos; // Start position of the next slide
- int NextEndPos; // End position of the next slide
-
- explicit QCustomRuller(QWidget *parent = 0);
-
- void ActiveSlider(int TotalDuration);
-
-protected:
- virtual void resizeEvent(QResizeEvent *);
- virtual void paintEvent (QPaintEvent *);
- virtual void mousePressEvent(QMouseEvent *);
-
-signals:
-
-public slots:
-
-};
-
-#endif // QCUSTOMRULLER_H
diff --git a/src/sharedfiles/_GlobalDefines.cpp b/src/sharedfiles/_GlobalDefines.cpp
deleted file mode 100755
index 3aed44a..0000000
--- a/src/sharedfiles/_GlobalDefines.cpp
+++ /dev/null
@@ -1,128 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-// Basic inclusions (common to all files)
-#include <iostream>
-#include "_GlobalDefines.h"
-
-int LogMsgLevel=LOGMSG_INFORMATION; // Level from wich debug message was print to stdout
-QStringList EventList; // Internal event queue
-QObject *EventReceiver=NULL; // Windows wich receive event
-
-#ifdef Q_OS_WIN
- bool IsWindowsXP=false;
-
- #include <windows.h>
- #include <winbase.h>
- #include <stdio.h>
-
- // set low fragmentation heap to remove memory error
- // from http://social.msdn.microsoft.com/forums/en-US/vclanguage/thread/7eec66a1-07b5-47aa-816d-7c1d7f7be274
- // NOTE: To enable the low-fragmentation heap when running under a debugger, set the _NO_DEBUG_HEAP environment variable to 1.
- void SetLFHeap() {
-
- // Re-attach stdio if application was started from a console
- BOOL (WINAPI *pAttachConsole)(DWORD dwProcessId);
- pAttachConsole = (BOOL (WINAPI*)(DWORD))
- GetProcAddress(LoadLibraryA("kernel32.dll"), "AttachConsole");
-
- if (pAttachConsole != NULL && pAttachConsole(((DWORD)-1))) {
- if (_fileno(stdout) < 0) freopen("CONOUT$","wb",stdout);
- if (_fileno(stderr) < 0) freopen("CONOUT$","wb",stderr);
- if (_fileno(stdin) < 0) freopen("CONIN$","rb",stdin);
- std::ios::sync_with_stdio(); // Fix C++
- }
-
- // Check Windows System Version
- if (QSysInfo().WindowsVersion<0x0030) { // prior to Windows XP
-
- ToLog(LOGMSG_CRITICAL,"Sorry but this application can't work on this system");
- exit(1);
-
- } else if (QSysInfo().WindowsVersion==0x0030) { // If Windows XP
-
- IsWindowsXP=true;
-
- // Why would we have have to code it the hard way, that is by pulling the function out of the kernel32.dll?
- // VS 6.0 doesn't have the API defined in its headers.
-
- // Missing enum borrowed from: C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include\WinNT.h(8815)
- typedef enum _HEAP_INFORMATION_CLASS {
- HeapCompatibilityInformation
- } HEAP_INFORMATION_CLASS;
-
- // Function pointer prototype
- typedef BOOL (WINAPI *Function_HeapSetInformation) (HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T);
-
- WCHAR WinFileName[256+1];
- MultiByteToWideChar(CP_ACP,0,QString("kernel32.dll").toLocal8Bit(),-1,WinFileName,256+1);
- HMODULE hKernel32 = GetModuleHandle(WinFileName);
-
- if(hKernel32) {
- Function_HeapSetInformation heapSetInfo;
- ULONG heapFlags = 2; // LFH == 2
- HANDLE hProcessHeap = GetProcessHeap();
- heapSetInfo = (Function_HeapSetInformation)GetProcAddress(hKernel32, "HeapSetInformation");
- if (heapSetInfo) {
- if(heapSetInfo(hProcessHeap, HeapCompatibilityInformation, &heapFlags, sizeof(ULONG))) {
- ToLog(LOGMSG_INFORMATION,"DLLMain's Request for Low Fragmentation Heap for the Process Heap Successful");
- } else {
- ToLog(LOGMSG_WARNING,"DLLMain's Request for Low Fragmentation Heap for the Process Heap Unsuccessful. Will Run with the Standard Heap Allocators");
- }
- #if _MSC_VER >= 1300
- // no way to get the pointer to the CRT heap in VC 6.0 (_crtheap)
- if(heapSetInfo((HANDLE)_get_heap_handle(), HeapCompatibilityInformation, &heapFlags, sizeof(ULONG))) {
- ToLog(LOGMSG_INFORMATION,"DLLMain's Request for Low Fragmentation for the CRT Heap Successful";
- } else {
- ToLog(LOGMSG_WARNING,"DLLMain's Request for Low Fragmentation for the CRT Heap Unsuccessful. Will Run with the Standard Heap Allocators");
- }
- #endif
- } else {
- ToLog(LOGMSG_WARNING,"DllMain unable to GetProcAddress for HeapSetInformation");
- }
- } else {
- ToLog(LOGMSG_WARNING,"DllMain unable to GetModuleHandle(kernel32.dll)");
- }
- // Only try to set the heap once. If it fails, live with it.
- }
- // If > Windows/XP : nothing to do !
- }
-#endif
-
-//====================================================================================================================
-
-void PostEvent(int EventType,QString EventParam) {
- EventList.append(QString("%1###;###%2").arg(EventType).arg(EventParam));
- if (EventReceiver!=NULL) QApplication::postEvent(EventReceiver,new QEvent(BaseAppEvent));
-}
-
-//====================================================================================================================
-
-void ToLog(int MessageType,QString Message,QString Source) {
- if ((MessageType!=LOGMSG_DEBUGTRACE)&&(EventReceiver!=NULL)) PostEvent(EVENT_GeneralLogChanged,QString("%1###:###%2###:###%3").arg((int)MessageType).arg(Message).arg(Source));
-
- QString DateTime=QTime::currentTime().toString("hh:mm:ss.zzz");
- if (MessageType>=LogMsgLevel) switch (MessageType) {
- case LOGMSG_DEBUGTRACE: std::cout << QString("["+DateTime+":DEBUGTRACE]\t" +Message+"\n").toLocal8Bit().constData(); break;
- case LOGMSG_INFORMATION: std::cout << QString("["+DateTime+":INFORMATION]\t"+Message+"\n").toLocal8Bit().constData(); break;
- case LOGMSG_WARNING: std::cout << QString("["+DateTime+":WARNING]\t" +Message+"\n").toLocal8Bit().constData(); break;
- case LOGMSG_CRITICAL: std::cout << QString("["+DateTime+":ERROR]\t" +Message+"\n").toLocal8Bit().constData(); break;
- }
-}
diff --git a/src/sharedfiles/_GlobalDefines.h b/src/sharedfiles/_GlobalDefines.h
deleted file mode 100755
index 959294a..0000000
--- a/src/sharedfiles/_GlobalDefines.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef _GLOBALDEFINES_H
-#define _GLOBALDEFINES_H
-
-/* ======================================================================
- THIS FILE MUST ABSOLUTELY BE REFERENCED AT FIRST IN ALL .h FILES OF
- THE PROJECT
- ====================================================================== */
-
-//============================================
-// Activate standard stdint macro
-//============================================
-#ifdef _STDINT_H
- #undef _STDINT_H // Remove previous inclusion (if exist)
-#endif
-
-#define __STDC_CONSTANT_MACROS // Activate macro for stdint
-#include <stdint.h> // Include stdint with macro activated
-
-//============================================
-// Minimum QT inclusions needed by all files
-//============================================
-#include <QtCore>
-#include <QApplication>
-
-//====================================================================
-// For windows, windows.h and winbase.h must be included after QtCore
-//====================================================================
-#ifdef Q_OS_WIN
- #include <windows.h>
- #include <winbase.h>
- extern bool IsWindowsXP; // True if OS is Windows/XP
-#endif
-
-//====================================================================
-// Internal log defines and functions
-//====================================================================
-
-// Log level for message
-#define LOGMSG_DEBUGTRACE 1
-#define LOGMSG_INFORMATION 2
-#define LOGMSG_WARNING 3
-#define LOGMSG_CRITICAL 4
-
-const QEvent::Type BaseAppEvent = (QEvent::Type)2000; // The custom event will be send to EventReceiver (if EventReceiver not null)
-#define EVENT_GeneralLogChanged 1 // General internal event code to display log message
-
-extern int LogMsgLevel; // Level from wich debug message was print to stdout
-extern QStringList EventList; // Internal event queue
-extern QObject *EventReceiver; // Windows wich receive event
-
-#ifdef Q_OS_WIN
-void SetLFHeap();
-#endif
-void PostEvent(int EventType,QString EventParam="");
-void ToLog(int MessageType,QString Message,QString Source="internal");
-
-#endif // _GLOBALDEFINES_H
diff --git a/src/sharedfiles/_QCustomDialog.cpp b/src/sharedfiles/_QCustomDialog.cpp
deleted file mode 100755
index e1618f8..0000000
--- a/src/sharedfiles/_QCustomDialog.cpp
+++ /dev/null
@@ -1,221 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "_QCustomDialog.h"
-#include <QHeaderView>
-#include <QInputDialog>
-#include <QDialogButtonBox>
-
-//====================================================================================================================
-
-QString CustomInputDialog(QWidget *parent,const QString &title,const QString &label,int mode,const QString &text,bool *ok,Qt::InputMethodHints inputMethodHints) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:CustomInputDialog");
-
- Qt::WindowFlags Flags=(Qt::Dialog|Qt::CustomizeWindowHint|Qt::WindowSystemMenuHint|Qt::WindowMaximizeButtonHint)&(~Qt::WindowMinimizeButtonHint);
-
- QInputDialog dialog(parent,Flags);
- int x=QCursor::pos().x()-dialog.width(); if (x<0) x=0;
- int y=QCursor::pos().y()-dialog.height(); if (y<0) y=0;
- dialog.move(x,y);
- dialog.setWindowTitle(title);
- dialog.setLabelText(label);
- dialog.setTextValue(text);
- dialog.setTextEchoMode((QLineEdit::EchoMode)mode);
- dialog.setInputMethodHints(inputMethodHints);
- dialog.setWindowModality(Qt::ApplicationModal);
-
- int ret = dialog.exec();
- if (ok) *ok = !!ret;
- if (ret) return dialog.textValue();
- else return QString();
-}
-
-//====================================================================================================================
-
-int CustomMessageBox(QWidget *parent,QMessageBox::Icon icon,const QString& title,const QString& text,QMessageBox::StandardButtons buttons,QMessageBox::StandardButton defaultButton) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:CustomMessageBox");
-
- Qt::WindowFlags Flags=(Qt::Dialog|Qt::CustomizeWindowHint|Qt::WindowSystemMenuHint|Qt::WindowMaximizeButtonHint)&(~Qt::WindowMinimizeButtonHint);
-
- QMessageBox msgBox(icon,title,text,QMessageBox::NoButton,parent,Flags);
- QDialogButtonBox *buttonBox = msgBox.findChild<QDialogButtonBox*>();
-
- uint mask = QMessageBox::FirstButton;
- while (mask <= QMessageBox::LastButton) {
- uint sb = buttons & mask;
- mask <<= 1;
- if (!sb) continue;
- QPushButton *button = msgBox.addButton((QMessageBox::StandardButton)sb);
- // Choose the first accept role as the default
- if (msgBox.defaultButton()) continue;
- if ((defaultButton == QMessageBox::NoButton && buttonBox->buttonRole(button) == QDialogButtonBox::AcceptRole)
- || (defaultButton != QMessageBox::NoButton && sb == uint(defaultButton)))
- msgBox.setDefaultButton(button);
- }
- msgBox.setWindowModality(Qt::ApplicationModal);
- if (msgBox.exec() == -1) return QMessageBox::Cancel;
- return msgBox.standardButton(msgBox.clickedButton());
-}
-
-//====================================================================================================================
-
-QCustomDialog::QCustomDialog(QString HelpURL,cBaseApplicationConfig *BaseApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent):QDialog(parent) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::QCustomDialog");
-
- this->HelpURL =HelpURL;
- this->BaseApplicationConfig =BaseApplicationConfig;
- this->DlgWSP =DlgWSP;
- Undo =NULL;
- OkBt =NULL;
- CancelBt =NULL;
- HelpBt =NULL;
-
- setWindowFlags((windowFlags()|Qt::CustomizeWindowHint|Qt::WindowSystemMenuHint|Qt::WindowMaximizeButtonHint)&(~Qt::WindowMinimizeButtonHint));
-}
-
-//====================================================================================================================
-
-QCustomDialog::~QCustomDialog() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::~QCustomDialog");
-
- if (Undo) {
- delete Undo;
- Undo=NULL;
- }
-}
-
-//====================================================================================================================
-// Initialise dialog
-
-void QCustomDialog::InitDialog() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::InitDialog");
-
- // Define handler for standard buttons
- if (OkBt) connect(OkBt,SIGNAL(clicked()),this,SLOT(accept()));
- if (CancelBt) connect(CancelBt,SIGNAL(clicked()),this,SLOT(reject()));
-
- if (HelpBt) {
- if (HelpURL!="") connect(HelpBt,SIGNAL(clicked()),this,SLOT(doHelp()));
- else HelpBt->setVisible(false);
- }
-
- // Restore window size and position
- if (DlgWSP) DlgWSP->ApplyToWindow(this);
-
- // Prepare undo
- PrepareGlobalUndo();
-
- // Initialise dialog
- DoInitDialog();
-}
-
-//====================================================================================================================
-
-void QCustomDialog::doHelp() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::Help");
-
- if (HelpURL!="") QDesktopServices::openUrl(QUrl(HelpURL.replace("<local>",BaseApplicationConfig->GetValideWEBLanguage(BaseApplicationConfig->CurrentLanguage))));
-}
-
-//====================================================================================================================
-
-void QCustomDialog::accept() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::accept");
-
- // Save Window size and position
- if (DlgWSP) DlgWSP->SaveWindowState(this);
-
- // call overloaded function
- DoAccept();
-
- // Close dialog
- done(0);
-}
-
-//====================================================================================================================
-
-void QCustomDialog::reject() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::accept");
-
- // Save Window size and position
- if (DlgWSP) DlgWSP->SaveWindowState(this);
-
- // Undo change
- DoGlobalUndo();
-
- // call overloaded function
- DoRejet();
-
- // Close dialog
- done(1);
-}
-
-//====================================================================================================================
-// utility function to init a table widget
-
-void QCustomDialog::DoInitTableWidget(QTableWidget *Table,QString TableColumns) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::DoInitTableWidget");
-
- Table->setSelectionBehavior(QAbstractItemView::SelectRows);
- Table->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
- Table->horizontalHeader()->show();
- Table->horizontalHeader()->setStretchLastSection(false);
- Table->horizontalHeader()->setSortIndicatorShown(false);
- Table->horizontalHeader()->setCascadingSectionResizes(false);
- Table->horizontalHeader()->setClickable(false);
- Table->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft);
- Table->horizontalHeader()->setMovable(false);
- Table->horizontalHeader()->setResizeMode(QHeaderView::Fixed); //Fixed because ResizeToContents will be done after table filling
- Table->verticalHeader()->hide();
- Table->verticalHeader()->setStretchLastSection(false);
- Table->verticalHeader()->setSortIndicatorShown(false);
- Table->verticalHeader()->setResizeMode(QHeaderView::Fixed); // Fixed because ResizeToContents will be done after table filling
- Table->setShowGrid(true); // Ensure grid display
- Table->setWordWrap(false); // Ensure no word wrap
- Table->setTextElideMode(Qt::ElideNone); // Ensure no line ellipsis (...)
- Table->setColumnCount(TableColumns.split(";").count());
- Table->setHorizontalHeaderLabels(TableColumns.split(";"));
-}
-
-//====================================================================================================================
-// utility function to create a QTableWidgetItem
-
-QTableWidgetItem *QCustomDialog::CreateItem(QString ItemText,int Alignment,QBrush Background) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::CreateItem");
-
- QTableWidgetItem *Item=new QTableWidgetItem(ItemText);
- Item->setTextAlignment(Alignment);
- Item->setBackground(Background);
- return Item;
-}
-
-//====================================================================================================================
-// utility function to resize columns in a table widget
-
-void QCustomDialog::DoResizeColumnsTableWidget(QTableWidget *Table) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:QCustomDialog::DoResizeColumnsTableWidget");
-
- Table->horizontalHeader()->setResizeMode(QHeaderView::Fixed);
- Table->setVisible(false); // To ensure all items of all columns are used to compute size
- Table->resizeColumnsToContents(); // Resize column widht
- Table->resizeRowsToContents(); // Resize row height
- Table->setVisible(true); // To allow display
- Table->horizontalHeader()->setResizeMode(QHeaderView::Interactive);
-}
diff --git a/src/sharedfiles/_QCustomDialog.h b/src/sharedfiles/_QCustomDialog.h
deleted file mode 100755
index f1e265e..0000000
--- a/src/sharedfiles/_QCustomDialog.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef _QCUSTOMDIALOG_H
-#define _QCUSTOMDIALOG_H
-
-// Basic inclusions (common to all files)
-#include "_GlobalDefines.h"
-
-// Include some additional standard class
-#include <QShowEvent>
-#include <QString>
-#include <QDialog>
-#include <QDomDocument>
-#include <QPushButton>
-#include <QDesktopServices>
-#include <QTableWidgetItem>
-#include <QTableWidgetItem>
-#include <QIcon>
-#include <QLineEdit>
-#include <QMessageBox>
-
-// Include some common various class
-#include "cBaseApplicationConfig.h"
-
-class QCustomDialog : public QDialog {
-Q_OBJECT
-public:
- QString HelpURL;
- cBaseApplicationConfig *BaseApplicationConfig;
- cSaveWindowPosition *DlgWSP;
- QDomDocument *Undo; // Save object before modification for cancel button
- QPushButton *OkBt;
- QPushButton *CancelBt;
- QPushButton *HelpBt;
-
- explicit QCustomDialog(QString HelpURL,cBaseApplicationConfig *BaseApplicationConfig,cSaveWindowPosition *DlgWSP,QWidget *parent = 0);
- ~QCustomDialog();
-
- virtual void InitDialog();
-
- // Abstract function : need to be overloaded
- virtual void DoInitDialog()=0; // Initialise dialog
- virtual void DoAccept()=0; // Call when user click on Ok button
- virtual void DoRejet()=0; // Call when user click on Cancel button
- virtual void PrepareGlobalUndo()=0; // Initiale Undo
- virtual void DoGlobalUndo()=0; // Apply Undo : call when user click on Cancel button
-
-protected:
- virtual void accept();
- virtual void reject();
-
- // Utility functions
- virtual void DoInitTableWidget(QTableWidget *Table,QString TableColumns);
- virtual QTableWidgetItem *CreateItem(QString ItemText,int Alignment,QBrush Background);
- virtual void DoResizeColumnsTableWidget(QTableWidget *Table);
-
-private slots:
- void doHelp();
-};
-
-//*********************************************************
-
-class QNullTableWidgetItem : public QTableWidgetItem {
-public:
- explicit QNullTableWidgetItem(const QIcon &icon, const QString &text, int type):QTableWidgetItem(icon,text,type=Type) {setFlags(Qt::NoItemFlags);}
- explicit QNullTableWidgetItem(const QTableWidgetItem &other):QTableWidgetItem(other) {setFlags(Qt::NoItemFlags);}
- explicit QNullTableWidgetItem(int type):QTableWidgetItem(type=Type) {setFlags(Qt::NoItemFlags);}
- explicit QNullTableWidgetItem(const QString &text,int type=Type):QTableWidgetItem(text,type=Type) {setFlags(Qt::NoItemFlags);}
-};
-
-
-// New definition for QInputDialog::getText
-QString CustomInputDialog(QWidget *parent,const QString &title,const QString &label,int mode,const QString &text,bool *ok,Qt::InputMethodHints inputMethodHints=Qt::ImhNone);
-int CustomMessageBox (QWidget *parent,QMessageBox::Icon icon,const QString& title,const QString& text,QMessageBox::StandardButtons buttons=QMessageBox::Ok,QMessageBox::StandardButton defaultButton=QMessageBox::NoButton);
-
-#endif // _QCUSTOMDIALOG_H
diff --git a/src/sharedfiles/_SDL_Support.cpp b/src/sharedfiles/_SDL_Support.cpp
deleted file mode 100755
index 90735f7..0000000
--- a/src/sharedfiles/_SDL_Support.cpp
+++ /dev/null
@@ -1,146 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "_SDL_Support.h"
-
-//*********************************************************************************************************************************************
-// SDL global define values
-//*********************************************************************************************************************************************
-
-bool SDLIsAudioOpen=false; // true if SDL work at least one time
-double SDLCurrentFPS =-1; // Current FPS setting for SDL
-SDL_AudioSpec AudioSpec; // SDL param bloc
-cSDLSoundBlockList MixedMusic; // Sound to play
-
-//*********************************************************************************************************************************************
-// SDL Audio Call Back
-//*********************************************************************************************************************************************
-
-void SDLAudioCallback(void *,Uint8 *stream,int len) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:SDLAudioCallback");
-
- SDLIsAudioOpen=true;
- if (len!=MixedMusic.SoundPacketSize) {
- ToLog(LOGMSG_CRITICAL,QString("Error in SDLAudioCallback : Wanted len(%1)<>MixedMusic.SoundPacketSize(%2)").arg(len).arg(MixedMusic.SoundPacketSize));
- return;
- }
- int16_t *Packet=MixedMusic.DetachFirstPacket();
-
- // Copy data to hardware buffer
- if (Packet!=NULL) {
- memcpy(stream,(Uint8 *)Packet,MixedMusic.SoundPacketSize);
- av_free(Packet);
- }
-}
-
-//*********************************************************************************************************************************************
-// SDL Init/Reinit function
-//*********************************************************************************************************************************************
-
-void SDLFirstInit(double WantedFPS,bool SDLAncMode) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:SDLFirstInit");
-
- // Start SDL
- if (SDL_Init(SDL_INIT_AUDIO)) {
- ToLog(LOGMSG_CRITICAL,QString("SDLFirstInit=Could not initialize SDL :%1").arg(SDL_GetError()));
- exit(1); // ExitApplicationWithFatalError
- }
- SDLSetFPS(WantedFPS,SDLAncMode);
-}
-
-//*********************************************************************************************************************************************
-// SDL Close function
-//*********************************************************************************************************************************************
-
-void SDLLastClose() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:SDLLastClose");
-
- if (SDLIsAudioOpen) {
- SDL_CloseAudio(); // Close audio
- SDLIsAudioOpen=false;
- SDL_Quit(); // Close library
- }
-}
-
-//*********************************************************************************************************************************************
-// SDLSetFPS function
-//*********************************************************************************************************************************************
-
-void SDLSetFPS(double WantedFPS,bool SDLAncMode) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:SDLSetFPS");
-
- //if (SDLCurrentFPS==WantedFPS) return;
- SDLCurrentFPS=WantedFPS;
-
- SDL_CloseAudio(); // Close audio
-
- // Init MixedMusic
- MixedMusic.ClearList(); // Free sound buffers
- MixedMusic.SetFPS(WantedFPS);
-
- // Init SDL
- SDL_AudioSpec Desired;
- Desired.channels=MixedMusic.Channels; // Number of chanels
- Desired.format =AUDIO_S16SYS; // Sound format (pcm16le)
- Desired.freq =MixedMusic.SamplingRate; // Frequency in Hz
- Desired.userdata=NULL; // userdata parameter : not used
- Desired.callback=SDLAudioCallback; // Link to callback function
- Desired.samples =MixedMusic.SoundPacketSize/MixedMusic.Channels; // In samples unit * chanels number for Linux version
-
- if (!SDLAncMode) Desired.samples/=MixedMusic.SampleBytes; // New SDL use byte instead of sample
-
- Desired.silence =0;
- if (SDL_OpenAudio(&Desired,&AudioSpec)<0) {
- ToLog(LOGMSG_CRITICAL,QString("SDLFirstInit=Error in SDL_OpenAudio:%1").arg(SDL_GetError()));
- exit(1); // ExitApplicationWithFatalError
- }
-// SDLIsAudioOpen=true;
-}
-
-//====================================================================================================================
-// Construct block list -> SDL Version
-//====================================================================================================================
-cSDLSoundBlockList::cSDLSoundBlockList():cSoundBlockList() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cSDLSoundBlockList::cSDLSoundBlockList");
-}
-
-//====================================================================================================================
-// Detach the first packet of the list (do not make av_free) -> SDL Version
-//====================================================================================================================
-int16_t *cSDLSoundBlockList::DetachFirstPacket() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cSDLSoundBlockList::DetachFirstPacket");
-
- int16_t *Ret=NULL;
- SDL_LockAudio();
- if (List.count()>0) Ret=(int16_t *)List.takeFirst();
- SDL_UnlockAudio();
- return Ret;
-}
-
-//====================================================================================================================
-// Append a packet to the end of the list -> SDL Version
-//====================================================================================================================
-void cSDLSoundBlockList::AppendPacket(int16_t *PacketToAdd) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cSDLSoundBlockList::AppendPacket");
-
- SDL_LockAudio();
- List.append(PacketToAdd);
- SDL_UnlockAudio();
-}
diff --git a/src/sharedfiles/cBaseApplicationConfig.cpp b/src/sharedfiles/cBaseApplicationConfig.cpp
deleted file mode 100755
index 54b6b01..0000000
--- a/src/sharedfiles/cBaseApplicationConfig.cpp
+++ /dev/null
@@ -1,649 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-// Include some common various class
-#include "cBaseApplicationConfig.h"
-
-// Include some additional standard class
-#include <QFile>
-#include <QDir>
-#include <QFileInfo>
-#include <QTextStream>
-#include <QTranslator>
-
-//*****************************************************************************************************************************************
-
-#ifdef Q_OS_LINUX
- bool SearchRasterMode(QString ApplicationGroupName,QString ApplicationName,QString ConfigFileExt,QString ConfigFileRootName) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:SearchRasterMode");
-
- QString UserConfigPath; // Path and filename to user profil path
- QString UserConfigFile; // Path and filename to user configuration file
- QString GlobalConfigFile; // Path and filename to global configuration file (in binary directory)
- bool RasterMode=true;
-
- UserConfigPath=QDir::homePath();
- if (UserConfigPath[UserConfigPath.length()-1]!=QDir::separator()) UserConfigPath=UserConfigPath+QDir::separator();
- UserConfigPath = UserConfigPath+"."+ApplicationGroupName+QDir::separator();
- GlobalConfigFile=QFileInfo(ApplicationName+ConfigFileExt).absoluteFilePath();
- UserConfigFile =QFileInfo(UserConfigPath+ApplicationName+ConfigFileExt).absoluteFilePath();
-
-
- QFile file(GlobalConfigFile);
- QDomDocument domDocument;
- QDomElement root;
- QString errorStr;
- int errorLine,errorColumn;
-
- // Load Global preferences
- if (file.open(QFile::ReadOnly | QFile::Text)) {
- if (domDocument.setContent(&file,true,&errorStr,&errorLine,&errorColumn)) {
- root = domDocument.documentElement();
- if ((root.tagName()==ConfigFileRootName)&&(root.elementsByTagName("GlobalPreferences").length()>0)&&(root.elementsByTagName("GlobalPreferences").item(0).isElement()==true)) {
- ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Search Raster mode in configuration file")+GlobalConfigFile);
- QDomElement Element=root.elementsByTagName("GlobalPreferences").item(0).toElement();
- if (Element.hasAttribute("RasterMode")) RasterMode=Element.attribute("RasterMode")=="1";
- }
- }
- file.close();
- }
-
- // Load user preferences
- file.setFileName(UserConfigFile);
- if (file.open(QFile::ReadOnly | QFile::Text)) {
- if (domDocument.setContent(&file,true,&errorStr,&errorLine,&errorColumn)) {
- root = domDocument.documentElement();
- if ((root.tagName()==ConfigFileRootName)&&(root.elementsByTagName("GlobalPreferences").length()>0)&&(root.elementsByTagName("GlobalPreferences").item(0).isElement()==true)) {
- ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Search Raster mode in configuration file")+GlobalConfigFile);
- QDomElement Element=root.elementsByTagName("GlobalPreferences").item(0).toElement();
- if (Element.hasAttribute("RasterMode")) RasterMode=Element.attribute("RasterMode")=="1";
- }
- }
- file.close();
- }
-
- return RasterMode;
- }
-#endif
-
-//====================================================================================================================
-
-QString GetTextSize(qlonglong Size) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:GetTextSize");
-
- QString UnitStr="";
- int Unit =0;
-
- while ((Size>1024*1024)&&(Unit<2)) {
- Unit++;
- Size=Size/1024;
- }
- switch (Unit) {
- case 0 : UnitStr=QApplication::translate("QCustomFolderTree","Kb","Unit Kb"); break;
- case 1 : UnitStr=QApplication::translate("QCustomFolderTree","Mb","Unit Mb"); break;
- case 2 : UnitStr=QApplication::translate("QCustomFolderTree","Gb","Unit Gb"); break;
- case 3 : UnitStr=QApplication::translate("QCustomFolderTree","Tb","Unit Tb"); break;
- }
- if (Size==0) return "0";
- else if (double(Size)/double(1024)>0.1) return QString("%1").arg(double(Size)/double(1024),8,'f',1).trimmed()+" "+UnitStr;
- else return "<0.1"+UnitStr;
-}
-
-//====================================================================================================================
-
-bool CheckFolder(QString FileToTest,QString PathToTest) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:CheckFolder");
-
- QString Path=QDir(PathToTest).absolutePath();
- if (!Path.endsWith(QDir::separator())) Path=Path+QDir::separator();
- bool IsFound=QFileInfo(Path+FileToTest).exists();
- if (IsFound) QDir::setCurrent(Path);
- ToLog(LOGMSG_INFORMATION,QString("Try to find datas in %1 %2").arg(Path+FileToTest).arg(IsFound));
- return IsFound;
-}
-
-
-//**************************************************
-// First thing to do : ensure correct current path
-// At program startup : CurrentPath is set to data folder (we search GlobalConfig file) that could be :
-// in current path
-// or in ../ApplicationGroupName
-// or in ../ApplicationName
-// or in $$PREFIX/share/ApplicationGroupName
-// or in $$PREFIX/share/ApplicationName
-//**************************************************
-
-bool SetWorkingPath(char *argv[],QString ApplicationGroupName,QString ApplicationName,QString ConfigFileExt) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:SetWorkingPath");
- QString StartupDir=QFileInfo(argv[0]).absolutePath();
- ToLog(LOGMSG_INFORMATION,"StartupDir "+StartupDir);
- QDir::setCurrent(StartupDir);
-
- QString FileToTest =QString("%1%2").arg(ApplicationName).arg(ConfigFileExt);
- QString ShareDir=SHARE_DIR;
-
- if (!CheckFolder(FileToTest,QDir::currentPath())
- &&(!CheckFolder(FileToTest,QString("..")+QDir().separator()+ApplicationGroupName))
- &&(!CheckFolder(FileToTest,QString("..")+QDir().separator()+ApplicationName))
- &&(!CheckFolder(FileToTest,ShareDir+QDir().separator()+QString("share")+QDir().separator()+ApplicationGroupName))
- &&(!CheckFolder(FileToTest,ShareDir+QDir().separator()+QString("share")+QDir().separator()+ApplicationName))
- ) {
- ToLog(LOGMSG_INFORMATION,QString("Critical error : Impossible to find global configuration file (%1%2)").arg(ApplicationName).arg(ConfigFileExt));
- exit(1);
- }
- ToLog(LOGMSG_INFORMATION,"Set working path to "+QDir::currentPath());
-
- return true;
-}
-
-//====================================================================================================================
-
-//functions used to retrieve number of processor
-//Thanks to : Stuart Nixon
-//See : http://lists.trolltech.com/qt-interest/2006-05/thread00922-0.html
-int getCpuCount() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:getCpuCount");
- int cpuCount=1;
-
-#ifdef Q_OS_WIN
- SYSTEM_INFO si;
- GetSystemInfo(&si);
- cpuCount = si.dwNumberOfProcessors;
-#elif defined(Q_OS_UNIX) && !defined(Q_OS_MACX)
- cpuCount = sysconf(_SC_NPROCESSORS_ONLN);
-#elif defined(Q_OS_MACX)
- kern_return_t kr;
- struct host_basic_info hostinfo;
- unsigned int count;
-
- count=HOST_BASIC_INFO_COUNT;
- kr =host_info(mach_host_self(),HOST_BASIC_INFO,(host_info_t)&hostinfo,&count);
-
- if (kr==KERN_SUCCESS) cpuCount=hostinfo.avail_cpus;
-#endif
- if(cpuCount<1) cpuCount=1;
- return cpuCount;
-}
-
-//====================================================================================================================
-
-//functions used to adjust folder name depending on operating system
-QString AdjustDirForOS(QString Dir) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:AdjustDirForOS");
-
- #ifdef Q_OS_WIN
- Dir.replace("/","\\");
- bool DoubleSlashBegin=Dir.startsWith("\\\\");
- Dir.replace("\\\\","\\");
- if (DoubleSlashBegin) Dir="\\"+Dir;
- #elif defined(Q_OS_UNIX) && !defined(Q_OS_MACX)
- Dir.replace("\\","/");
- #endif
- return Dir;
-}
-
-//**********************************************************************************************************************
-// cBaseApplicationConfig
-//**********************************************************************************************************************
-
-//**********************************************************************************************************************
-// cBaseApplicationConfig
-//**********************************************************************************************************************
-
-cBaseApplicationConfig::cBaseApplicationConfig(QMainWindow *TheTopLevelWindow,QString TheAllowedWEBLanguage,QString TheApplicationGroupName,QString TheApplicationName,QString TheApplicationVersion,QString TheConfigFileExt,QString TheConfigFileRootName) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseApplicationConfig::cBaseApplicationConfig");
-
- AllowedWEBLanguage =TheAllowedWEBLanguage;
- TopLevelWindow =TheTopLevelWindow; // Link to MainWindow of the application
- ApplicationGroupName =TheApplicationGroupName; // Private folder name to save user configuration file
- ApplicationName =TheApplicationName; // Application name
- ApplicationVersion =TheApplicationVersion; // Application version
- ConfigFileExt =TheConfigFileExt; // File extension of configuration files
- ConfigFileRootName =TheConfigFileRootName; // Name of root node in the config xml file
- if (ApplicationGroupName!=ApplicationName) ToLog(LOGMSG_INFORMATION,QString("Starting %1 %2 %3").arg(ApplicationGroupName).arg(ApplicationName).arg(ApplicationVersion));
- else ToLog(LOGMSG_INFORMATION,QString("Starting %1 %2").arg(ApplicationGroupName).arg(ApplicationVersion));
-}
-
-//====================================================================================================================
-
-cBaseApplicationConfig::~cBaseApplicationConfig() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseApplicationConfig::~cBaseApplicationConfig");
-
- if (MainWinWSP) delete MainWinWSP; MainWinWSP=NULL;
-}
-
-//====================================================================================================================
-
-QString cBaseApplicationConfig::GetValideWEBLanguage(QString Language) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseApplicationConfig::GetValideWEBLanguage");
-
- if (!AllowedWEBLanguage.contains(Language)) Language="en";
- return Language;
-}
-
-//====================================================================================================================
-// Preload system icon images
-void cBaseApplicationConfig::PreloadSystemIcons() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseApplicationConfig::PreloadSystemIcons");
-
- ToLog(LOGMSG_INFORMATION,"Loading system icons...");
-
- DefaultCDROMIcon.LoadIconsFromIMG( "cdrom.png");
- DefaultHDDIcon.LoadIconsFromIMG( "hdd.png");
- DefaultUSBIcon.LoadIconsFromIMG( "usb.png");
- DefaultREMOTEIcon.LoadIconsFromIMG( "hdd-lan.png");
- DefaultFOLDERIcon.LoadIconsFromIMG( "directory.png");
- DefaultDelayedIcon.LoadIconsFromIMG("delayed.png");
- DefaultFFDIcon.LoadIconsFromIMG( "ffDiaporama.png");
- DefaultThumbIcon.LoadIconsFromIMG( "Thumbnails.png");
- DefaultIMAGEIcon.LoadIconsFromIMG( "image.png");
- DefaultVIDEOIcon.LoadIconsFromIMG( "video.png");
- DefaultMUSICIcon.LoadIconsFromIMG( "audio.png");
- DefaultUSERIcon.LoadIconsFromIMG( "folder_home.png");
- DefaultFILEIcon.LoadIconsFromIMG( "file.png");
- VideoMask_120=QImage(":/img/VideoMask_120x180.png");
- VideoMask_150=QImage(":/img/VideoMask_150x200.png");
- VideoMask_162=QImage(":/img/VideoMask_162x216.png");
-}
-
-//====================================================================================================================
-
-QString cBaseApplicationConfig::GetFilterForMediaFile(FilterFile type) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseApplicationConfig::GetFilterForMediaFile");
-
- // enum FilterFile {ALLFILE,IMAGEFILE,VIDEOFILE,MUSICFILE};
- QString ReturnFile="";
- if (type==ALLFILE) {
- ReturnFile=ReturnFile+QApplication::translate("MainWindow","All suported file (");
- for (int i=0;i<AllowImageExtension.count();i++) ReturnFile=ReturnFile+(i>0?" *":"*.")+AllowImageExtension[i];
- for (int i=0;i<AllowVideoExtension.count();i++) ReturnFile=ReturnFile+(i>0?" *":"*.")+AllowVideoExtension[i];
- ReturnFile=ReturnFile+")";
- }
- if ((type==ALLFILE)||(type==IMAGEFILE)) {
- if (ReturnFile!="") ReturnFile=ReturnFile+";;";
- ReturnFile=ReturnFile+QApplication::translate("MainWindow","Image file (");
- for (int i=0;i<AllowImageExtension.count();i++) ReturnFile=ReturnFile+(i>0?" *":"*.")+AllowImageExtension[i];
- ReturnFile=ReturnFile+")";
- }
- if ((type==ALLFILE)||(type==VIDEOFILE)) {
- if (ReturnFile!="") ReturnFile=ReturnFile+";;";
- ReturnFile=ReturnFile+QApplication::translate("MainWindow","Video file (");
- for (int i=0;i<AllowVideoExtension.count();i++) ReturnFile=ReturnFile+(i>0?" *":"*.")+AllowVideoExtension[i];
- ReturnFile=ReturnFile+")";
- }
- if (type==MUSICFILE) {
- if (ReturnFile!="") ReturnFile=ReturnFile+";;";
- ReturnFile=ReturnFile+QApplication::translate("MainWindow","Music file (");
- for (int i=0;i<AllowMusicExtension.count();i++) ReturnFile=ReturnFile+(i>0?" *":"*.")+AllowMusicExtension[i];
- ReturnFile=ReturnFile+")";
- }
- return ReturnFile;
-}
-
-//====================================================================================================================
-
-bool cBaseApplicationConfig::InitConfigurationValues(QString ForceLanguage,QApplication *App) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseApplicationConfig::InitConfigurationValues");
-
- // Initialise all variables and set them default value
- ParentWindow = NULL;
- this->ForceLanguage = ForceLanguage;
- MainWinState = false; // WindowsSettings-ismaximized
- RestoreWindow = true; // if true then restore windows size and position
- MainWinWSP = new cSaveWindowPosition("MainWindow",RestoreWindow,true); // MainWindow - Window size and position
- #ifdef Q_OS_LINUX
- RasterMode = true; // Enable or disable raster mode [Linux only]
- CheckConfigAtStartup= true;
- #endif
- #ifdef Q_OS_WIN
- CheckConfigAtStartup= false;
- #endif
- MemCacheMaxValue = 512*1024*1024; // 512 Mb for image cache
- Crop1088To1080 = true; // Automaticaly crop video from 1088 lines to 1080 (CANON)
- ApplyTransfoPreview = true; // True if image transformation are apply during preview
- QuickResamplingPreview = false; // If true then use quick resampling during preview
- Smoothing = true; // True do smoothing in preview
- AllowCachedTransfoImages= false; // Allow cached transformed images
-
- //*********************************************************************
- // Search plateforme and define specific value depending on plateforme
- //*********************************************************************
- #ifdef Q_OS_WIN
- switch (QSysInfo().WindowsVersion) {
- case 0x0010 : Plateforme="Windows NT (operating system version 4.0)"; break;
- case 0x0020 : Plateforme="Windows 2000 (operating system version 5.0)"; break;
- case 0x0030 : Plateforme="Windows XP (operating system version 5.1)"; break;
- case 0x0040 : Plateforme="Windows Server 2003, Windows Server 2003 R2, Windows Home Server, Windows XP Professional x64 Edition (operating system version 5.2)"; break;
- case 0x0080 : Plateforme="Windows Vista, Windows Server 2008 (operating system version 6.0)"; break;
- case 0x0090 : Plateforme="Windows 7, Windows Server 2008 R2 (operating system version 6.1)"; break;
- default : Plateforme="Unknown version"; break;
- }
-
- // Load registry value for specific Windows Folder
- QSettings Settings("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders",QSettings::NativeFormat);
- WINDOWS_APPDATA =Settings.value("AppData").toString();
- WINDOWS_MUSIC =Settings.value("My Music").toString();
- WINDOWS_PICTURES =Settings.value("My Pictures").toString();
- WINDOWS_VIDEO =Settings.value("My Video").toString();
- WINDOWS_DOCUMENTS=Settings.value("Personal").toString();
- #endif
- #ifdef Q_WS_X11
- Plateforme="Unix/Linux";
- #endif
-
- //*******************************************************
- // Now we can construct Global and User ConfigFile value
- //*******************************************************
- #ifdef Q_OS_WIN
- UserConfigPath=WINDOWS_APPDATA;
- if (UserConfigPath[UserConfigPath.length()-1]!=QDir::separator()) UserConfigPath=UserConfigPath+QDir::separator();
- UserConfigPath = UserConfigPath+ApplicationGroupName+QDir::separator();
- #else
- UserConfigPath=QDir::homePath();
- if (UserConfigPath[UserConfigPath.length()-1]!=QDir::separator()) UserConfigPath=UserConfigPath+QDir::separator();
- UserConfigPath = UserConfigPath+"."+ApplicationGroupName+QDir::separator();
- #endif
- GlobalConfigFile=QFileInfo(ApplicationName+ConfigFileExt).absoluteFilePath();
- UserConfigFile =QFileInfo(UserConfigPath+ApplicationName+ConfigFileExt).absoluteFilePath();
-
- // Define application name
- if (ApplicationGroupName==ApplicationName) App->setApplicationName(ApplicationName+QString(" ")+ApplicationVersion);
- else App->setApplicationName(ApplicationGroupName+QString(" ")+ApplicationName+QString(" ")+ApplicationVersion);
-
- // Prepare lists of allowed extension
- //************************************
- // List of all file extension allowed for video
- AllowVideoExtension.append("avi"); AllowVideoExtension.append("AVI");
- AllowVideoExtension.append("mov"); AllowVideoExtension.append("MOV");
- AllowVideoExtension.append("mpg"); AllowVideoExtension.append("MPG");
- AllowVideoExtension.append("mpeg"); AllowVideoExtension.append("MPEG");
- AllowVideoExtension.append("m4v"); AllowVideoExtension.append("M4V");
- AllowVideoExtension.append("mkv"); AllowVideoExtension.append("MKV");
- AllowVideoExtension.append("mp4"); AllowVideoExtension.append("MP4");
- AllowVideoExtension.append("flv"); AllowVideoExtension.append("FLV");
- AllowVideoExtension.append("3gp"); AllowVideoExtension.append("3GP");
- AllowVideoExtension.append("ogv"); AllowVideoExtension.append("OGV");
- AllowVideoExtension.append("webm"); AllowVideoExtension.append("WEBM");
- // List of all file extension allowed for image
- AllowImageExtension.append("bmp"); AllowImageExtension.append("BMP");
- AllowImageExtension.append("gif"); AllowImageExtension.append("GIF");
- AllowImageExtension.append("jpg"); AllowImageExtension.append("JPG");
- AllowImageExtension.append("jpeg"); AllowImageExtension.append("JPEG");
- AllowImageExtension.append("png"); AllowImageExtension.append("PNG");
- AllowImageExtension.append("pbm"); AllowImageExtension.append("PBM");
- AllowImageExtension.append("pgm"); AllowImageExtension.append("PGM");
- AllowImageExtension.append("ppm"); AllowImageExtension.append("PPM");
- AllowImageExtension.append("tiff"); AllowImageExtension.append("TIFF");
- AllowImageExtension.append("tif"); AllowImageExtension.append("TIF");
- AllowImageExtension.append("xbm"); AllowImageExtension.append("XBM");
- AllowImageExtension.append("xpm"); AllowImageExtension.append("XPM");
- // List of all file extension allowed for musique
- AllowMusicExtension.append("wav"); AllowMusicExtension.append("WAV");
- AllowMusicExtension.append("mp3"); AllowMusicExtension.append("MP3");
- AllowMusicExtension.append("mp4"); AllowMusicExtension.append("MP4");
- AllowMusicExtension.append("m4a"); AllowMusicExtension.append("M4A");
- AllowMusicExtension.append("m4b"); AllowMusicExtension.append("M4B");
- AllowMusicExtension.append("m4p"); AllowMusicExtension.append("M4P");
- AllowMusicExtension.append("3g2"); AllowMusicExtension.append("3G2");
- AllowMusicExtension.append("ogg"); AllowMusicExtension.append("OGG");
- AllowMusicExtension.append("oga"); AllowMusicExtension.append("OGA");
- AllowMusicExtension.append("spx"); AllowMusicExtension.append("SPX");
- AllowMusicExtension.append("wma"); AllowMusicExtension.append("WMA");
- AllowMusicExtension.append("flac"); AllowMusicExtension.append("FLAC");
-
- // set value of external tools path (depending on operating system)
- PathEXIV2 = "exiv2"; // FileName of exiv2 (with path) : Linux version
- PathFFMPEG = "ffmpeg"; // FileName of ffmpeg (with path) : Windows version
-
- RememberLastDirectories = true; // If true, Remember all directories for future use
- #ifdef Q_OS_WIN
- LastMediaPath = WINDOWS_PICTURES; // Last folder use for image/video
- LastMusicPath = WINDOWS_MUSIC; // Last folder use for music
- #endif
- #ifdef Q_WS_X11
- LastMediaPath = QDir::home().absolutePath(); // Last folder use for image/video
- LastMusicPath = QDir::home().absolutePath(); // Last folder use for music
- #endif
-
- // MMFiler specific options
- ShowHiddenFilesAndDir =false;
- ShowMntDrive =false;
- ShowFoldersFirst =true;
- CurrentFilter =OBJECTTYPE_UNMANAGED;
- CurrentMode =DISPLAY_DATA;
- DisplayFileName =true;
- MinimumEXIFHeight =100;
- Image_ThumbWidth =300;
- Image_ThumbHeight =200;
- Music_ThumbWidth =200;
- Music_ThumbHeight =200;
- Video_ThumbWidth =162;
- Video_ThumbHeight =216;
-
- // Init all others values by call subclassing function
- InitValues();
-
- LoadConfigurationFile(GLOBALCONFIGFILE,App); // Get values from global configuration file (overwrite previously initialized values)
- if (!LoadConfigurationFile(USERCONFIGFILE,App)) SaveConfigurationFile(); // Load values from user configuration file (overwrite previously initialized values)
-
- return true;
-}
-
-//====================================================================================================================
-
-bool cBaseApplicationConfig::LoadConfigurationFile(LoadConfigFileType TypeConfigFile,QApplication *App) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseApplicationConfig::LoadConfigurationValues"+(TypeConfigFile==USERCONFIGFILE?UserConfigFile:GlobalConfigFile));
-
- QFile file(TypeConfigFile==USERCONFIGFILE?UserConfigFile:GlobalConfigFile);
- QDomDocument domDocument;
- QDomElement root;
- QString errorStr;
- int errorLine,errorColumn;
- bool IsOk=true;
-
- ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Read configuration file")+" "+(TypeConfigFile==USERCONFIGFILE?UserConfigFile:GlobalConfigFile));
- if (!file.open(QFile::ReadOnly | QFile::Text)) {
- ToLog(LOGMSG_WARNING,QApplication::translate("MainWindow","Error reading configuration file","Error message")+" "+(TypeConfigFile==USERCONFIGFILE?UserConfigFile:GlobalConfigFile));
- IsOk=false;
- }
-
- if (IsOk && (!domDocument.setContent(&file,true,&errorStr,&errorLine,&errorColumn))) {
- ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","Error reading content of configuration file","Error message")+" "+(TypeConfigFile==USERCONFIGFILE?UserConfigFile:GlobalConfigFile));
- IsOk=false;
- }
-
- if (IsOk) {
- root = domDocument.documentElement();
- if (root.tagName()!=ConfigFileRootName) {
- ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","The file is not a valid configuration file","Error message")+" "+(TypeConfigFile==USERCONFIGFILE?UserConfigFile:GlobalConfigFile));
- IsOk=false;
- }
- }
-
- if (IsOk) {
- // Load Global preferences
- if ((root.elementsByTagName("GlobalPreferences").length()>0)&&(root.elementsByTagName("GlobalPreferences").item(0).isElement()==true)) {
- QDomElement Element=root.elementsByTagName("GlobalPreferences").item(0).toElement();
- #ifdef Q_OS_LINUX
- if (Element.hasAttribute("RasterMode")) RasterMode =Element.attribute("RasterMode")=="1";
- #endif
- if (Element.hasAttribute("RestoreWindow")) RestoreWindow =Element.attribute("RestoreWindow")=="1";
- if ((Element.hasAttribute("ForceLanguage"))&&(ForceLanguage=="")) ForceLanguage =Element.attribute("ForceLanguage");
- if (Element.hasAttribute("Crop1088To1080")) Crop1088To1080 =Element.attribute("Crop1088To1080")!="0";
- if (Element.hasAttribute("ApplyTransfoPreview")) ApplyTransfoPreview =Element.attribute("ApplyTransfoPreview")=="1";
- if (Element.hasAttribute("QuickResamplingPreview")) QuickResamplingPreview =Element.attribute("QuickResamplingPreview")=="1";
- if (Element.hasAttribute("Smoothing")) Smoothing =Element.attribute("Smoothing")=="1";
- if (Element.hasAttribute("CheckConfigAtStartup")) CheckConfigAtStartup =Element.attribute("CheckConfigAtStartup")=="1";
- }
-
- if ((domDocument.elementsByTagName("LastDirectories").length()>0)&&(domDocument.elementsByTagName("LastDirectories").item(0).isElement()==true)) {
- QDomElement Element=domDocument.elementsByTagName("LastDirectories").item(0).toElement();
- if (Element.hasAttribute("RememberLastDirectories")) RememberLastDirectories=Element.attribute("RememberLastDirectories")=="1";
- if (Element.hasAttribute("LastMediaPath")) LastMediaPath =Element.attribute("LastMediaPath");
- if (Element.hasAttribute("LastMusicPath")) LastMusicPath =Element.attribute("LastMusicPath");
- }
-
- // Load windows size and position
- MainWinWSP->LoadFromXML(root); // MainWindow - Window size and position
-
- if ((domDocument.elementsByTagName("MMFiler").length()>0)&&(domDocument.elementsByTagName("MMFiler").item(0).isElement()==true)) {
- QDomElement Element=domDocument.elementsByTagName("MMFiler").item(0).toElement();
- if (Element.hasAttribute("ShowHiddenFilesAndDir")) ShowHiddenFilesAndDir=Element.attribute("ShowHiddenFilesAndDir")=="1";
- if (Element.hasAttribute("ShowMntDrive")) ShowMntDrive=Element.attribute("ShowMntDrive")=="1";
- if (Element.hasAttribute("ShowFoldersFirst")) ShowFoldersFirst=Element.attribute("ShowFoldersFirst")=="1";
- if (Element.hasAttribute("CurrentFilter")) CurrentFilter=Element.attribute("CurrentFilter").toInt();
- if (Element.hasAttribute("CurrentMode")) CurrentMode=Element.attribute("CurrentMode").toInt();
- if (Element.hasAttribute("DisplayFileName")) DisplayFileName=Element.attribute("DisplayFileName")=="1";
- if (Element.hasAttribute("MinimumEXIFHeight")) MinimumEXIFHeight=Element.attribute("MinimumEXIFHeight").toInt();
- if (Element.hasAttribute("Image_ThumbWidth")) Image_ThumbWidth=Element.attribute("Image_ThumbWidth").toInt();
- if (Element.hasAttribute("Image_ThumbHeight")) Image_ThumbHeight=Element.attribute("Image_ThumbHeight").toInt();
- if (Element.hasAttribute("Music_ThumbWidth")) Music_ThumbWidth=Element.attribute("Music_ThumbWidth").toInt();
- if (Element.hasAttribute("Music_ThumbHeight")) Music_ThumbHeight=Element.attribute("Music_ThumbHeight").toInt();
- if (Element.hasAttribute("Video_ThumbWidth")) Video_ThumbWidth=Element.attribute("Video_ThumbWidth").toInt();
- if (Element.hasAttribute("Video_ThumbHeight")) Video_ThumbHeight=Element.attribute("Video_ThumbHeight").toInt();
- }
-
- if ((domDocument.elementsByTagName("CacheMemory").length()>0)&&(domDocument.elementsByTagName("CacheMemory").item(0).isElement()==true)) {
- QDomElement Element=domDocument.elementsByTagName("CacheMemory").item(0).toElement();
- if (Element.hasAttribute("MemCacheMaxValue")) MemCacheMaxValue=qlonglong(Element.attribute("MemCacheMaxValue").toInt())*qlonglong(1024*1024);
- if (Element.hasAttribute("AllowCachedTransfoImages")) AllowCachedTransfoImages=Element.attribute("AllowCachedTransfoImages")=="1";
- }
- }
-
- if (TypeConfigFile==USERCONFIGFILE) {
- // Search system language
-
- CurrentLanguage=QLocale::system().name().left(2);
- if (ForceLanguage!="") CurrentLanguage=ForceLanguage;
-
- // Validate if system locale is supported and if not force use of "en"
- if ((CurrentLanguage!="en")&&(!QFileInfo(QString("locale")+QDir().separator()+ApplicationName+QString("_")+CurrentLanguage+QString(".qm")).exists())) {
- ToLog(LOGMSG_INFORMATION,QString("Language \"%1\" not found : switch to english").arg(CurrentLanguage));
- CurrentLanguage="en";
- }
-
- // Install translation (if needed)
- if (CurrentLanguage!="en") {
- // Load translation
- if (!translator.load(QString("locale")+QDir().separator()+ApplicationName+QString("_")+CurrentLanguage+QString(".qm"))) {
- ToLog(LOGMSG_WARNING,QString("Error loading application translation file ... locale")+QDir().separator()+ApplicationName+QString("_")+CurrentLanguage+QString(".qm"));
- exit(1);
- } else ToLog(LOGMSG_INFORMATION,QString("Loading application translation file ... locale")+QDir().separator()+ApplicationName+QString("_")+CurrentLanguage+QString(".qm"));
-
- // Try to load QT system translation file in current project local folder
- if (QFileInfo(QString("locale")+QDir::separator()+QString("qt_")+CurrentLanguage+QString(".qm")).exists()) {
- if (!QTtranslator.load(QString("locale")+QDir::separator()+QString("qt_")+CurrentLanguage+QString(".qm"))) {
- ToLog(LOGMSG_WARNING,QString("Error loading QT system translation file ... locale")+QDir::separator()+QString("qt_")+CurrentLanguage+".qm");
- } else {
- ToLog(LOGMSG_INFORMATION,QString("Loading QT system translation file ... locale")+QDir::separator()+QString("qt_")+CurrentLanguage+".qm");
- }
- } else if (QFileInfo(QString("..")+QDir::separator()+QString("..")+QDir::separator()+QString("locale")+QDir::separator()+QString("qt_")+CurrentLanguage+QString(".qm")).exists()) {
- // If not then try to load QT system translation file in parrent project local folder
- if (!QTtranslator.load(QString("..")+QDir::separator()+QString("..")+QDir::separator()+QString("locale")+QDir::separator()+QString("qt_")+CurrentLanguage+QString(".qm"))) {
- ToLog(LOGMSG_WARNING,QString("Error loading QT system translation file ... ..")+QDir::separator()+QString("..")+QDir::separator()+QString("locale")+QDir::separator()+QString("qt_")+CurrentLanguage+QString(".qm"));
- } else {
- ToLog(LOGMSG_INFORMATION,QString("Loading QT system translation file ... ..")+QDir::separator()+QString("..")+QDir::separator()+QString("locale")+QDir::separator()+QString("qt_")+CurrentLanguage+QString(".qm"));
- }
- }
- App->installTranslator(&translator);
- App->installTranslator(&QTtranslator);
- }
-
- }
-
- return IsOk && LoadValueFromXML(root,TypeConfigFile);
-}
-
-//====================================================================================================================
-
-bool cBaseApplicationConfig::SaveConfigurationFile() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseApplicationConfig::SaveConfigurationValues");
-
- // Save all option to the configuration file
- QFile file(UserConfigFile);
- QDomDocument domDocument(ApplicationName);
- QDomElement root;
-
- // Ensure destination exist
- QFileInfo ConfPath(UserConfigFile);
- QDir ConfDir;
- ConfDir.mkdir(ConfPath.path());
-
- // Create xml document and root
- root=domDocument.createElement(ConfigFileRootName);
- domDocument.appendChild(root);
-
- // Save preferences
- QDomElement Element;
- Element=domDocument.createElement("GlobalPreferences");
- #ifdef Q_OS_LINUX
- Element.setAttribute("RasterMode", RasterMode?"1":"0");
- #endif
- Element.setAttribute("RestoreWindow", RestoreWindow?"1":"0");
- Element.setAttribute("ForceLanguage", ForceLanguage);
- Element.setAttribute("Crop1088To1080", Crop1088To1080?"1":"0");
- Element.setAttribute("ApplyTransfoPreview", ApplyTransfoPreview?"1":0);
- Element.setAttribute("QuickResamplingPreview", QuickResamplingPreview?"1":0);
- Element.setAttribute("Smoothing", Smoothing?"1":0);
- Element.setAttribute("CheckConfigAtStartup", CheckConfigAtStartup?"1":"0");
- root.appendChild(Element);
-
- Element=domDocument.createElement("LastDirectories");
- Element.setAttribute("RememberLastDirectories", RememberLastDirectories?"1":"0");
- Element.setAttribute("LastMediaPath", LastMediaPath);
- Element.setAttribute("LastMusicPath", LastMusicPath);
- root.appendChild(Element);
-
- Element=domDocument.createElement("MMFiler");
- Element.setAttribute("ShowHiddenFilesAndDir", ShowHiddenFilesAndDir?"1":"0");
- Element.setAttribute("ShowMntDrive", ShowMntDrive?"1":"0");
- Element.setAttribute("ShowFoldersFirst", ShowFoldersFirst?"1":"0");
- Element.setAttribute("CurrentFilter", CurrentFilter);
- Element.setAttribute("CurrentMode", CurrentMode);
- Element.setAttribute("DisplayFileName", DisplayFileName?"1":"0");
- Element.setAttribute("MinimumEXIFHeight", MinimumEXIFHeight);
- Element.setAttribute("Image_ThumbWidth", Image_ThumbWidth);
- Element.setAttribute("Image_ThumbHeight", Image_ThumbHeight);
- Element.setAttribute("Music_ThumbWidth", Music_ThumbWidth);
- Element.setAttribute("Music_ThumbHeight", Music_ThumbHeight);
- Element.setAttribute("Video_ThumbWidth", Video_ThumbWidth);
- Element.setAttribute("Video_ThumbHeight", Video_ThumbHeight);
- root.appendChild(Element);
-
- Element=domDocument.createElement("CacheMemory");
- Element.setAttribute("MemCacheMaxValue", MemCacheMaxValue/(1024*1024));
- Element.setAttribute("AllowCachedTransfoImages",AllowCachedTransfoImages?"1":"0");
- root.appendChild(Element);
-
- // Save windows size and position
- MainWinWSP->SaveToXML(root);
-
- SaveValueToXML(root);
-
- // Write file to disk
- if (!file.open(QFile::WriteOnly | QFile::Text)) {
- ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","Error creating configuration file","Error message")+" "+UserConfigFile);
- return false;
- }
- QTextStream out(&file);
- domDocument.save(out,4);
- file.close();
- return true;
-}
diff --git a/src/sharedfiles/cBaseApplicationConfig.h b/src/sharedfiles/cBaseApplicationConfig.h
deleted file mode 100755
index c5bb2cc..0000000
--- a/src/sharedfiles/cBaseApplicationConfig.h
+++ /dev/null
@@ -1,184 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef CBASEAPPLICATIONCONFIG_H
-#define CBASEAPPLICATIONCONFIG_H
-
-// Basic inclusions (common to all files)
-#include "_GlobalDefines.h"
-
-// Include some additional standard class
-#include <QString>
-#include <QStringList>
-#include <QWidget>
-#include <QTranslator>
-#include <QDomElement>
-#include <QDomDocument>
-#include <QMainWindow>
-
-// Include some common various class
-#include "cSaveWindowPosition.h"
-#include "cCustomIcon.h"
-#include "cFilterTransformObject.h"
-#include "cLuLoImageCache.h"
-
-// Standard geometry definition
-#define GEOMETRY_4_3 0
-#define GEOMETRY_16_9 1
-#define GEOMETRY_40_17 2
-#define NBR_GEOMETRY_DEF 3
-
-// Media object types
-#define OBJECTTYPE_UNMANAGED 0
-#define OBJECTTYPE_MANAGED 1
-#define OBJECTTYPE_FOLDER 2
-#define OBJECTTYPE_FFDFILE 3
-#define OBJECTTYPE_IMAGEFILE 4
-#define OBJECTTYPE_VIDEOFILE 5
-#define OBJECTTYPE_MUSICFILE 6
-#define OBJECTTYPE_THUMBNAIL 7
-
-// MMFiler allowed display mode
-#define DISPLAY_DATA 0
-#define DISPLAY_WEBSHORT 1
-#define DISPLAY_WEBLONG 2
-#define DISPLAY_ICON48 3
-#define DISPLAY_ICON100 4
-#define DISPLAY_ICONBIG 5
-
-#define THUMBNAILCACHEFILE ".ThumbnailsCache.xml" // Name of thumbnails cached file
-#define THUMBCACHE_APPNAME "FFD-ThumbnailsCache"
-#define THUMBCACHE_ROOTNAME "ThumbnailsCache" // Name of root node in thumbnails cached file
-
-//****************************************************************************************************************************************************************
-
-// Utility functions
-int getCpuCount(); // Retrieve number of processor
-QString AdjustDirForOS(QString Dir); // Adjust separator in pathname depending on operating system
-QString GetTextSize(qlonglong Size); // transform a size (_int64) in a string with apropriate unit (Gb/Tb...)
-bool CheckFolder(QString FileToTest,QString PathToTest); // Check if FileToTest exist in PathToTest and if yes the change current folder to PathToTest
-bool SetWorkingPath(char *argv[],QString ApplicationGroupName,QString ApplicationName,QString ConfigFileExt); // Adjust current folder
-
-#ifdef Q_OS_LINUX
- bool SearchRasterMode(QString ApplicationGroupName,QString ApplicationName,QString ConfigFileExt,QString ConfigFileRootName);
-#endif
-
-// Application config class
-class cBaseApplicationConfig {
-public:
- enum FilterFile {ALLFILE,IMAGEFILE,VIDEOFILE,MUSICFILE};
- enum LoadConfigFileType {USERCONFIGFILE,GLOBALCONFIGFILE};
-
- bool RasterMode; // Enable or disable raster mode [Linux only]
- bool RestoreWindow; // If true, restore window state and position at startup
- QMainWindow *TopLevelWindow; // Link to MainWindow of the application
- QString AllowedWEBLanguage;
-
- // Image cache
- cLuLoImageCache ImagesCache; // cLuLoImageCache List Object
- qlonglong MemCacheMaxValue; // Maximum value for image cache
- bool AllowCachedTransfoImages; // If true allow use of cached transformed images
-
- // Last directories
- bool RememberLastDirectories; // If true, Remember all directories for future use
- QString LastMediaPath; // Last folder use for image/video
- QString LastMusicPath; // Last folder use for music
-
- // Other
- bool Smoothing; // True do smoothing in preview
- bool Crop1088To1080; // Automaticaly crop video from 1088 lines to 1080 (CANON)
- bool QuickResamplingPreview; // If true then use quick resampling during preview
- bool ApplyTransfoPreview; // True if image transformation are apply during preview
- bool CheckConfigAtStartup; // If true, check config at startup
-
- #ifdef Q_OS_WIN
- // Options for windows only
- // registry value for specific Windows Folder
- QString WINDOWS_APPDATA; // specific Windows Folder : AppData
- QString WINDOWS_MUSIC; // specific Windows Folder : My Music
- QString WINDOWS_PICTURES; // specific Windows Folder : My Pictures
- QString WINDOWS_VIDEO; // specific Windows Folder : My Video
- QString WINDOWS_DOCUMENTS; // specific Windows Folder : Personal
- #endif
-
- QString ApplicationGroupName; // Private folder name to save user configuration file
- QString ApplicationName; // Application name
- QString ApplicationVersion; // Application version
- QString ConfigFileExt; // File extension of configuration files
- QString ConfigFileRootName; // Name of root node in the config xml file
- QStringList AllowVideoExtension; // List of all file extension allowed for video
- QStringList AllowImageExtension; // List of all file extension allowed for image
- QStringList AllowMusicExtension; // List of all file extension allowed for music
- QString Plateforme; // Operating system in use
- QWidget *ParentWindow; // Link to the top window
- QString UserConfigPath; // Path and filename to user profil path
- QString UserConfigFile; // Path and filename to user configuration file
- QString GlobalConfigFile; // Path and filename to global configuration file (in binary directory)
- QString CurrentFolder; // Current Path
- QString CurrentLanguage; // Current Language translation
- QString ForceLanguage; // Empty or forced language
- QString PathEXIV2; // Filename with path to exiv2 binary
- QString PathFFMPEG; // Filename with path to ffmpeg binary
- bool MainWinState; // WindowsSettings-ismaximized
- cSaveWindowPosition *MainWinWSP; // MainWindow - Window size and position
-
- QTranslator translator; // translator for the application
- QTranslator QTtranslator; // translator for QT default text
-
- // Default systems icons
- cCustomIcon DefaultCDROMIcon,DefaultHDDIcon,DefaultUSBIcon,DefaultREMOTEIcon;
- cCustomIcon DefaultUSERIcon,DefaultFOLDERIcon;
- cCustomIcon DefaultFILEIcon,DefaultDelayedIcon;
- cCustomIcon DefaultIMAGEIcon,DefaultThumbIcon;
- cCustomIcon DefaultVIDEOIcon,DefaultMUSICIcon;
- cCustomIcon DefaultFFDIcon;
- QImage VideoMask_120,VideoMask_150,VideoMask_162;
-
- // MMFiler specific add-on
- bool ShowHiddenFilesAndDir; // If true, hidden files will be show
- bool ShowMntDrive; // If true, show drives under /mnt/ [Linux only]
- bool ShowFoldersFirst; // If true, display folders at first in table list
- int CurrentFilter; // Currently selected filter
- int CurrentMode; // Currently selected display mode
- bool DisplayFileName; // If true Display File Name in icon views
- int MinimumEXIFHeight; // Minimum height of EXIF preview image for use it
- int Image_ThumbWidth,Image_ThumbHeight; // Thumbnail size in big icon mode for image
- int Music_ThumbWidth,Music_ThumbHeight; // Thumbnail size in big icon mode for music
- int Video_ThumbWidth,Video_ThumbHeight; // Thumbnail size in big icon mode for video
-
- cBaseApplicationConfig(QMainWindow *TopLevelWindow,QString AllowedWEBLanguage,QString ApplicationGroupName,QString ApplicationName,QString ApplicationVersion,QString ConfigFileExt,QString ConfigFileRootName);
- ~cBaseApplicationConfig();
-
- virtual QString GetFilterForMediaFile(FilterFile type);
- virtual bool InitConfigurationValues(QString ForceLanguage,QApplication *App);
- virtual bool LoadConfigurationFile(LoadConfigFileType TypeConfigFile,QApplication *App);
- virtual bool SaveConfigurationFile();
-
- virtual QString GetValideWEBLanguage(QString Language);
-
- virtual void PreloadSystemIcons();
-
- // Abstract functions
- virtual void InitValues() =0;
- virtual void SaveValueToXML(QDomElement &domDocument) =0;
- virtual bool LoadValueFromXML(QDomElement domDocument,LoadConfigFileType TypeConfigFile) =0;
-};
-
-#endif // CBASEAPPLICATIONCONFIG_H
diff --git a/src/sharedfiles/cBaseMediaFile.cpp b/src/sharedfiles/cBaseMediaFile.cpp
deleted file mode 100755
index 27514cb..0000000
--- a/src/sharedfiles/cBaseMediaFile.cpp
+++ /dev/null
@@ -1,2531 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-// Include some common various class
-#include "cBaseApplicationConfig.h"
-
-// Include some additional standard class
-#include "_QCustomDialog.h"
-#include <QFileDialog>
-#include <QPainter>
-
-// Include some additional standard class
-#include "cBaseMediaFile.h"
-#include "cLuLoImageCache.h"
-
-#define FFD_APPLICATION_ROOTNAME "Project" // Name of root node in the project xml file
-
-cThumbCache::cThumbCache(QString Path) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cThumbCache::cThumbCache");
-
- ThumbCacheFile =AdjustDirForOS(Path+QString(THUMBNAILCACHEFILE));
- ThumbCacheDocument=QDomDocument(THUMBCACHE_APPNAME);
-
- QFile SourceFile(ThumbCacheFile);
- QString errorStr;
- int errorLine,errorColumn;
-
- bool IsThumbCacheReady=false;
- if (SourceFile.open(QFile::ReadOnly | QFile::Text)) {
- IsThumbCacheReady=(ThumbCacheDocument.setContent(&SourceFile,true,&errorStr,&errorLine,&errorColumn))&&(ThumbCacheDocument.documentElement().tagName()==THUMBCACHE_ROOTNAME);
- SourceFile.close();
- // Scan all entries to delete thumb for file no longer exist and thumb for file wich timestamp is not the same
- QDomNodeList nodeList=ThumbCacheDocument.elementsByTagName("Thumbnails");
- for (int i=0;i<nodeList.count();i++) {
- bool ToDelete=true;
- QDomElement Element=nodeList.at(i).toElement();
- QString ShortFileName="";
- if (Element.hasAttribute("ShortFileName")) {
- ShortFileName=Element.attribute("ShortFileName");
- if (Element.hasAttribute("TimeStamp")) {
- QFileInfo FileInfo(AdjustDirForOS(Path+ShortFileName));
- QString TimeStamp=Element.attribute("TimeStamp");
- QString fTimeStamp=FileInfo.lastModified().toString("dd/MM/yyyy hh:mm:ss.zzz");
- ToDelete=(!FileInfo.exists());
- ToDelete=ToDelete||(fTimeStamp!=TimeStamp);
- }
- }
- if (ToDelete)
- ThumbCacheDocument.documentElement().removeChild(Element); else i++;
- }
- }
- if (!IsThumbCacheReady) {
- ThumbCacheDocument=QDomDocument(THUMBCACHE_APPNAME);
- ThumbCacheDocument.appendChild(ThumbCacheDocument.createElement(THUMBCACHE_ROOTNAME));
- IsThumbCacheReady=true;
- }
-}
-
-//****************************************************************************************************************************************************************
-
-cThumbCache::~cThumbCache() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cThumbCache::~cThumbCache");
-
- if (IsModify) {
- if ((QFileInfo(ThumbCacheFile).exists())&&(!QFile(ThumbCacheFile).remove())) {
- ToLog(LOGMSG_CRITICAL,QApplication::translate("cBaseMediaFile","Error overwritting %1").arg(ThumbCacheFile));
- } else if (ThumbCacheDocument.elementsByTagName("Thumbnails").count()>0) {
- QFile DestinationFile(ThumbCacheFile);
- if (DestinationFile.open(QFile::WriteOnly | QFile::Text)) {
- QTextStream out(&DestinationFile);
- ThumbCacheDocument.save(out,4);
- DestinationFile.close();
- }
- }
- }
-}
-
-//****************************************************************************************************************************************************************
-
-// from Google music manager (see:http://code.google.com/p/gogglesmm/source/browse/src/gmutils.cpp?spec=svn6c3dbecbad40ee49736b9ff7fe3f1bfa6ca18c13&r=6c3dbecbad40ee49736b9ff7fe3f1bfa6ca18c13)
-bool gm_decode_base64(uchar *buffer,uint &len) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:gm_decode_base64");
-
- static const char base64[256]={
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x3e,0x80,0x80,0x80,0x3f,
- 0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x80,0x80,0x80,0x80,0x80,0x80,
- 0x80,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,
- 0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x80,0x80,0x80,0x80,0x80,
- 0x80,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,
- 0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x80,0x80,0x80,0x80,0x80,
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
- 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80};
-
- uint pos=0;
- uchar v;
- for (uint i=0,b=0;i<len;i++) {
- v=base64[buffer[i]];
- if (v!=0x80) {
- switch(b) {
- case 0: buffer[pos]=(v<<2);
- b++;
- break;
- case 1: buffer[pos++]|=(v>>4);
- buffer[pos]=(v<<4);
- b++;
- break;
- case 2: buffer[pos++]|=(v>>2);
- buffer[pos]=(v<<6);
- b++;
- break;
- case 3: buffer[pos++]|=v;
- b=0;
- break;
- }
- } else {
- if (buffer[i]=='=' && b>1) {
- len=pos;
- return true;
- } else return false;
- }
- }
- len=pos;
- return true;
-}
-
-QImage *GetEmbededImage(QString FileName) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:GetEmbededImage");
-
- // Try to get embeded image
- QImage *Image=new QImage();
-
- //*********** MP3
- if ((Image->isNull())&&(QFileInfo(FileName).suffix().toLower()=="mp3")) {
- TagLib::MPEG::File MP3File(TagLib::FileName(FileName.toLocal8Bit()));
- if (MP3File.ID3v2Tag()) {
- TagLib::ID3v2::FrameList l=MP3File.ID3v2Tag()->frameListMap()["APIC"];
- if (!l.isEmpty()) {
- TagLib::ID3v2::AttachedPictureFrame *pic=static_cast<TagLib::ID3v2::AttachedPictureFrame *>(l.front());
- if (pic) Image->loadFromData((const uchar *)pic->picture().data(),pic->picture().size());
- }
- }
- }
- //*********** FLAC
- #ifdef TAGLIBWITHFLAC
- if ((Image->isNull())&&(QFileInfo(FileName).suffix().toLower()=="flac")) {
- TagLib::FLAC::File FLACFile(TagLib::FileName(FileName.toLocal8Bit()));
- TagLib::List<TagLib::FLAC::Picture *> PictList=FLACFile.pictureList();
-
- // Search PreferedPic : the one with the type lesser
- TagLib::FLAC::Picture *PreferedPic=NULL;
- if (!PictList.isEmpty()) for (uint i=0;i<PictList.size();i++) {
- TagLib::FLAC::Picture *Pic=PictList[i];
- if ((Pic!=NULL)&&((PreferedPic==NULL)||(PreferedPic->type()>Pic->type()))) PreferedPic=Pic;
- }
- if (PreferedPic) Image->loadFromData((const uchar *)PreferedPic->data().data(),PreferedPic->data().size());
- }
- #endif
- //*********** OGG
- if ((Image->isNull())&&((QFileInfo(FileName).suffix().toLower()=="ogg")||(QFileInfo(FileName).suffix().toLower()=="oga"))) {
- TagLib::Vorbis::File OggFile(TagLib::FileName(FileName.toLocal8Bit()));
- if ((OggFile.tag())&&(OggFile.tag()->contains(TagLib::String("COVERART")))) {
- const TagLib::StringList &CoverList=OggFile.tag()->fieldListMap()["COVERART"];
- for (TagLib::StringList::ConstIterator it=CoverList.begin();it!=CoverList.end();it++) {
- const TagLib::ByteVector &Vector=(*it).data(TagLib::String::UTF8);
- if ((Image->isNull())&&(Vector.size())) {
- uint len =Vector.size();
- uchar *buffer=(uchar *)malloc(len);
- memcpy(buffer,Vector.data(),len);
- if (gm_decode_base64(buffer,len))
- Image->loadFromData((const uchar *)buffer,len);
- free(buffer);
- }
-
- }
- }
- }
- //*********** MP4/M4A => don't work with M4V or MP4 video
- #ifdef TAGLIBWITHMP4
- if ((Image->isNull())&&(/*(QFileInfo(FileName).suffix().toLower()=="mp4")||*/(QFileInfo(FileName).suffix().toLower()=="m4a")||(QFileInfo(FileName).suffix().toLower()=="m4v"))) {
- TagLib::MP4::File MP4File(TagLib::FileName(FileName.toLocal8Bit()));
- if ((MP4File.tag())&&(MP4File.tag()->itemListMap().contains("covr"))) {
- TagLib::MP4::CoverArtList coverArtList = MP4File.tag()->itemListMap()["covr"].toCoverArtList();
- if (coverArtList.size()!= 0) {
- TagLib::MP4::CoverArt ca = coverArtList.front();
- Image->loadFromData((const uchar *) ca.data().data(),ca.data().size());
- }
- }
- }
- #endif
- //*********** ASF/WMA //////////////////// A FINIR ! ///////////// CA A PAS L'AIR DE MARCHER !
- #ifdef TAGLIBWITHASF
- if ((Image->isNull())&&(QFileInfo(FileName).suffix().toLower()=="wma")) {
- TagLib::ASF::File ASFFile(TagLib::FileName(TagLib::FileName(FileName.toLocal8Bit())));
- /*
- TagLib::ASF::Tag* asfTag = dynamic_cast<TagLib::ASF::Tag*>(ASFFile.tag());
- TagLib::ASF::AttributeListMap& attrListMap = asfTag->attributeListMap();
- for (TagLib::ASF::AttributeListMap::Iterator it=attrListMap.begin();it!=attrListMap.end();++it) {
-
- TagLib::ASF::AttributeList& attrList = (*it).second;
- for (TagLib::ASF::AttributeList::Iterator ait = attrList.begin();ait != attrList.end();++ait) {
- //qDebug()<< QString().fromStdString((*ait).toString().toCString());
- }
- }
- */
- #ifdef TAGLIBWITHASFPICTURE
- if ((ASFFile.tag())&&(ASFFile.tag()->attributeListMap().contains("WM/Picture"))) {
- const TagLib::ASF::AttributeList &attrList=ASFFile.tag()->attributeListMap()["WM/Picture"];
- if (!attrList.isEmpty()) {
- TagLib::ASF::Picture pic = attrList[0].toPicture();
- if (pic.isValid()) Image->loadFromData((const uchar *)pic.picture().data(),pic.picture().size());
- }
- }
- #endif
- }
- #endif
- //***********
- if (!Image->isNull()) return Image; else {
- delete Image;
- return NULL;
- }
-}
-
-//*********************************************************************************************************************************************
-// Base class object
-//*********************************************************************************************************************************************
-
-cBaseMediaFile::cBaseMediaFile(cBaseApplicationConfig *TheApplicationConfig):cCustomIcon() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseMediaFile::cBaseMediaFile");
-
- ObjectType = OBJECTTYPE_UNMANAGED;
- IsValide = false; // if true then object if initialise
- IsInformationValide = false; // if true then information list if fuly initialise
- ObjectGeometry = IMAGE_GEOMETRY_UNKNOWN; // Image geometry
- FileName = ""; // filename
- FileExtension = "";
- ShortName = "";
- FileSize = 0;
- FileSizeText = "";
- ImageWidth = 0; // Widht of normal image
- ImageHeight = 0; // Height of normal image
- CreatDateTime = QDateTime(QDate(0,0,0),QTime(0,0,0)); // Original date/time
- ModifDateTime = QDateTime(QDate(0,0,0),QTime(0,0,0)); // Last modified date/time
- ApplicationConfig = TheApplicationConfig;
- AspectRatio = 1;
- ImageOrientation = -1;
-}
-
-//====================================================================================================================
-
-cBaseMediaFile::~cBaseMediaFile() {
- ToLog(LOGMSG_DEBUGTRACE,QString("IN:cBaseMediaFile::~cBaseMediaFile for object %1").arg(FileName));
-}
-
-//*****************************************************************************************************************************************
-
-bool cBaseMediaFile::GetThumbnailFromCache(cThumbCache *ThumbCache) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseMediaFile::GetThumbnailFromCache");
-
- if (!ThumbCache) return false;
- bool IsOk=false;
-
- QString ShortFileName=ShortName;
- if (ObjectType==OBJECTTYPE_FOLDER) ShortFileName="###FOLDER###"; else ShortFileName =QFileInfo(FileName).fileName();
-
- QDomNodeList nodeList=ThumbCache->ThumbCacheDocument.elementsByTagName("Thumbnails");
- bool IsFind=false;
- for (int i=0;(i<nodeList.count())&&(!IsFind);i++) {
- QDomElement Element=nodeList.at(i).toElement();
- if ((Element.hasAttribute("Thumbnail"))&&(Element.hasAttribute("ShortFileName"))&&(Element.hasAttribute("TimeStamp"))&&(Element.attribute("ShortFileName")==ShortFileName)) {
- if ((Element.attribute("TimeStamp")==ModifDateTime.toString("dd/MM/yyyy hh:mm:ss.zzz"))) {
- IsFind=true;
- QImage Image;
- if (Image.loadFromData(qUncompress(QByteArray::fromHex(Element.attribute("Thumbnail").toUtf8())),"PNG")) {
- LoadIcons(&Image);
- if (Element.hasAttribute("PixelXDimension")) ImageWidth=Element.attribute("PixelXDimension").toInt();
- if (Element.hasAttribute("PixelYDimension")) ImageHeight=Element.attribute("PixelYDimension").toInt();
- if (GetInformationValue("Photo.PixelXDimension")=="") InformationList.append(QString("Photo.PixelXDimension")+QString("##")+QString("%1").arg(ImageWidth));
- if (GetInformationValue("Photo.PixelYDimension")=="") InformationList.append(QString("Photo.PixelYDimension")+QString("##")+QString("%1").arg(ImageHeight));
- IsOk=true;
- } else {
- ToLog(LOGMSG_CRITICAL,QString("GetThumbnailFromCache Error reading %1").arg(FileName));
- }
- } else {
- ThumbCache->ThumbCacheDocument.documentElement().removeChild(Element);
- }
- }
- }
- return IsOk;
-}
-
-//*****************************************************************************************************************************************
-
-void cBaseMediaFile::AddThumbnailToCache(cThumbCache *ThumbCache,QDateTime TimeStamp) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseMediaFile::AddThumbnailToCache");
-
- if (!ThumbCache) return;
- if (ImageWidth*ImageHeight<1000000) return; // No cache for image <1M pixel
-
- ThumbCache->IsModify=true;
-
- QByteArray Compressed,ImageHexed;
- QString ShortFileName=ShortName;
-
- if (ObjectType==OBJECTTYPE_FOLDER) ShortFileName="###FOLDER###"; else ShortFileName =QFileInfo(FileName).fileName();
-
- QByteArray ba;
- QBuffer buf(&ba);
- bool IsSaved =false;
-
- QDomNodeList nodeList=ThumbCache->ThumbCacheDocument.elementsByTagName("Thumbnails");
- for (int i=0;i<nodeList.count();i++) {
- QDomElement Element=nodeList.at(i).toElement();
- if ((Element.hasAttribute("ShortFileName"))&&(Element.attribute("ShortFileName")==ShortFileName)) {
- IconBIG.save(&buf,"PNG");
- Compressed=qCompress(ba,1);
- ImageHexed=Compressed.toHex();
- Element.setAttribute("Thumbnail",QString(ImageHexed));
- Element.setAttribute("Width",IconBIG.width());
- Element.setAttribute("Height",IconBIG.height());
- Element.setAttribute("PixelXDimension",ImageWidth);
- Element.setAttribute("PixelYDimension",ImageHeight);
- Element.setAttribute("TimeStamp",TimeStamp.toString("dd/MM/yyyy hh:mm:ss.zzz"));
- IsSaved=true;
- i=nodeList.count();
- }
- }
- if (!IsSaved) {
- QDomElement SubElement=ThumbCache->ThumbCacheDocument.createElement("Thumbnails");
- SubElement.setAttribute("ShortFileName",ShortFileName);
- IconBIG.save(&buf,"PNG");
- Compressed=qCompress(ba,1);
- ImageHexed=Compressed.toHex();
- SubElement.setAttribute("Thumbnail",QString(ImageHexed));
- SubElement.setAttribute("Width",IconBIG.width());
- SubElement.setAttribute("Height",IconBIG.height());
- SubElement.setAttribute("PixelXDimension",ImageWidth);
- SubElement.setAttribute("PixelYDimension",ImageHeight);
- SubElement.setAttribute("TimeStamp",TimeStamp.toString("dd/MM/yyyy hh:mm:ss.zzz"));
- ThumbCache->ThumbCacheDocument.documentElement().appendChild(SubElement);
- }
-}
-
-//====================================================================================================================
-
-bool cBaseMediaFile::GetInformationFromFile(QString GivenFileName,QStringList *AliasList,bool *ModifyFlag) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseMediaFile::GetInformationFromFile");
-
- FileName =QFileInfo(GivenFileName).absoluteFilePath();
-
- if (ModifyFlag) *ModifyFlag=false;
-
- // Use aliaslist
- if (AliasList) {
- int i;
- for (i=0;(i<AliasList->count())&&(!AliasList->at(i).startsWith(FileName));i++);
- if ((i<AliasList->count())&&(AliasList->at(i).startsWith(FileName))) {
- FileName=AliasList->at(i);
- if (FileName.indexOf("####")>0) FileName=FileName.mid(FileName.indexOf("####")+QString("####").length());
- }
- }
-
- bool Continue=true;
- while ((Continue)&&(!QFileInfo(FileName).exists())) {
- QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
- if (CustomMessageBox(ApplicationConfig->TopLevelWindow,QMessageBox::Question,QApplication::translate("cBaseMediaFile","Open file"),
- QApplication::translate("cBaseMediaFile","Impossible to open file ")+FileName+"\n"+QApplication::translate("cBaseMediaFile","Do you want to select another file ?"),
- QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)!=QMessageBox::Yes)
- Continue=false;
- else {
- QString NewFileName=QFileDialog::getOpenFileName(ApplicationConfig->TopLevelWindow,QApplication::translate("cBaseMediaFile","Select another file for ")+QFileInfo(FileName).fileName(),
- ApplicationConfig->RememberLastDirectories?ApplicationConfig->LastMediaPath:"",
- ApplicationConfig->GetFilterForMediaFile(ObjectType==OBJECTTYPE_IMAGEFILE?cBaseApplicationConfig::IMAGEFILE:ObjectType==OBJECTTYPE_VIDEOFILE?cBaseApplicationConfig::VIDEOFILE:cBaseApplicationConfig::MUSICFILE));
- if (NewFileName!="") {
- if (AliasList) AliasList->append(FileName+"####"+NewFileName);
- FileName=NewFileName;
- if (ApplicationConfig->RememberLastDirectories) ApplicationConfig->LastMediaPath=QFileInfo(FileName).absolutePath(); // Keep folder for next use
- if (ModifyFlag) *ModifyFlag=true;
- } else Continue=false;
- }
- QApplication::restoreOverrideCursor();
- }
- if (!Continue) {
- ToLog(LOGMSG_CRITICAL,QApplication::translate("cBaseMediaFile","Impossible to open file %1").arg(FileName));
- ShortName=QFileInfo(FileName).fileName();
- return false;
- }
-
- ShortName =QFileInfo(FileName).fileName();
- FileExtension=QFileInfo(FileName).completeSuffix().toLower();
- FileSize =QFileInfo(FileName).size();
- FileSizeText =GetTextSize(FileSize);
- ModifDateTime=QFileInfo(FileName).lastModified();
- CreatDateTime=QFileInfo(FileName).created();
-
- IsValide=true;
-
- return IsValide;
-}
-
-//====================================================================================================================
-
-QString cBaseMediaFile::GetInformationValue(QString ValueToSearch) {
- //ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseMediaFile::GetInformationValue"); // Remove: to much
-
- int i=0;
- while ((i<InformationList.count())&&(!((QString )InformationList[i]).startsWith(ValueToSearch+"##"))) i++;
- if ((i<InformationList.count())&&(((QString )InformationList[i]).startsWith(ValueToSearch))) {
- QStringList Values=((QString)InformationList[i]).split("##");
- if (Values.count()==2) return ((QString)Values[1]).trimmed();
- }
- return "";
-}
-
-//====================================================================================================================
-
-QString cBaseMediaFile::GetImageGeometryStr() {
- //ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseMediaFile::GetImageGeometryStr"); // Remove: to much
-
- switch (ObjectGeometry) {
- case IMAGE_GEOMETRY_3_2 : return "3:2";
- case IMAGE_GEOMETRY_2_3 : return "2:3";
- case IMAGE_GEOMETRY_4_3 : return "4:3";
- case IMAGE_GEOMETRY_3_4 : return "3:4";
- case IMAGE_GEOMETRY_16_9 : return "16:9";
- case IMAGE_GEOMETRY_9_16 : return "9:16";
- case IMAGE_GEOMETRY_40_17 : return "40:17";
- case IMAGE_GEOMETRY_17_40 : return "17:40";
- default : return ""; //QApplication::translate("cBaseMediaFile","ns","Non standard image geometry");
- }
-}
-
-//====================================================================================================================
-
-QString cBaseMediaFile::GetFileSizeStr() {
- //ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseMediaFile::GetFileSizeStr"); // Remove: to much
-
- return FileSizeText;
-}
-
-//====================================================================================================================
-
-QString cBaseMediaFile::GetFileDateTimeStr(bool Created) {
- //ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseMediaFile::GetFileDateTimeStr"); // Remove: to much
-
- if (Created) return CreatDateTime.toString("dd/MM/yyyy hh:mm:ss");
- else return ModifDateTime.toString("dd/MM/yyyy hh:mm:ss");
-}
-
-//====================================================================================================================
-
-QString cBaseMediaFile::GetImageSizeStr(ImageSizeFmt Fmt) {
- //ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseMediaFile::GetImageSizeStr"); // Remove: to much
-
- QString SizeInfo="";
- QString FmtInfo ="";
- QString GeoInfo ="";
-
- if ((ImageWidth>0)&&(ImageHeight>0)) {
- // Compute MPix
- double MPix=double(double(ImageWidth)*double(ImageHeight))/double(1000000);
- int RealImageWidth=ImageWidth;
- if (AspectRatio!=1) RealImageWidth=int(double(ImageWidth)/AspectRatio);
- SizeInfo=QString("%1x%2").arg(RealImageWidth).arg(ImageHeight);
-
- // now search if size is referenced in DefImageFormat
- for (int i=0;i<2;i++) for (int j=0;j<3;j++) for (int k=0;k<NBR_SIZEDEF;k++) if ((DefImageFormat[i][j][k].Width==RealImageWidth)&&(DefImageFormat[i][j][k].Height==ImageHeight)) {
- FmtInfo=QString(DefImageFormat[i][j][k].Name).left(QString(DefImageFormat[i][j][k].Name).indexOf(" -"));
- break;
- }
- if ((FmtInfo=="")&&(MPix>=1)) FmtInfo=QString("%1").arg(MPix,8,'f',1).trimmed()+QApplication::translate("cBaseMediaFile","MPix");
- else switch (ImageHeight) {
- case 240: FmtInfo="QVGA"; break;
- case 320: FmtInfo="HVGA"; break;
- case 480: FmtInfo="WVGA"; break;
- case 576: FmtInfo="DVD"; break;
- case 600: FmtInfo="SVGA"; break;
- case 720: FmtInfo="720p"; break;
- case 768: FmtInfo="XGA"; break;
- case 1080: FmtInfo="1080p"; break;
- default: FmtInfo="ns"; break;
- }
- }
- GeoInfo=GetImageGeometryStr();
- switch (Fmt) {
- case FULLWEB : return SizeInfo+((FmtInfo+GeoInfo)!=""?"("+FmtInfo+(FmtInfo!=""?"-":"")+GeoInfo+")":"");
- case SIZEONLY : return SizeInfo;
- case FMTONLY : return FmtInfo;
- case GEOONLY : return GeoInfo;
- default : return "";
- }
-}
-
-//====================================================================================================================
-
-QString cBaseMediaFile::GetCumulInfoStr(QString Key1,QString Key2) {
- //ToLog(LOGMSG_DEBUGTRACE,"IN:cBaseMediaFile::GetCumulInfoStr"); // Remove: to much
-
- int Num =0;
- QString TrackNum="";
- QString Value ="";
- QString Info ="";
- do {
- TrackNum=QString("%1").arg(Num);
- while (TrackNum.length()<3) TrackNum="0"+TrackNum;
- TrackNum=Key1+"_"+TrackNum+":";
- Value=GetInformationValue(TrackNum+Key2);
- if (Value!="") Info=Info+((Num>0)?",":"")+Value;
- // Next
- Num++;
- } while (Value!="");
- return Info;
-}
-
-//*********************************************************************************************************************************************
-// Unmanaged File
-//*********************************************************************************************************************************************
-
-cUnmanagedFile::cUnmanagedFile(cBaseApplicationConfig *ApplicationConfig):cBaseMediaFile(ApplicationConfig) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cUnmanagedFile::cUnmanagedFile");
-
- LoadIcons(&ApplicationConfig->DefaultFILEIcon);
- ObjectType =OBJECTTYPE_UNMANAGED;
- IsInformationValide=true;
-}
-
-//====================================================================================================================
-
-bool cUnmanagedFile::GetInformationFromFile(QString GivenFileName,QStringList *,bool *) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cUnmanagedFile::GetInformationFromFile");
-
- FileName =QFileInfo(GivenFileName).absoluteFilePath();
- ShortName =QFileInfo(FileName).fileName();
-
- if (!QFileInfo(FileName).exists()) {
- ToLog(LOGMSG_CRITICAL,QApplication::translate("cBaseMediaFile","Impossible to open file %1").arg(FileName));
- IsValide=false;
- } else {
- FileSize =QFileInfo(FileName).size();
- FileSizeText =GetTextSize(FileSize);
- CreatDateTime =QFileInfo(FileName).lastModified(); // Keep date/time file was created by the camera !
- ModifDateTime =QFileInfo(FileName).created(); // Keep date/time file was created on the computer !
-
- IsValide=true;
- }
-
- return IsValide;
-}
-
-//====================================================================================================================
-
-QString cUnmanagedFile::GetFileTypeStr() {
- ToLog(LOGMSG_DEBUGTRACE,QString("IN:cUnmanagedFile::GetFileTypeStr for %1").arg(FileName));
-
- return QApplication::translate("cBaseMediaFile","Unmanaged","File type");
-}
-
-//====================================================================================================================
-
-bool cUnmanagedFile::IsFilteredFile(int RequireObjectType) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cUnmanagedFile::IsFilteredFile");
-
- return RequireObjectType==OBJECTTYPE_UNMANAGED;
-}
-
-//*********************************************************************************************************************************************
-// Folder
-//*********************************************************************************************************************************************
-
-cFolder::cFolder(cBaseApplicationConfig *ApplicationConfig):cBaseMediaFile(ApplicationConfig) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cFolder::cFolder");
-
- ObjectType =OBJECTTYPE_FOLDER;
-}
-
-//====================================================================================================================
-
-bool cFolder::GetInformationFromFile(QString GivenFileName,QStringList */*AliasList*/,bool */*ModifyFlag*/) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cFolder::GetInformationFromFile");
-
- FileName =QFileInfo(GivenFileName).absoluteFilePath();
- ShortName =QFileInfo(GivenFileName).fileName();
- CreatDateTime =QFileInfo(FileName).lastModified(); // Keep date/time file was created by the camera !
- ModifDateTime =QFileInfo(FileName).created(); // Keep date/time file was created on the computer !
- return true;
-}
-
-//====================================================================================================================
-
-bool cFolder::IsFilteredFile(int) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cFolder::IsFilteredFile");
-
- return true; // always valide
-}
-
-//====================================================================================================================
-
-void cFolder::GetFullInformationFromFile() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cFolder::GetFullInformationFromFile");
-
- IsInformationValide=true;
-
- QString AdjustedFileName=FileName; if (!AdjustedFileName.endsWith(QDir::separator())) AdjustedFileName=AdjustedFileName+QDir::separator();
-
- // Check if a folder.jpg file exist
- if (Icon16.isNull()) {
- QFileInfoList Directorys=QDir(FileName).entryInfoList(QDir::Files);
- for (int j=0;j<Directorys.count();j++) if (Directorys[j].fileName().toLower()=="folder.jpg") {
- QString FileName=AdjustedFileName+Directorys[j].fileName();
- QImage Final(":img/FolderMask_200.png");
- QImage Img(FileName);
- QImage ImgF;
- if (double(Img.height())/double(Img.width())*double(Img.width())<=162) ImgF=Img.scaledToWidth(180,Qt::SmoothTransformation);
- else ImgF=Img.scaledToHeight(162,Qt::SmoothTransformation);
- QPainter Painter;
- Painter.begin(&Final);
- Painter.drawImage(QRect((Final.width()-ImgF.width())/2,195-ImgF.height(),ImgF.width(),ImgF.height()),ImgF);
- Painter.end();
- LoadIcons(&Final);
- }
- }
-
- // Check if there is an desktop.ini ==========> WINDOWS EXTENSION
- if (Icon16.isNull()) {
- QFileInfoList Directorys=QDir(FileName).entryInfoList(QDir::Files|QDir::Hidden);
- for (int j=0;j<Directorys.count();j++) if (Directorys[j].fileName().toLower()=="desktop.ini") {
- QFile FileIO(AdjustedFileName+Directorys[j].fileName());
- QString IconFile ="";
- #ifdef Q_OS_WIN
- int IconIndex=0;
- #endif
- if (FileIO.open(QIODevice::ReadOnly/*|QIODevice::Text*/)) {
- // Sometimes this kind of files have incorrect line terminator : nor \r\n nor \n
- QTextStream FileST(&FileIO);
- QString AllInfo=FileST.readAll();
- QString Line="";
- while (AllInfo!="") {
- int j=0;
- while ((j<AllInfo.length())&&((AllInfo[j]>=char(32))||(AllInfo[j]==9))) j++;
- if (j<AllInfo.length()) {
- Line=AllInfo.left(j);
- while ((j<AllInfo.length())&&(AllInfo[j]<=char(32))) j++;
- if (j<AllInfo.length()) AllInfo=AllInfo.mid(j); else AllInfo="";
- } else {
- Line=AllInfo;
- AllInfo="";
- }
- #ifdef Q_OS_WIN
- if ((Line.toUpper().startsWith("ICONINDEX"))&&(Line.indexOf("=")!=-1)) {
- IconIndex=Line.mid(Line.indexOf("=")+1).toInt();
- } else
- #endif
- if ((Line.toUpper().startsWith("ICONFILE"))&&(Line.indexOf("=")!=-1)) {
- Line=Line.mid(Line.indexOf("=")+1).trimmed();
- // Replace all variables like %systemroot%
- while (Line.indexOf("%")!=-1) {
- QString Var=Line.mid(Line.indexOf("%")+1); Var=Var.left(Var.indexOf("%"));
- QString Value=getenv(Var.toLocal8Bit());
- Line.replace("%"+Var+"%",Value,Qt::CaseInsensitive);
- }
- if (QFileInfo(Line).isRelative()) IconFile=AdjustDirForOS(AdjustedFileName+Line);
- else IconFile=AdjustDirForOS(QFileInfo(Line).absoluteFilePath());
- }
- }
- FileIO.close();
- }
- if (IconFile.toLower().endsWith(".jpg") || IconFile.toLower().endsWith(".png") || IconFile.toLower().endsWith(".ico")) LoadIcons(IconFile);
- #ifdef Q_OS_WIN
- else LoadIcons(GetIconForFileOrDir(IconFile,IconIndex));
- #endif
- }
- }
-
- // if no icon then load default for type
- if (Icon16.isNull()) LoadIcons(&ApplicationConfig->DefaultFOLDERIcon);
-}
-
-//====================================================================================================================
-
-QString cFolder::GetFileTypeStr() {
- ToLog(LOGMSG_DEBUGTRACE,QString("IN:cFolder::GetFileTypeStr for %1").arg(FileName));
-
- return QApplication::translate("cBaseMediaFile","Folder","File type");
-}
-
-//*********************************************************************************************************************************************
-// ffDiaporama project file
-//*********************************************************************************************************************************************
-
-cffDProjectFile::cffDProjectFile(cBaseApplicationConfig *ApplicationConfig):cBaseMediaFile(ApplicationConfig) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cffDProjectFile::cffDProjectFile");
-
- LoadIcons(&ApplicationConfig->DefaultFFDIcon);
- ObjectType =OBJECTTYPE_FFDFILE;
- Title ="";
- Author ="";
- Album ="";
- Year =QDate::currentDate().year();
- Comment ="";
- Composer ="";
- Duration =0;
- NbrSlide =0;
- ffDRevision ="";
- DefaultLanguage ="und";
- NbrChapters =0;
-}
-
-//====================================================================================================================
-
-bool cffDProjectFile::GetInformationFromFile(QString GivenFileName,QStringList */*AliasList*/,bool */*ModifyFlag*/) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cffDProjectFile::GetInformationFromFile");
-
- FileName =QFileInfo(GivenFileName).absoluteFilePath();
- ShortName =QFileInfo(GivenFileName).fileName();
- FileSize =QFileInfo(GivenFileName).size();
- FileSizeText =GetTextSize(FileSize);
- CreatDateTime =QFileInfo(FileName).lastModified(); // Keep date/time file was created by the camera !
- ModifDateTime =QFileInfo(FileName).created(); // Keep date/time file was created on the computer !
- LoadIcons(&ApplicationConfig->DefaultFFDIcon);
- return true;
-}
-
-//====================================================================================================================
-
-void cffDProjectFile::SaveToXML(QDomElement &domDocument) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cffDProjectFile::SaveToXML");
-
- QDomDocument DomDocument;
- QDomElement Element=DomDocument.createElement("ffDiaporamaProjectProperties");
- Element.setAttribute("Title",Title);
- Element.setAttribute("Author",Author);
- Element.setAttribute("Album",Album);
- Element.setAttribute("Year",Year);
- Element.setAttribute("Comment",Comment);
- Element.setAttribute("Composer",Composer);
- Element.setAttribute("Duration",Duration);
- Element.setAttribute("ffDRevision",ffDRevision);
- Element.setAttribute("DefaultLanguage",DefaultLanguage);
- Element.setAttribute("ChaptersNumber",NbrChapters);
- for (int i=0;i<NbrChapters;i++) {
- QString ChapterNum=QString("%1").arg(i); while (ChapterNum.length()<3) ChapterNum="0"+ChapterNum;
- QDomElement SubElement=DomDocument.createElement("Chapter_"+ChapterNum);
- SubElement.setAttribute("Start",GetInformationValue("Chapter_"+ChapterNum+":Start"));
- SubElement.setAttribute("End",GetInformationValue("Chapter_"+ChapterNum+":End"));
- SubElement.setAttribute("Duration",GetInformationValue("Chapter_"+ChapterNum+":Duration"));
- SubElement.setAttribute("title",GetInformationValue("Chapter_"+ChapterNum+":title"));
- SubElement.setAttribute("InSlide",GetInformationValue("Chapter_"+ChapterNum+":InSlide"));
- Element.appendChild(SubElement);
- }
- domDocument.appendChild(Element);
-}
-
-//====================================================================================================================
-
-bool cffDProjectFile::LoadFromXML(QDomElement domDocument) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cffDProjectFile::LoadFromXML");
-
- bool IsOk=false;
- if ((domDocument.elementsByTagName("ffDiaporamaProjectProperties").length()>0)&&(domDocument.elementsByTagName("ffDiaporamaProjectProperties").item(0).isElement()==true)) {
- QDomElement Element=domDocument.elementsByTagName("ffDiaporamaProjectProperties").item(0).toElement();
- if (Element.hasAttribute("Title")) {
- Title =Element.attribute("Title");
- InformationList.append(QString("title")+QString("##")+QString(Title));
- }
- if (Element.hasAttribute("Author")) {
- Author =Element.attribute("Author");
- InformationList.append(QString("artist")+QString("##")+QString(Author));
- }
- if (Element.hasAttribute("Album")) {
- Album =Element.attribute("Album");
- InformationList.append(QString("album")+QString("##")+QString(Album));
- }
- if (Element.hasAttribute("Year")) {
- Year =Element.attribute("Year").toInt();
- InformationList.append(QString("date")+QString("##")+QString("%1").arg(Year));
- }
- if (Element.hasAttribute("Comment")) {
- Comment =Element.attribute("Comment");
- InformationList.append(QString("comment")+QString("##")+QString(Comment));
- }
- if (Element.hasAttribute("ffDRevision")) {
- ffDRevision=Element.attribute("ffDRevision");
- InformationList.append(QString("ffDRevision")+QString("##")+QString(ffDRevision));
- }
- if (Element.hasAttribute("Composer")) {
- Composer=Element.attribute("Composer");
- InformationList.append(QString("composer")+QString("##")+QString(Composer));
- }
- if (Element.hasAttribute("DefaultLanguage")) {
- DefaultLanguage=Element.attribute("DefaultLanguage");
- InformationList.append(QString("Audio_000:language")+QString("##")+QString(DefaultLanguage));
- }
- if (Element.hasAttribute("Duration")) {
- Duration=Element.attribute("Duration").toLongLong();
- if (Duration!=0) {
- int TimeMSec =Duration-(Duration/1000)*1000;
- int TimeSec =int(Duration/1000);
- int TimeHour =TimeSec/(60*60);
- int TimeMinute =(TimeSec%(60*60))/60;
- QTime tDuration;
- tDuration.setHMS(TimeHour,TimeMinute,TimeSec%60,TimeMSec);
- InformationList.append(QString("Duration")+QString("##")+tDuration.toString("HH:mm:ss.zzz"));
- }
- }
- if (Element.hasAttribute("ChaptersNumber")) {
- NbrChapters=Element.attribute("ChaptersNumber").toInt();
- for (int i=0;i<NbrChapters;i++) {
- QString ChapterNum=QString("%1").arg(i); while (ChapterNum.length()<3) ChapterNum="0"+ChapterNum;
- if ((domDocument.elementsByTagName("Chapter_"+ChapterNum).length()>0)&&(domDocument.elementsByTagName("Chapter_"+ChapterNum).item(0).isElement()==true)) {
- QDomElement SubElement=domDocument.elementsByTagName("Chapter_"+ChapterNum).item(0).toElement();
- QString Start="";
- QString End="";
- QString Duration="";
- QString Title="";
- QString InSlide="";
- if (SubElement.hasAttribute("Start")) Start=SubElement.attribute("Start");
- if (SubElement.hasAttribute("End")) End=SubElement.attribute("End");
- if (SubElement.hasAttribute("Duration")) Duration=SubElement.attribute("Duration");
- if (SubElement.hasAttribute("title")) Title=SubElement.attribute("title");
- if (SubElement.hasAttribute("InSlide")) InSlide=SubElement.attribute("InSlide");
-
- InformationList.append("Chapter_"+ChapterNum+":Start" +QString("##")+Start);
- InformationList.append("Chapter_"+ChapterNum+":End" +QString("##")+End);
- InformationList.append("Chapter_"+ChapterNum+":Duration"+QString("##")+Duration);
- InformationList.append("Chapter_"+ChapterNum+":title" +QString("##")+Title);
- InformationList.append("Chapter_"+ChapterNum+":InSlide" +QString("##")+InSlide);
- }
- }
- }
- IsOk=true;
- }
- if ((domDocument.elementsByTagName("Project").length()>0)&&(domDocument.elementsByTagName("Project").item(0).isElement()==true)) {
- QDomElement Element=domDocument.elementsByTagName("Project").item(0).toElement();
- if (Element.hasAttribute("ImageGeometry")) {
- switch (Element.attribute("ImageGeometry").toInt()) {
- case GEOMETRY_16_9: ObjectGeometry=IMAGE_GEOMETRY_16_9; break;
- case GEOMETRY_40_17: ObjectGeometry=IMAGE_GEOMETRY_40_17; break;
- case GEOMETRY_4_3:
- default: ObjectGeometry=IMAGE_GEOMETRY_4_3; break;
- }
- }
- if (Element.hasAttribute("ObjectNumber")) {
- NbrSlide=Element.attribute("ObjectNumber").toInt();
- InformationList.append(QApplication::translate("cBaseMediaFile","Slide number")+QString("##%1").arg(NbrSlide));
- }
- }
- return IsOk;
-}
-
-//====================================================================================================================
-
-void cffDProjectFile::GetFullInformationFromFile() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cffDProjectFile::GetFullInformationFromFile");
-
- QFile file(FileName);
- QDomDocument domDocument;
- QDomElement root;
- QString errorStr;
- int errorLine,errorColumn;
- if (file.open(QFile::ReadOnly | QFile::Text)) {
- if (domDocument.setContent(&file, true, &errorStr, &errorLine,&errorColumn)) {
- root = domDocument.documentElement();
- // Load project properties
- if (root.tagName()==FFD_APPLICATION_ROOTNAME) LoadFromXML(root);
- }
- file.close();
- }
- IsInformationValide=true;
-}
-
-//====================================================================================================================
-
-QString cffDProjectFile::GetTechInfo() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cffDProjectFile::GetTechInfo");
-
- QString Info="";
- if (Composer!="") Info=Info+(Info!=""?" - ":"")+Composer+" ("+ffDRevision+")";
- if (GetImageSizeStr(cBaseMediaFile::GEOONLY)!="") Info=Info+(Info!=""?" - ":"")+GetImageSizeStr(cBaseMediaFile::GEOONLY);
- if (NbrSlide>0) Info=Info+(Info!=""?" - ":"")+QString("%1").arg(NbrSlide) +" "+QApplication::translate("cBaseMediaFile","Slides");
- if (NbrChapters>0) Info=Info+(Info!=""?" - ":"")+QString("%1").arg(NbrChapters)+" "+QApplication::translate("cBaseMediaFile","Chapters");
- return Info;
-}
-
-//====================================================================================================================
-
-QString cffDProjectFile::GetTAGInfo() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cffDProjectFile::GetTechInfo");
-
- QString Info=Title;
- if (Album!="") Info=Info+(Info!=""?" - ":"")+Album;
- if (Info!="") Info=Info+(Info!=""?" - ":"")+QString("%1").arg(Year);
- if (Author!="") Info=Info+(Info!=""?" - ":"")+Author;
- return Info;
-}
-
-//====================================================================================================================
-
-bool cffDProjectFile::IsFilteredFile(int RequireObjectType) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cffDProjectFile::IsFilteredFile");
-
- return (RequireObjectType==OBJECTTYPE_UNMANAGED)||(RequireObjectType==OBJECTTYPE_MANAGED)||(RequireObjectType==OBJECTTYPE_FFDFILE);
-}
-
-//====================================================================================================================
-
-QString cffDProjectFile::GetFileTypeStr() {
- ToLog(LOGMSG_DEBUGTRACE,QString("IN:cffDProjectFile::GetFileTypeStr for %1").arg(FileName));
-
- return QApplication::translate("cBaseMediaFile","ffDiaporama","File type");
-}
-
-//*********************************************************************************************************************************************
-// Image file
-//*********************************************************************************************************************************************
-
-cImageFile::cImageFile(cBaseApplicationConfig *ApplicationConfig):cBaseMediaFile(ApplicationConfig) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cImageFile::cImageFile");
-
- ObjectType =OBJECTTYPE_IMAGEFILE; // coul be turn later to OBJECTTYPE_THUMBNAIL
-}
-
-//====================================================================================================================
-
-bool cImageFile::IsFilteredFile(int RequireObjectType) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cImageFile::IsFilteredFile");
-
- if (ObjectType==OBJECTTYPE_IMAGEFILE) return (RequireObjectType==OBJECTTYPE_UNMANAGED)||(RequireObjectType==OBJECTTYPE_MANAGED)||(RequireObjectType==OBJECTTYPE_IMAGEFILE);
- else return (RequireObjectType==OBJECTTYPE_UNMANAGED);
-}
-
-//====================================================================================================================
-
-QString cImageFile::GetFileTypeStr() {
- ToLog(LOGMSG_DEBUGTRACE,QString("IN:cImageFile::GetFileTypeStr for %1").arg(FileName));
-
- if (ObjectType==OBJECTTYPE_IMAGEFILE) return QApplication::translate("cBaseMediaFile","Image","File type");
- else return QApplication::translate("cBaseMediaFile","Thumbnail","File type");
-}
-
-//====================================================================================================================
-
-void cImageFile::GetFullInformationFromFile(cThumbCache *ThumbCache) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cImageFile::GetFullInformationFromFile");
-
- ImageOrientation =-1;
- IsInformationValide =false;
- bool ExifOk=false;
-
- // ******************************************************************************************************
- // Try to load EXIF information using library exiv2 [Linux version]
- // ******************************************************************************************************
- #ifdef Q_OS_LINUX
- Exiv2::Image::AutoPtr ImageFile;
- try {
- #ifdef Q_OS_WIN
- ImageFile=Exiv2::ImageFactory::open(FileName.toLocal8Bit().data());
- #else
- ImageFile=Exiv2::ImageFactory::open(FileName.toUtf8().data());
- #endif
- ExifOk=true;
- }
- catch( Exiv2::Error& e ) {
- ToLog(LOGMSG_INFORMATION,QApplication::translate("cBaseMediaFile","Image don't have EXIF metadata %1").arg(FileName));
- }
- if (ExifOk) {
- ImageFile->readMetadata();
- // Read data
- Exiv2::ExifData &exifData = ImageFile->exifData();
- if (!exifData.empty()) {
- Exiv2::ExifData::const_iterator end = exifData.end();
- for (Exiv2::ExifData::const_iterator CurrentData=exifData.begin();CurrentData!=end;++CurrentData) {
-
- if ((QString().fromStdString(CurrentData->key())=="Exif.Image.Orientation")&&(CurrentData->tag()==274))
- ImageOrientation=QString().fromStdString(CurrentData->value().toString()).toInt();
-
- if ((CurrentData->typeId()!=Exiv2::undefined)&&
- (!(((CurrentData->typeId()==Exiv2::unsignedByte)||(CurrentData->typeId()==Exiv2::signedByte))&&(CurrentData->size()>64)))) {
- QString Key =QString().fromStdString(CurrentData->key());
- #ifdef Q_OS_WIN
- QString Value=QString().fromStdString(CurrentData->print(&exifData).c_str());
- #else
- QString Value=QString().fromUtf8(CurrentData->print(&exifData).c_str());
- #endif
- if (Key.startsWith("Exif.")) Key=Key.mid(QString("Exif.").length());
- InformationList.append(Key+QString("##")+Value);
- }
- }
- }
-
- // Append InformationList
- if (GetInformationValue("Image.Artist")!="") InformationList.append(QString("artist")+QString("##")+GetInformationValue("Image.Artist"));
- if (GetInformationValue("Image.Model")!="") InformationList.append(QString("composer")+QString("##")+GetInformationValue("Image.Model"));
-
- // Get size information
- if (GetInformationValue("Photo.PixelXDimension")!="") ImageWidth =GetInformationValue("Photo.PixelXDimension").toInt();
- else if (GetInformationValue("Image.ImageWidth")!="") ImageWidth =GetInformationValue("Image.ImageWidth").toInt(); // TIFF Version
- if (GetInformationValue("Photo.PixelYDimension")!="") ImageHeight=GetInformationValue("Photo.PixelYDimension").toInt();
- else if (GetInformationValue("Image.ImageLength")!="") ImageHeight=GetInformationValue("Image.ImageLength").toInt(); // TIFF Version
-
- // switch ImageWidth and ImageHeight if image was rotated
- if ((ImageOrientation==6)||(ImageOrientation==8)) {
- int IW=ImageWidth;
- ImageWidth=ImageHeight;
- ImageHeight=IW;
- }
-
- // Read preview image
- #ifdef EXIV2WITHPREVIEW
- Exiv2::PreviewManager *Manager=new Exiv2::PreviewManager(*ImageFile);
- if (Manager) {
- Exiv2::PreviewPropertiesList Properties=Manager->getPreviewProperties();
- if (!Properties.empty()) {
- Exiv2::PreviewImage Image=Manager->getPreviewImage(Properties[Properties.size()-1]); // Get the latest image (biggest)
- QImage *Icon=new QImage();
- if (Icon->loadFromData(QByteArray((const char*)Image.pData(),Image.size()))) {
- if (ImageOrientation==8) { // Rotating image anti-clockwise by 90 degrees...'
- QMatrix matrix;
- matrix.rotate(-90);
- QImage *NewImage=new QImage(Icon->transformed(matrix,Qt::SmoothTransformation));
- delete Icon;
- Icon=NewImage;
- } else if (ImageOrientation==3) { // Rotating image clockwise by 180 degrees...'
- QMatrix matrix;
- matrix.rotate(180);
- QImage *NewImage=new QImage(Icon->transformed(matrix,Qt::SmoothTransformation));
- delete Icon;
- Icon=NewImage;
- } else if (ImageOrientation==6) { // Rotating image clockwise by 90 degrees...'
- QMatrix matrix;
- matrix.rotate(90);
- QImage *NewImage=new QImage(Icon->transformed(matrix,Qt::SmoothTransformation));
- delete Icon;
- Icon=NewImage;
- }
-
- // Sometimes, Icon have black bar : try to remove them
- if ((double(Icon->width())/double(Icon->height()))!=(double(ImageWidth)/double(ImageHeight))) {
- if (ImageWidth>ImageHeight) {
- int RealHeight=int((double(Icon->width())*double(ImageHeight))/double(ImageWidth));
- int Delta =Icon->height()-RealHeight;
- QImage *NewImage=new QImage(Icon->copy(0,Delta/2,Icon->width(),Icon->height()-Delta));
- delete Icon;
- Icon=NewImage;
- } else {
- int RealWidth=int((double(Icon->height())*double(ImageWidth))/double(ImageHeight));
- int Delta =Icon->width()-RealWidth;
- QImage *NewImage=new QImage(Icon->copy(Delta/2,0,Icon->width()-Delta,Icon->height()));
- delete Icon;
- Icon=NewImage;
- }
- }
-
- // if preview Icon have a really small size, then don't use it
- if (Icon->height()>=ApplicationConfig->MinimumEXIFHeight) LoadIcons(Icon);
- }
- delete Icon;
- }
- delete Manager;
- }
- #endif
- }
-
- #elif defined(Q_OS_WIN)
-
- // ******************************************************************************************************
- // Try to load EXIF information using binary exiv2 [Windows version]
- // ******************************************************************************************************
- QString Commande=AdjustDirForOS("exiv2 print -pa \""+FileName+"\"");
- QString Info,Part;
- QProcess Process;
- ExifOk=true;
- Process.setProcessChannelMode(QProcess::MergedChannels);
- Process.start(Commande);
- if (!Process.waitForStarted()) {
- ToLog(LOGMSG_CRITICAL,QApplication::translate("cBaseMediaFile","Impossible to start exiv2 - no exif informations will be decode for %1").arg(FileName));
- ExifOk=false;
- }
- if (ExifOk && !Process.waitForFinished()) {
- Process.kill();
- ToLog(LOGMSG_CRITICAL,QApplication::translate("cBaseMediaFile","Error during exiv2 process - no exif informations will be decode for %1").arg(FileName));
- ExifOk=false;
- }
- if (ExifOk && (Process.exitStatus()<0)) {
- ToLog(LOGMSG_CRITICAL,QApplication::translate("cBaseMediaFile","exiv2 return error %1 - no exif informations will be decode for %2").arg(Process.exitStatus()).arg(FileName));
- ExifOk=false;
- }
- if (ExifOk) {
- Info=QString().fromLocal8Bit(Process.readAllStandardOutput());
-
- while (Info.length()>0) {
- if (Info.contains("\n")) {
- Part=Info.left(Info.indexOf("\n"));
- Info=Info.mid(Info.indexOf("\n")+QString("\n").length());
- } else {
- Part=Info;
- Info="";
- }
- QString Designation,Value;
- if (Part.contains(" ")) {
- Designation=Part.left(Part.indexOf(" "));
- while (Designation.contains(".")) Designation=(Designation.mid(Designation.indexOf(".")+QString(".").length())).trimmed();
- Value=(Part.mid(Part.indexOf(" ")+QString(" ").length())).trimmed();
- if (Value.contains(" ")) Value=(Value.mid(Value.indexOf(" ")+QString(" ").length())).trimmed();
- if (Value.contains(" ")) Value=(Value.mid(Value.indexOf(" ")+QString(" ").length())).trimmed();
- if (Part.contains(" ")) Part=Part.left(Part.indexOf(" "));
- if (Part.startsWith("Exif.")) Part=Part.mid(QString("Exif.").length());
- InformationList.append(Part+"##"+Value);
- if ((Part=="Photo.PixelXDimension")||(Part=="Image.ImageWidth")) ImageWidth =Value.toInt(); // TIFF use Image.ImageWidth instead of Photo.PixelXDimension
- if ((Part=="Photo.PixelYDimension")||(Part=="Image.ImageLength")) ImageHeight=Value.toInt(); // TIFF use Image.ImageLength instead of Photo.PixelYDimension
- }
- }
- Process.terminate();
- Process.close();
-
- // Restart same job with -pva option to get binary value of orientation
- Commande=AdjustDirForOS("exiv2 print -pva \""+FileName+"\"");
- Process.start(Commande);
- if (!Process.waitForStarted()) {
- ToLog(LOGMSG_CRITICAL,QApplication::translate("cBaseMediaFile","Impossible to start exiv2 - no exif informations will be decode for %1").arg(FileName));
- ExifOk=false;
- }
- if (ExifOk && !Process.waitForFinished()) {
- Process.kill();
- ToLog(LOGMSG_CRITICAL,QApplication::translate("cBaseMediaFile","Error during exiv2 process - no exif informations will be decode for %1").arg(FileName));
- ExifOk=false;
- }
- if (ExifOk && (Process.exitStatus()<0)) {
- ToLog(LOGMSG_CRITICAL,QApplication::translate("cBaseMediaFile","exiv2 return error %1 - no exif informations will be decode for %2").arg(Process.exitStatus()).arg(FileName));
- ExifOk=false;
- }
- if (ExifOk) {
- Info=QString(Process.readAllStandardOutput());
-
- while (Info.length()>0) {
- if (Info.contains("\n")) {
- Part=Info.left(Info.indexOf("\n"));
- Info=Info.mid(Info.indexOf("\n")+QString("\n").length());
- } else {
- Part=Info;
- Info="";
- }
- QString Designation,Value;
- if (Part.contains(" ")) {
- Designation=Part.left(Part.indexOf(" "));
- while (Designation.contains(".")) Designation=(Designation.mid(Designation.indexOf(".")+QString(".").length())).trimmed();
- if (Designation=="0x0112") {
- Value=(Part.mid(Part.lastIndexOf(" ")+QString(" ").length())).trimmed();
- ImageOrientation=Value.toInt();
- }
- }
- }
- }
- }
- Process.terminate();
- Process.close();
- #endif
-
- //************************************************************************************
- // If no exif preview image (of image too small) then load/create thumbnail
- //************************************************************************************
- if ((IsIconNeeded)&&(Icon16.isNull())) {
-
- // Try to load thumb from thumbcache (if exist)
- if (ThumbCache) GetThumbnailFromCache(ThumbCache);
-
- if (Icon16.isNull()) {
- cLuLoImageCacheObject *ImageObject=ApplicationConfig->ImagesCache.FindObject(FileName,ModifDateTime,ImageOrientation,NULL,ApplicationConfig->Smoothing,true);
- if (ImageObject==NULL) {
- ToLog(LOGMSG_CRITICAL,"Error in cImageFile::GetFullInformationFromFile : FindObject return NULL for thumbnail creation !");
- } else {
- QImage *LN_Image=ImageObject->ValidateCacheRenderImage(); // Get a link to render image in LuLoImageCache collection
- if ((LN_Image==NULL)||(LN_Image->isNull())) {
- ToLog(LOGMSG_CRITICAL,"Error in cImageFile::GetFullInformationFromFile : ValidateCacheRenderImage return NULL for thumbnail creation !");
- } else {
- LoadIcons(LN_Image);
- if (ThumbCache) AddThumbnailToCache(ThumbCache,ModifDateTime);
- }
- }
- }
- }
-
- //************************************************************************************
- // if no information about size then load image
- //************************************************************************************
- if ((ImageWidth==0)||(ImageHeight==0)) {
- cLuLoImageCacheObject *ImageObject=ApplicationConfig->ImagesCache.FindObject(FileName,ModifDateTime,ImageOrientation,NULL,ApplicationConfig->Smoothing,true);
- if (ImageObject==NULL) {
- ToLog(LOGMSG_CRITICAL,"Error in cImageFile::GetFullInformationFromFile : FindObject return NULL for size computation !");
- } else {
- QImage *LN_Image=ImageObject->ValidateCacheRenderImage(); // Get a link to render image in LuLoImageCache collection
- if ((LN_Image==NULL)||(LN_Image->isNull())) {
- ToLog(LOGMSG_CRITICAL,"Error in cImageFile::GetFullInformationFromFile : ValidateCacheRenderImage return NULL for size computation !");
- } else {
- ImageWidth =LN_Image->width();
- ImageHeight=LN_Image->height();
- InformationList.append(QString("Photo.PixelXDimension")+QString("##")+QString("%1").arg(ImageWidth));
- InformationList.append(QString("Photo.PixelYDimension")+QString("##")+QString("%1").arg(ImageHeight));
- IsInformationValide=true;
- }
- }
- }
-
- //************************************************************************************
- // End process by computing some values ....
- //************************************************************************************
-
- // Sort InformationList
- InformationList.sort();
-
- // Now we have image size then compute image geometry
- ObjectGeometry=IMAGE_GEOMETRY_UNKNOWN;
- double RatioHW=double(ImageWidth)/double(ImageHeight);
- if ((RatioHW>=1.45)&&(RatioHW<=1.55)) ObjectGeometry=IMAGE_GEOMETRY_3_2;
- else if ((RatioHW>=0.65)&&(RatioHW<=0.67)) ObjectGeometry=IMAGE_GEOMETRY_2_3;
- else if ((RatioHW>=1.32)&&(RatioHW<=1.34)) ObjectGeometry=IMAGE_GEOMETRY_4_3;
- else if ((RatioHW>=0.74)&&(RatioHW<=0.76)) ObjectGeometry=IMAGE_GEOMETRY_3_4;
- else if ((RatioHW>=1.77)&&(RatioHW<=1.79)) ObjectGeometry=IMAGE_GEOMETRY_16_9;
- else if ((RatioHW>=0.56)&&(RatioHW<=0.58)) ObjectGeometry=IMAGE_GEOMETRY_9_16;
- else if ((RatioHW>=2.34)&&(RatioHW<=2.36)) ObjectGeometry=IMAGE_GEOMETRY_40_17;
- else if ((RatioHW>=0.42)&&(RatioHW<=0.44)) ObjectGeometry=IMAGE_GEOMETRY_17_40;
-
- // if Icon16 stil null then load default icon
- if (Icon16.isNull()) LoadIcons(&ApplicationConfig->DefaultIMAGEIcon);
-
- IsInformationValide=true;
-}
-
-//====================================================================================================================
-
-QString cImageFile::GetTechInfo() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cImageFile::GetTechInfo");
-
- QString Info=GetImageSizeStr(FULLWEB);
- if (GetInformationValue("artist")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("artist");
- if (GetInformationValue("composer")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("composer");
- if (GetInformationValue("Image.Orientation")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("Image.Orientation");
- return Info;
-}
-
-//====================================================================================================================
-
-QString cImageFile::GetTAGInfo() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cImageFile::GetTAGInfo");
-
- QString Info=GetInformationValue("Photo.ExposureTime");
- if (GetInformationValue("Photo.ApertureValue")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("Photo.ApertureValue");
- if (GetInformationValue("Photo.ISOSpeedRatings")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("Photo.ISOSpeedRatings")+" ISO";
- if (GetInformationValue("CanonCs.LensType")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("CanonCs.LensType"); // Canon version
- if (GetInformationValue("NikonLd3.LensIDNumber")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("NikonLd3.LensIDNumber"); // Nikon version
- if (GetInformationValue("Photo.Flash")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("Photo.Flash");
- if (GetInformationValue("CanonCs.FlashMode")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("CanonCs.FlashMode"); // Canon version
- if (GetInformationValue("Nikon3.FlashMode")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("Nikon3.FlashMode"); // Nikon version
- return Info;
-}
-
-//====================================================================================================================
-
-QImage *cImageFile::ImageAt(bool PreviewMode,cFilterTransformObject *Filter) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cImageFile::ImageAt");
-
- if (!IsValide) return NULL;
- if (!IsInformationValide) GetFullInformationFromFile();
-
- QImage *LN_Image =NULL;
- QImage *RetImage =NULL;
- cLuLoImageCacheObject *ImageObject=ApplicationConfig->ImagesCache.FindObject(FileName,ModifDateTime,ImageOrientation,Filter,(!PreviewMode || ApplicationConfig->Smoothing),true);
-
- if (!ImageObject) {
- ToLog(LOGMSG_CRITICAL,"Error in cImageFile::ImageAt : FindObject return NULL !");
- return NULL; // There is an error !!!!!
- }
-
- if (PreviewMode) LN_Image=ImageObject->ValidateCachePreviewImage();
- else LN_Image=ImageObject->ValidateCacheRenderImage();
-
- if ((LN_Image==NULL)||(LN_Image->isNull())) {
- ToLog(LOGMSG_CRITICAL,"Error in cImageFile::ImageAt : ValidateCacheImage return NULL !");
- } else {
- RetImage=new QImage(LN_Image->copy());
- if ((RetImage==NULL)||(RetImage->isNull()))
- ToLog(LOGMSG_CRITICAL,"Error in cImageFile::ImageAt : LN_Image->copy() return NULL !");
- }
-
- // return wanted image
- return RetImage;
-}
-
-/*************************************************************************************************************************************
- CLASS cVideoFile
-*************************************************************************************************************************************/
-
-cVideoFile::cVideoFile(int TheWantedObjectType,cBaseApplicationConfig *ApplicationConfig):cBaseMediaFile(ApplicationConfig) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::cVideoFile");
-
- MusicOnly = (TheWantedObjectType==OBJECTTYPE_MUSICFILE);
- ObjectType = TheWantedObjectType;
- IsOpen = false;
- StartPos = QTime(0,0,0,0); // Start position
- EndPos = QTime(0,0,0,0); // End position
-
- // Video part
- ffmpegVideoFile = NULL;
- VideoDecoderCodec = NULL;
- VideoStreamNumber = 0;
- FrameBufferYUV = NULL;
- FrameBufferYUVReady = false;
- FrameBufferYUVPosition = 0;
- dEndFileCachePos = 0; // Position of the cache image of last image of the video
- VideoCodecInfo = "";
- VideoTrackNbr = 0;
- VideoStreamNumber =-1;
- NbrChapters = 0;
-
- // Audio part
- ffmpegAudioFile = NULL;
- AudioDecoderCodec = NULL;
- LastAudioReadedPosition =-1;
- IsVorbis = false;
- AudioCodecInfo = "";
- AudioTrackNbr = 0;
- AudioStreamNumber =-1;
-}
-
-//====================================================================================================================
-
-cVideoFile::~cVideoFile() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::~cVideoFile");
-
- // Close LibAVFormat and LibAVCodec contexte for the file
- CloseCodecAndFile();
-}
-
-//====================================================================================================================
-
-// Overloaded function use to dertermine if media file correspond to WantedObjectType
-// WantedObjectType could be OBJECTTYPE_VIDEOFILE or OBJECTTYPE_MUSICFILE
-// if AudioOnly was set to true in constructor then ignore all video track and set WantedObjectType to OBJECTTYPE_MUSICFILE else set it to OBJECTTYPE_VIDEOFILE
-// return true if WantedObjectType=OBJECTTYPE_VIDEOFILE and at least one video track is present
-// return true if WantedObjectType=OBJECTTYPE_MUSICFILE and at least one audio track is present
-
-void cVideoFile::GetFullInformationFromFile() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::GetFullInformationFromFile");
-
- int64_t AVNOPTSVALUE=INT64_C(0x8000000000000000); // to solve type error with Qt
-
- AVFormatContext *ffmpegFile=NULL;;
-
- //*********************************************************************************************************
- // Open file and get a LibAVFormat context and an associated LibAVCodec decoder
- //*********************************************************************************************************
- #ifdef OLDFFMPEG
- if (av_open_input_file(&ffmpegFile,FileName.toLocal8Bit(),NULL,0,NULL)!=0) return;
- #else
- if (avformat_open_input(&ffmpegFile,FileName.toLocal8Bit(),NULL,NULL)!=0) return;
- #endif
-
- ffmpegFile->flags|=AVFMT_FLAG_GENPTS; // Generate missing pts even if it requires parsing future frames.
-
- //*********************************************************************************************************
- // Search stream in file
- //*********************************************************************************************************
- #ifdef OLDFFMPEG
- if (av_find_stream_info(ffmpegFile)<0) {
- av_close_input_file(ffmpegFile);// deprecated : use avformat_find_stream_info instead
- return;
- }
- #else
- if (avformat_find_stream_info(ffmpegFile,NULL)<0) {
- avformat_close_input(&ffmpegFile);
- return;
- }
- #endif
-
- //*********************************************************************************************************
- // Get metadata
- //*********************************************************************************************************
- #ifdef OLDFFMPEG
- AVMetadataTag *tag=NULL;
- while ((tag=av_metadata_get(ffmpegFile->metadata,"",tag,AV_METADATA_IGNORE_SUFFIX))) {
- #else
- AVDictionaryEntry *tag=NULL;
- while ((tag=av_dict_get(ffmpegFile->metadata,"",tag,AV_DICT_IGNORE_SUFFIX))) {
- #endif
- QString Value=QString().fromUtf8(tag->value);
- #ifdef Q_OS_WIN
- Value.replace(char(13),"\n");
- #endif
- if (Value.endsWith("\n")) Value=Value.left(Value.lastIndexOf("\n"));
- InformationList.append(QString().fromUtf8(tag->key).toLower()+QString("##")+Value);
- }
-
- //*********************************************************************************************************
- // Get chapters
- //*********************************************************************************************************
- NbrChapters=ffmpegFile->nb_chapters;
- for (uint i=0;i<ffmpegFile->nb_chapters;i++) {
- AVChapter *ch=ffmpegFile->chapters[i];
- QString ChapterNum=QString("%1").arg(i);
- while (ChapterNum.length()<3) ChapterNum="0"+ChapterNum;
- qlonglong Start=double(ch->start)*(double(av_q2d(ch->time_base))*1000); // Lib AV use 1/1 000 000 000 sec and we want msec !
- qlonglong End =double(ch->end)*(double(av_q2d(ch->time_base))*1000); // Lib AV use 1/1 000 000 000 sec and we want msec !
- InformationList.append("Chapter_"+ChapterNum+":Start" +QString("##")+QTime(0,0,0,0).addMSecs(Start).toString("hh:mm:ss.zzz"));
- InformationList.append("Chapter_"+ChapterNum+":End" +QString("##")+QTime(0,0,0,0).addMSecs(End).toString("hh:mm:ss.zzz"));
- InformationList.append("Chapter_"+ChapterNum+":Duration"+QString("##")+QTime(0,0,0,0).addMSecs(End-Start).toString("hh:mm:ss.zzz"));
- // Chapter metadata
- #ifdef OLDFFMPEG
- while ((tag=av_metadata_get(ch->metadata,"",tag,AV_METADATA_IGNORE_SUFFIX)))
- #else
- while ((tag=av_dict_get(ch->metadata,"",tag,AV_DICT_IGNORE_SUFFIX)))
- #endif
- InformationList.append("Chapter_"+ChapterNum+":"+QString().fromUtf8(tag->key).toLower()+QString("##")+QString().fromUtf8(tag->value));
- }
-
- //*********************************************************************************************************
- // Get informations about duration
- //*********************************************************************************************************
- int hh,mm,ss;
- qlonglong ms;
-
- ms=ffmpegFile->duration;
- if (ffmpegFile->start_time!=AVNOPTSVALUE) ms-=ffmpegFile->start_time;
- ms=ms/1000;
-
- ss=ms/1000;
- mm=ss/60;
- hh=mm/60;
- mm=mm-(hh*60);
- ss=ss-(ss/60)*60;
- ms=ms-(ms/1000)*1000;
- Duration=QTime(hh,mm,ss,ms);
-
- EndPos =Duration; // By default : EndPos is set to the end of file
- InformationList.append(QString("Duration")+QString("##")+Duration.toString("HH:mm:ss.zzz"));
-
- //*********************************************************************************************************
- // Get information from track
- //*********************************************************************************************************
- for (int Track=0;Track<(int)ffmpegFile->nb_streams;Track++) {
-
- // Find codec
- AVCodec *Codec=avcodec_find_decoder(ffmpegFile->streams[Track]->codec->codec_id);
-
- //*********************************************************************************************************
- // Audio track
- //*********************************************************************************************************
- if (ffmpegFile->streams[Track]->codec->codec_type==AVMEDIA_TYPE_AUDIO) {
- // Keep this as default track
- if (AudioStreamNumber==-1) AudioStreamNumber=Track;
-
- // Compute TrackNum
- QString TrackNum=QString("%1").arg(AudioTrackNbr);
- while (TrackNum.length()<3) TrackNum="0"+TrackNum;
- TrackNum="Audio_"+TrackNum+":";
-
- // General
- InformationList.append(TrackNum+QString("Track")+QString("##")+QString("%1").arg(Track));
- if (Codec) InformationList.append(TrackNum+QString("Codec")+QString("##")+QString(Codec->name));
-
- // Channels
- QString SampleFMT="";
- switch (ffmpegFile->streams[Track]->codec->sample_fmt) {
- case AV_SAMPLE_FMT_U8 : SampleFMT="-U8"; break;
- case AV_SAMPLE_FMT_S16: SampleFMT="-S16"; break;
- case AV_SAMPLE_FMT_S32: SampleFMT="-S32"; break;
- default : SampleFMT="-?"; break;
- }
- if (ffmpegFile->streams[Track]->codec->channels==1) InformationList.append(TrackNum+QString("Channels")+QString("##")+QApplication::translate("cBaseMediaFile","Mono","Audio channels mode")+SampleFMT);
- else if (ffmpegFile->streams[Track]->codec->channels==2) InformationList.append(TrackNum+QString("Channels")+QString("##")+QApplication::translate("cBaseMediaFile","Stereo","Audio channels mode")+SampleFMT);
- else InformationList.append(TrackNum+QString("Channels")+QString("##")+QString("%1").arg(ffmpegFile->streams[Track]->codec->channels)+SampleFMT);
-
- // Frequency
- if (int(ffmpegFile->streams[Track]->codec->sample_rate/1000)*1000>0) {
- if (int(ffmpegFile->streams[Track]->codec->sample_rate/1000)*1000==ffmpegFile->streams[Track]->codec->sample_rate)
- InformationList.append(TrackNum+QString("Frequency")+QString("##")+QString("%1").arg(int(ffmpegFile->streams[Track]->codec->sample_rate/1000))+"Khz");
- else InformationList.append(TrackNum+QString("Frequency")+QString("##")+QString("%1").arg(double(ffmpegFile->streams[Track]->codec->sample_rate)/1000,8,'f',1).trimmed()+"Khz");
- }
-
- // Bitrate
- if (int(ffmpegFile->streams[Track]->codec->bit_rate/1000)>0) InformationList.append(TrackNum+QString("Bitrate")+QString("##")+QString("%1").arg(int(ffmpegFile->streams[Track]->codec->bit_rate/1000))+"Kb/s");
-
- // Sample format
- switch (ffmpegFile->streams[Track]->codec->sample_fmt) {
- case AV_SAMPLE_FMT_U8: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"unsigned 8 bits"); break;
- case AV_SAMPLE_FMT_S16: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"signed 16 bits"); break;
- case AV_SAMPLE_FMT_S32: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"signed 32 bits"); break;
- case AV_SAMPLE_FMT_FLT: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"float"); break;
- case AV_SAMPLE_FMT_DBL: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"double"); break;
- #ifdef AV_SAMPLE_FMT_U8P
- case AV_SAMPLE_FMT_U8P: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"unsigned 8 bits, planar"); break;
- case AV_SAMPLE_FMT_S16P: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"signed 16 bits, planar"); break;
- case AV_SAMPLE_FMT_S32P: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"signed 32 bits, planar"); break;
- case AV_SAMPLE_FMT_FLTP: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"float, planar"); break;
- case AV_SAMPLE_FMT_DBLP: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"double, planar"); break;
- #endif
- default: InformationList.append(TrackNum+QString("Sample format")+QString("##")+"Unknown"); break;
- }
-
- // Stream metadata
- #ifdef OLDFFMPEG
- while ((tag=av_metadata_get(ffmpegFile->streams[Track]->metadata,"",tag,AV_METADATA_IGNORE_SUFFIX))) {
- #else
- while ((tag=av_dict_get(ffmpegFile->streams[Track]->metadata,"",tag,AV_DICT_IGNORE_SUFFIX))) {
- #endif
- // OGV container affect TAG to audio stream !
- QString Key=QString().fromUtf8(tag->key).toLower();
- if ((FileName.toLower().endsWith(".ogv"))&&((Key=="title")||(Key=="artist")||(Key=="album")||(Key=="comment")||(Key=="date")||(Key=="composer")||(Key=="encoder")))
- InformationList.append(Key+QString("##")+QString().fromUtf8(tag->value));
- else InformationList.append(TrackNum+Key+QString("##")+QString().fromUtf8(tag->value));
- }
-
- // Ensure language exist (Note : AVI and FLV container own language at container level instead of track level)
- if (GetInformationValue(TrackNum+"language")=="") {
- QString Lng=GetInformationValue("language");
- InformationList.append(TrackNum+QString("language##")+(Lng==""?"und":Lng));
- }
-
- // Next
- AudioTrackNbr++;
-
- //*********************************************************************************************************
- // Video track
- //*********************************************************************************************************
- } else if (!MusicOnly && (ffmpegFile->streams[Track]->codec->codec_type==AVMEDIA_TYPE_VIDEO)) {
-
- // Keep this as default track
- if (VideoStreamNumber==-1) VideoStreamNumber=Track;
-
- // Compute TrackNum
- QString TrackNum=QString("%1").arg(VideoTrackNbr);
- while (TrackNum.length()<3) TrackNum="0"+TrackNum;
- TrackNum="Video_"+TrackNum+":";
-
- // General
- InformationList.append(TrackNum+QString("Track")+QString("##")+QString("%1").arg(Track));
- if (Codec) InformationList.append(TrackNum+QString("Codec")+QString("##")+QString(Codec->name));
-
- // Bitrate
- if (ffmpegFile->streams[Track]->codec->bit_rate>0) InformationList.append(TrackNum+QString("Bitrate")+QString("##")+QString("%1").arg(int(ffmpegFile->streams[Track]->codec->bit_rate/1000))+"Kb/s");
-
- // Frame rate
- if (int(double(ffmpegFile->streams[Track]->avg_frame_rate.num)/double(ffmpegFile->streams[Track]->avg_frame_rate.den))>0) {
- if (int(double(ffmpegFile->streams[Track]->avg_frame_rate.num)/double(ffmpegFile->streams[Track]->avg_frame_rate.den))==double(ffmpegFile->streams[Track]->avg_frame_rate.num)/double(ffmpegFile->streams[Track]->avg_frame_rate.den))
- InformationList.append(TrackNum+QString("Frame rate")+QString("##")+QString("%1").arg(int(double(ffmpegFile->streams[Track]->avg_frame_rate.num)/double(ffmpegFile->streams[Track]->avg_frame_rate.den)))+" FPS");
- else InformationList.append(TrackNum+QString("Frame rate")+QString("##")+QString("%1").arg(double(double(ffmpegFile->streams[Track]->avg_frame_rate.num)/double(ffmpegFile->streams[Track]->avg_frame_rate.den)),8,'f',3).trimmed()+" FPS");
- }
-
- // Stream metadata
- #ifdef OLDFFMPEG
- while ((tag=av_metadata_get(ffmpegFile->streams[Track]->metadata,"",tag,AV_METADATA_IGNORE_SUFFIX)))
- #else
- while ((tag=av_dict_get(ffmpegFile->streams[Track]->metadata,"",tag,AV_DICT_IGNORE_SUFFIX)))
- #endif
- InformationList.append(TrackNum+QString(tag->key)+QString("##")+QString().fromUtf8(tag->value));
-
- // Ensure language exist (Note : AVI ‘AttachedPictureFrame’and FLV container own language at container level instead of track level)
- if (GetInformationValue(TrackNum+"language")=="") {
- QString Lng=GetInformationValue("language");
- InformationList.append(TrackNum+QString("language##")+(Lng==""?"und":Lng));
- }
-
- // Next
- VideoTrackNbr++;
- }
- }
-
- //*********************************************************************************************************
- // Close file
- //*********************************************************************************************************
- #ifdef OLDFFMPEG
- av_close_input_file(ffmpegFile);
- #else
- avformat_close_input(&ffmpegFile);
- #endif
-
- //*********************************************************************************************************
- // Produce thumbnail
- //*********************************************************************************************************
-
- IsInformationValide=true;
-
- // If it's an audio file, try to get embeded image
- if (ObjectType==OBJECTTYPE_MUSICFILE) {
- QImage *Img=GetEmbededImage(FileName);
- if (Img) {
- LoadIcons(Img);
- delete Img;
- }
-
- // If it's a video then search if an image (jpg) with same name exist
- } else if (ObjectType==OBJECTTYPE_VIDEOFILE) {
-
- // Search if a jukebox mode thumbnail (jpg file with same name as video) exist
- QFileInfo File(FileName);
- QString JPegFile=File.absolutePath()+(File.absolutePath().endsWith(QDir::separator())?"":QString(QDir::separator()))+File.completeBaseName()+".jpg";
- if (QFileInfo(JPegFile).exists()) LoadIcons(JPegFile);
-
- if (Icon16.isNull()||(ImageWidth==0)|| (ImageHeight==0)) {
- // Open file
- OpenCodecAndFile();
- CloseCodecAndFile();
- }
- }
-
- // if no icon then load default for type
- if (Icon16.isNull()) LoadIcons(ObjectType==OBJECTTYPE_VIDEOFILE?&ApplicationConfig->DefaultVIDEOIcon:&ApplicationConfig->DefaultMUSICIcon);
-
-}
-
-//====================================================================================================================
-
-bool cVideoFile::IsFilteredFile(int RequireObjectType) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::IsFilteredFile");
-
- return (RequireObjectType==OBJECTTYPE_UNMANAGED)||(RequireObjectType==OBJECTTYPE_MANAGED)||(ObjectType==RequireObjectType);
-}
-
-//====================================================================================================================
-
-QString cVideoFile::GetFileTypeStr() {
- ToLog(LOGMSG_DEBUGTRACE,QString("IN:cVideoFile::GetFileTypeStr for %1").arg(FileName));
-
- if (MusicOnly || (ObjectType==OBJECTTYPE_MUSICFILE)) return QApplication::translate("cBaseMediaFile","Music","File type");
- else return QApplication::translate("cBaseMediaFile","Video","File type");
-}
-
-//====================================================================================================================
-
-QImage *cVideoFile::GetDefaultTypeIcon(cCustomIcon::IconSize Size) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::GetDefaultTypeIcon");
-
- if (MusicOnly || (ObjectType==OBJECTTYPE_MUSICFILE)) return ApplicationConfig->DefaultMUSICIcon.GetIcon(Size);
- else return ApplicationConfig->DefaultVIDEOIcon.GetIcon(Size);
-}
-
-//====================================================================================================================
-
-QString cVideoFile::GetTechInfo() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::GetTechInfo");
-
- QString Info="";
- if (ObjectType==OBJECTTYPE_MUSICFILE) {
- Info=GetCumulInfoStr("Audio","Codec");
- if (GetCumulInfoStr("Audio","Channels")!="") Info=Info+(Info!=""?"-":"")+GetCumulInfoStr("Audio","Channels");
- if (GetCumulInfoStr("Audio","Bitrate")!="") Info=Info+(Info!=""?"-":"")+GetCumulInfoStr("Audio","Bitrate");
- if (GetCumulInfoStr("Audio","Frequency")!="") Info=Info+(Info!=""?"-":"")+GetCumulInfoStr("Audio","Frequency");
- } else {
- Info=GetImageSizeStr();
- if (GetCumulInfoStr("Video","Codec")!="") Info=Info+(Info!=""?"-":"")+GetCumulInfoStr("Video","Codec");
- if (GetCumulInfoStr("Video","Frame rate")!="") Info=Info+(Info!=""?"-":"")+GetCumulInfoStr("Video","Frame rate");
- if (GetCumulInfoStr("Video","Bitrate")!="") Info=Info+(Info!=""?"-":"")+GetCumulInfoStr("Video","Bitrate");
-
- int Num =0;
- QString TrackNum="";
- QString Value ="";
- QString SubInfo ="";
- do {
- TrackNum=QString("%1").arg(Num);
- while (TrackNum.length()<3) TrackNum="0"+TrackNum;
- TrackNum="Audio_"+TrackNum+":";
- Value=GetInformationValue(TrackNum+"language");
- if (Value!="") {
- if (Num==0) Info=Info+"-"; else Info=Info+"/";
- SubInfo=GetInformationValue(TrackNum+"Codec");
- if (GetInformationValue(TrackNum+"Channels")!="") SubInfo=SubInfo+(Info!=""?"-":"")+GetInformationValue(TrackNum+"Channels");
- if (GetInformationValue(TrackNum+"Bitrate")!="") SubInfo=SubInfo+(Info!=""?"-":"")+GetInformationValue(TrackNum+"Bitrate");
- if (GetInformationValue(TrackNum+"Frequency")!="") SubInfo=SubInfo+(Info!=""?"-":"")+GetInformationValue(TrackNum+"Frequency");
- Info=Info+Value+"("+SubInfo+")";
- }
- // Next
- Num++;
- } while (Value!="");
- }
- return Info;
-}
-
-//====================================================================================================================
-
-QString cVideoFile::GetTAGInfo() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::GetTAGInfo");
-
- QString Info=GetInformationValue("track");
- if (GetInformationValue("title")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("title");
- if (GetInformationValue("artist")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("artist");
- if (GetInformationValue("album")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("album");
- if (GetInformationValue("date")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("date");
- if (GetInformationValue("genre")!="") Info=Info+(Info!=""?"-":"")+GetInformationValue("genre");
- return Info;
-}
-
-//====================================================================================================================
-// Close LibAVFormat and LibAVCodec contexte for the file
-//====================================================================================================================
-
-void cVideoFile::CloseCodecAndFile() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::CloseCodecAndFile");
-
- // Close the video codec
- if (VideoDecoderCodec!=NULL) {
- avcodec_close(ffmpegVideoFile->streams[VideoStreamNumber]->codec);
- VideoDecoderCodec=NULL;
- }
-
- // Close the video file
- if (ffmpegVideoFile!=NULL) {
- #ifdef OLDFFMPEG
- av_close_input_file(ffmpegVideoFile);
- #else
- avformat_close_input(&ffmpegVideoFile);
- #endif
- ffmpegVideoFile=NULL;
- }
-
- // Close the audio codec
- if (AudioDecoderCodec!=NULL) {
- avcodec_close(ffmpegAudioFile->streams[AudioStreamNumber]->codec);
- AudioDecoderCodec=NULL;
- }
- // Close the audio file
- if (ffmpegAudioFile!=NULL) {
- #ifdef OLDFFMPEG
- av_close_input_file(ffmpegAudioFile);
- #else
- avformat_close_input(&ffmpegAudioFile);
- #endif
- ffmpegAudioFile=NULL;
- }
-
- if (FrameBufferYUV!=NULL) {
- av_free(FrameBufferYUV);
- FrameBufferYUV=NULL;
- }
- FrameBufferYUVReady=false;
- IsOpen=false;
-}
-
-//====================================================================================================================
-// Read an audio frame from current stream
-//====================================================================================================================
-void cVideoFile::ReadAudioFrame(bool PreviewMode,qlonglong Position,cSoundBlockList *SoundTrackBloc,double Volume,bool DontUseEndPos) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::ReadAudioFrame");
-
- if (Volume==0) return;
-
- // Ensure file was previously open and all is ok
- if ((SoundTrackBloc==NULL)||(AudioStreamNumber==-1)||(ffmpegAudioFile->streams[AudioStreamNumber]==NULL)||(ffmpegAudioFile==NULL)||(AudioDecoderCodec==NULL)) return;
-
- // Ensure Position is not > EndPosition
- if (Position>QTime(0,0,0,0).msecsTo(DontUseEndPos?Duration:EndPos)) return;
-
- int64_t AVNOPTSVALUE =INT64_C(0x8000000000000000); // to solve type error with Qt
- AVStream *AudioStream =ffmpegAudioFile->streams[AudioStreamNumber];
- int64_t SrcSampleSize =(AudioStream->codec->sample_fmt==AV_SAMPLE_FMT_S16?2:1)*int64_t(AudioStream->codec->channels);
- int64_t DstSampleSize =(SoundTrackBloc->SampleBytes*SoundTrackBloc->Channels);
- AVPacket *StreamPacket =NULL;
- int64_t MaxAudioLenDecoded =AVCODEC_MAX_AUDIO_FRAME_SIZE*10;
- int64_t AudioLenDecoded =0;
- uint8_t *BufferForDecoded =(uint8_t *)av_malloc(MaxAudioLenDecoded);
- double dPosition =double(Position)/1000; // Position in double format
- double AudioDataWanted =(PreviewMode?SoundTrackBloc->WantedDuration:5)*double(AudioStream->codec->sample_rate)*SrcSampleSize; // 5 sec for rendering
-
- bool Continue =true;
- double FramePosition =dPosition;
- double FrameDuration =0;
-
- // Cac difftime between asked position and previous end decoded position
- qlonglong Diff=(qlonglong(SoundTrackBloc->SoundPacketSize*SoundTrackBloc->List.count()+SoundTrackBloc->CurrentTempSize)/DstSampleSize)*1000/SoundTrackBloc->SamplingRate;
- qlonglong DiffTimePosition=(LastAudioReadedPosition-Diff)-Position;
- if (DiffTimePosition<0) DiffTimePosition=-DiffTimePosition;
-
- // Adjust position if input file have a start_time value
- if (ffmpegAudioFile->start_time!=AVNOPTSVALUE)
- dPosition+=double(ffmpegAudioFile->start_time)/double(AV_TIME_BASE);
-
- #ifdef OLDFFMPEG
- // if Old ffmpeg : Prepare a buffer for sound decoding
- uint8_t *BufferToDecode=(uint8_t *)av_malloc(48000*4*2); // 2 sec buffer
- #endif
-
- // Calc if we need to seek to a position
- if ((Position==0)||(DiffTimePosition>10)) {// Allow 10 msec diff (rounded double !)
- // Flush all buffers
- for (unsigned int i=0;i<ffmpegAudioFile->nb_streams;i++) {
- AVCodecContext *codec_context = ffmpegAudioFile->streams[i]->codec;
- if (codec_context && codec_context->codec) avcodec_flush_buffers(codec_context);
- }
- SoundTrackBloc->ClearList(); // Clear soundtrack list
-
- // Seek to nearest previous key frame
- ToLog(LOGMSG_INFORMATION,"IN:cVideoFile::ReadAudioFrame => do a seek");
- int64_t seek_target=av_rescale_q(int64_t((dPosition/1000)*AV_TIME_BASE),AV_TIME_BASE_Q,ffmpegAudioFile->streams[AudioStreamNumber]->time_base);
- if (av_seek_frame(ffmpegAudioFile,AudioStreamNumber,seek_target,AVSEEK_FLAG_BACKWARD)<0) {
- // Try in AVSEEK_FLAG_ANY mode
- if (av_seek_frame(ffmpegAudioFile,AudioStreamNumber,seek_target,AVSEEK_FLAG_ANY)<0) {
- ToLog(LOGMSG_CRITICAL,"Error in cVideoFile::ReadAudioFrame : Seek error");
- }
- }
- FramePosition=-1;
-
- }
-
- //*************************************************************************************************************************************
- // Decoding process : Get StreamPacket until AudioLenDecoded>=AudioDataWanted or we have reach the end of file
- //*************************************************************************************************************************************
-
- while (Continue) {
- StreamPacket=new AVPacket();
- av_init_packet(StreamPacket);
-
- int err=av_read_frame(ffmpegAudioFile,StreamPacket);
- if (err<0) {
- // if error in av_read_frame(...) then may be we have reach the end of file !
- Continue=false;
- ToLog(LOGMSG_CRITICAL,QString("Error in cVideoFile::ReadAudioFrame : av_read_frame error %1").arg(err));
- } else {
- if ((StreamPacket->stream_index==AudioStreamNumber)&&(StreamPacket->size>0)) {
-
- AVPacket PacketTemp;
- av_init_packet(&PacketTemp);
- PacketTemp.data=StreamPacket->data;
- PacketTemp.size=StreamPacket->size;
-
- if (StreamPacket->pts!=AVNOPTSVALUE) FramePosition=double(StreamPacket->pts)*double(av_q2d(AudioStream->time_base));
-
- // NOTE: the audio packet can contain several frames
- if (FramePosition!=-1) while (PacketTemp.size>0) {
-
- #ifdef OLDFFMPEG
- // Decode audio data
- int SizeDecoded =(AVCODEC_MAX_AUDIO_FRAME_SIZE*3)/2;
- int Len =avcodec_decode_audio3(AudioStream->codec,(int16_t *)BufferToDecode,&SizeDecoded,&PacketTemp);
- #else
- AVFrame *Frame =avcodec_alloc_frame();
- int SizeDecoded =0;
- int Len =avcodec_decode_audio4(AudioStream->codec,Frame,&SizeDecoded,&PacketTemp);
- #endif
- if (Len<0) {
- // if decode error then data are not good : replace them with null sound
- //SizeDecoded=int64_t(LastAudioFrameDuration*double(SoundTrackBloc->SamplingRate))*DstSampleSize;
- //memset(BufferForDecoded+AudioLenDecoded,0,SizeDecoded);
- //AudioLenDecoded+=SizeDecoded;
- //qDebug()<<" =>Make NULL Audio frame"<<SizeDecoded<<"bytes added - Buffer:"<<AudioLenDecoded<<"/"<<MaxAudioLenDecoded;
- // if error, we skip the frame and exit the while loop
- PacketTemp.size=0;
- } else if (SizeDecoded>0) {
- #ifdef OLDFFMPEG
- FrameDuration=double(SizeDecoded)/(double(SrcSampleSize)*double(AudioStream->codec->sample_rate));
- #else
- SizeDecoded =Frame->nb_samples*SrcSampleSize;
- FrameDuration=double(Frame->nb_samples)/double(AudioStream->codec->sample_rate);
- #endif
-
- // If wanted position <= CurrentPosition+Packet duration then add this packet to the queue
- if ((FramePosition+FrameDuration)>=dPosition) {
- int64_t Delta=0;
- // if dPosition start in the midle of the pack, then calculate delta
- if (dPosition>FramePosition) {
- Delta=int64_t(double(dPosition-FramePosition)*double(AudioStream->codec->sample_rate));
- Delta*=SrcSampleSize;
- }
- // Append decoded data to BufferForDecoded buffer
- #ifdef OLDFFMPEG
- memcpy(BufferForDecoded+AudioLenDecoded,BufferToDecode+Delta,SizeDecoded-Delta);
- #else
- memcpy(BufferForDecoded+AudioLenDecoded,Frame->data[0]+Delta,SizeDecoded-Delta);
- #endif
- AudioLenDecoded+=(SizeDecoded-Delta);
- }
-
- PacketTemp.data +=Len;
- PacketTemp.size -=Len;
- FramePosition =FramePosition+FrameDuration;
- LastAudioReadedPosition =int(FramePosition*1000); // Keep NextPacketPosition for determine next time if we need to seek
- }
- #ifndef OLDFFMPEG
- av_free(Frame);
- #endif
- }
- }
-
- // Continue with a new one
- av_free_packet(StreamPacket); // Free the StreamPacket that was allocated by previous call to av_read_frame
- delete StreamPacket;
- StreamPacket=NULL;
-
- // Check if we need to continue loop
- Continue=(AudioLenDecoded<AudioDataWanted);
- }
- }
-
- //**********************************************************************
- // Transfert data from BufferForDecoded to Buffer using audio_resample
- //**********************************************************************
- if (AudioLenDecoded>0) {
-
- // u8 mono or stereo TO Stereo-i16
- if (AudioStream->codec->sample_fmt==AV_SAMPLE_FMT_U8) {
- uint8_t *NewBuffer=(uint8_t *)av_malloc(MaxAudioLenDecoded);
- uint8_t *Buf1=(uint8_t*)BufferForDecoded;
- int16_t *Buf2=(int16_t*)NewBuffer;
- int16_t Val;
- for (int j=0;j<AudioLenDecoded;j++) {
- Val=((double(*(Buf1++))-double(128))/double(128))*double(32768);
- *(Buf2++)=Val; // to i16
- if (AudioStream->codec->channels==1) *(Buf2++)=Val; // to stereo
- }
- av_free(BufferForDecoded);
- BufferForDecoded=NewBuffer;
- AudioLenDecoded*=2; // to i16
- if (AudioStream->codec->channels==1) AudioLenDecoded*=2; // to stereo
-
- // Mono-i16 to stereo-i16
- } else if (AudioStream->codec->channels==1) {
- int16_t *NewBuf=(short int*)av_malloc(AudioLenDecoded*DstSampleSize+DstSampleSize);
- int16_t *Pa=NewBuf;
- int16_t *Pb=(int16_t*)BufferForDecoded;
-
- for (int i=0;i<AudioLenDecoded/2;i++) {
- *(Pa++)=*Pb;
- *(Pa++)=*(Pb++);
- }
- // Switch the 2 buffers
- av_free(BufferForDecoded);
- BufferForDecoded=(uint8_t*)NewBuf;
- AudioLenDecoded=AudioLenDecoded*2;
- }
-
- // Now, we are sure we have stereo-i16 samples
-
- // Adjust volume
- if (Volume!=1) {
- int16_t *Buf1=(int16_t*)BufferForDecoded;
- int32_t mix;
- for (int j=0;j<AudioLenDecoded/4;j++) {
- // Left channel : Adjust if necessary (16 bits)
- mix=int32_t(double(*(Buf1))*Volume); if (mix>32767) mix=32767; else if (mix<-32768) mix=-32768; *(Buf1++)=int16_t(mix);
- // Right channel : Adjust if necessary (16 bits)
- mix=int32_t(double(*(Buf1))*Volume); if (mix>32767) mix=32767; else if (mix<-32768) mix=-32768; *(Buf1++)=int16_t(mix);
- }
- }
-
- // Resampling
- if (SoundTrackBloc->SamplingRate!=AudioStream->codec->sample_rate) {
- ToLog(LOGMSG_INFORMATION,QString("IN:cVideoFile::ReadAudioFrame => do a resample of %1 bytes").arg(AudioLenDecoded));
-
- double NewSize=((double(AudioLenDecoded)/double(DstSampleSize))/double(AudioStream->codec->sample_rate))*double(SoundTrackBloc->SamplingRate);
- double PasSrc =1/double(AudioStream->codec->sample_rate);
- double PasDst =1/double(SoundTrackBloc->SamplingRate);
- double PosSrc =0;
- double PosDst =0;
- int16_t *NewBuf=(short int*)av_malloc(NewSize*DstSampleSize+DstSampleSize);
- int16_t *PtrSrc=(int16_t*)BufferForDecoded;
- int16_t *PtrDst=NewBuf;
- int RealNewSize=0;
-
- if (PreviewMode && ApplicationConfig->QuickResamplingPreview) {
- // For Preview Mode use a quick resampling linear method without interpolation
- int16_t Left,Right;
-
- for (int i=0;i<AudioLenDecoded/DstSampleSize;i++) {
- Left=*(PtrSrc++);
- Right=*(PtrSrc++);
- *(PtrDst++)=Left; // First Chanel
- *(PtrDst++)=Right; // Second Chanel
- PosSrc=PosSrc+PasSrc;
- PosDst=PosDst+PasDst;
- RealNewSize++;
- if ((PosSrc-PosDst)>=PasDst) {
- *(PtrDst++)=Left; // First Chanel
- *(PtrDst++)=Right; // Second Chanel
- PosDst=PosDst+PasDst;
- RealNewSize++;
- }
- }
-
- } else {
- // For Rendering Mode use a resampling linear method with Hermit interpolation (http://en.wikipedia.org/wiki/Hermite_interpolation)
- int16_t Left_x0,Left_x1,Left_x2,Left_x3;
- int16_t Right_x0,Right_x1,Right_x2,Right_x3;
- float t,c0,c1,c2,c3,Value;
-
- // First value
- Left_x0=*(PtrSrc++); *(PtrDst++)=Left_x0;
- Right_x0=*(PtrSrc++); *(PtrDst++)=Right_x0;
- PosSrc=PosSrc+PasSrc;
- PosDst=PosDst+PasDst;
- RealNewSize++;
-
- // Second value
- Left_x1=*(PtrSrc++); *(PtrDst++)=Left_x1;
- Right_x1=*(PtrSrc++); *(PtrDst++)=Right_x1;
- //PosSrc=PosSrc+PasSrc;
- PosDst=PosDst+PasDst;
- RealNewSize++;
-
- // Third value
- Left_x2=*(PtrSrc++);
- Right_x2=*(PtrSrc++);
-
- // Neutralize first swap
- Left_x3 =Left_x2; Left_x2 =Left_x1; Left_x1 =Left_x0;
- Right_x3=Right_x2; Right_x2=Right_x1; Right_x1=Right_x0;
-
- for (int i=2;i<(NewSize-2);i++) {
-
- if ((PosDst-PosSrc)>=PasSrc) {
- // swap all values
- Left_x0 =Left_x1; Left_x1 =Left_x2; Left_x2 =Left_x3;
- Right_x0=Right_x1; Right_x1=Right_x2; Right_x2=Right_x3;
-
- // Get fourth value
- Left_x3=*(PtrSrc++);
- Right_x3=*(PtrSrc++);
- PosSrc=PosSrc+PasSrc;
- }
-
- // Calculate distance between PosSrc and next point
- t=(PosDst-PosSrc)/PasSrc;
-
- // Calculate interpolation using Hermite method
- // Left Chanel
- c0 =Left_x1;
- c1 =.5F * (Left_x2 - Left_x0);
- c2 =Left_x0 - (2.5F * Left_x1) + (2 * Left_x2) - (.5F * Left_x3);
- c3 =(.5F * (Left_x3 - Left_x0)) + (1.5F * (Left_x1 - Left_x2));
- Value=(((((c3 * t) + c2) * t) + c1) * t) + c0;
- if (Value>32767) Value=32767; else if (Value<-32768) Value=-32768;
- *(PtrDst++)=int16_t(Value);
-
- // Right Chanel
- c0 =Right_x1;
- c1 =.5F * (Right_x2 - Right_x0);
- c2 =Right_x0 - (2.5F * Right_x1) + (2 * Right_x2) - (.5F * Right_x3);
- c3 =(.5F * (Right_x3 - Right_x0)) + (1.5F * (Right_x1 - Right_x2));
- Value=(((((c3 * t) + c2) * t) + c1) * t) + c0;
- if (Value>32767) Value=32767; else if (Value<-32768) Value=-32768;
- *(PtrDst++)=int16_t(Value);
- PosDst=PosDst+PasDst;
- RealNewSize++;
- }
- // Last 2 values
- *(PtrDst++)=Left_x2;
- *(PtrDst++)=Right_x2;
- RealNewSize++;
- *(PtrDst++)=Left_x3; //Left_x3;
- *(PtrDst++)=Right_x3; //Right_x3;
- RealNewSize++;
- }
-
- // Append data to SoundTrackBloc
- SoundTrackBloc->AppendData((int16_t*)NewBuf,RealNewSize*DstSampleSize);
- av_free(NewBuf); // Free allocated buffers
-
- } else {
- // Append data to SoundTrackBloc
- SoundTrackBloc->AppendData((int16_t*)BufferForDecoded,AudioLenDecoded);
- }
-
- }
-
- // Now ensure SoundTrackBloc have correct wanted packet (if no then add nullsound)
- //while (SoundTrackBloc->List.count()<SoundTrackBloc->NbrPacketForFPS) SoundTrackBloc->AppendNullSoundPacket();
-
- #ifdef OLDFFMPEG
- if (BufferToDecode) av_free(BufferToDecode);
- #endif
- if (BufferForDecoded) av_free(BufferForDecoded);
-}
-
-//====================================================================================================================
-// Read a video frame from current stream
-//====================================================================================================================
-
-#define MAXELEMENTSINOBJECTLIST 500
-
-QImage *cVideoFile::ReadVideoFrame(qlonglong Position,bool DontUseEndPos) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::ReadVideoFrame");
-
- int64_t AVNOPTSVALUE=INT64_C(0x8000000000000000); // to solve type error with Qt
-
- // Ensure file was previously open
- if ((ffmpegVideoFile==NULL)||(VideoDecoderCodec==NULL)) return NULL;
-
- double dEndFile =double(QTime(0,0,0,0).msecsTo(DontUseEndPos?Duration:EndPos))/1000; // End File Position in double format
- double dPosition=double(Position)/1000; // Position in double format
-
- if (dEndFile==0) {
- ToLog(LOGMSG_CRITICAL,"Error in cVideoFile::ReadVideoFrame : dEndFile=0 ?????");
- return NULL;
- }
-
- // Ensure Position is not > EndPosition, in that case, change Position to lastposition
- if ((dPosition>0)&&(dPosition>=dEndFile)) {
- Position=QTime(0,0,0,0).msecsTo(EndPos);
- dPosition=double(Position)/1000;
- }
-
- // Adjust position if input file have a start_time value
- if (ffmpegVideoFile->start_time!=AVNOPTSVALUE) {
- dPosition+=double(ffmpegVideoFile->start_time)/double(AV_TIME_BASE);
- Position =int(dPosition*1000);
- }
-
- // Allocate structure for YUV image
- if (FrameBufferYUV==NULL) FrameBufferYUV=avcodec_alloc_frame();
- if (FrameBufferYUV==NULL) return NULL;
-
- bool DataInBuffer =false;
- QImage *RetImage =NULL;
- AVStream *VideoStream =ffmpegVideoFile->streams[VideoStreamNumber];
- AVPacket *StreamPacket =NULL;
-
- if ((FrameBufferYUVReady)&&(FrameBufferYUVPosition==Position)) {
- return ConvertYUVToRGB();
- }
-
- // Cac difftime between asked position and previous end decoded position
- qlonglong DiffTimePosition=-1;
- if (FrameBufferYUVReady) DiffTimePosition=Position-FrameBufferYUVPosition;
-
-
- // Calc if we need to seek to a position
- if ((Position==0)||(DiffTimePosition<0)||(DiffTimePosition>100)) { // Allow 0,1 sec diff
-
- // Flush all buffers
- for (unsigned int i=0;i<ffmpegVideoFile->nb_streams;i++) {
- AVCodecContext *codec_context = ffmpegVideoFile->streams[i]->codec;
- if (codec_context && codec_context->codec) avcodec_flush_buffers(codec_context);
- }
- FrameBufferYUVReady = false;
- FrameBufferYUVPosition = 0;
-
- // Seek to nearest previous key frame
- int64_t seek_target=av_rescale_q(int64_t(Position*1000),AV_TIME_BASE_Q,ffmpegVideoFile->streams[VideoStreamNumber]->time_base);
- if (av_seek_frame(ffmpegVideoFile,VideoStreamNumber,seek_target,AVSEEK_FLAG_BACKWARD)<0) {
- // Try in AVSEEK_FLAG_ANY mode
- if (av_seek_frame(ffmpegVideoFile,VideoStreamNumber,seek_target,AVSEEK_FLAG_ANY)<0) {
- ToLog(LOGMSG_CRITICAL,"Error in cVideoFile::ReadVideoFrame : Seek error");
- }
- }
- } else {
- DataInBuffer=true;
- }
-
- //*************************************************************************************************************************************
- // Decoding process : Get StreamPacket until endposition is reach (if sound is wanted) or until image is ok (if image only is wanted)
- //*************************************************************************************************************************************
- bool Continue =true;
- bool IsVideoFind =false;
- double FrameTimeBase =av_q2d(VideoStream->time_base);;
- double FramePosition =0;
-
- while (Continue) {
- StreamPacket=new AVPacket();
- av_init_packet(StreamPacket);
- StreamPacket->flags|=AV_PKT_FLAG_KEY; // HACK for CorePNG to decode as normal PNG by default
-
- if (av_read_frame(ffmpegVideoFile,StreamPacket)==0) {
-
- if (StreamPacket->stream_index==VideoStreamNumber) {
- if (!CodecUsePTS) FramePosition=double((StreamPacket->pts!=AVNOPTSVALUE)?StreamPacket->pts:0)*FrameTimeBase; // pts instead of dts
- else FramePosition=double((StreamPacket->dts!=AVNOPTSVALUE)?StreamPacket->dts:0)*FrameTimeBase; // dts instead of pts
-
- int FrameDecoded=0;
- avcodec_decode_video2(VideoStream->codec,FrameBufferYUV,&FrameDecoded,StreamPacket);
- if (FrameDecoded>0) DataInBuffer=true;
-
- // Create image
- if ((DataInBuffer)&&((FramePosition>=dPosition)||(FramePosition>=dEndFile))) {
- FrameBufferYUVReady =true; // Keep actual value for FrameBufferYUV
- FrameBufferYUVPosition=int(FramePosition*1000); // Keep actual value for FrameBufferYUV
- RetImage =ConvertYUVToRGB(); // Create RetImage from YUV Buffer
- IsVideoFind =(RetImage!=NULL);
- }
-
- }
-
- // Check if we need to continue loop
- Continue=(IsVideoFind==false)&&(FramePosition<dEndFile);
-
- } else {
-
- // if error in av_read_frame(...) then may be we have reach the end of file !
- Continue=false;
- // Create image
- if (DataInBuffer) {
-
- FrameBufferYUVReady =true; // Keep actual value for FrameBufferYUV
- FrameBufferYUVPosition=int(FramePosition*1000); // Keep actual value for FrameBufferYUV
- RetImage =ConvertYUVToRGB(); // Create RetImage from YUV Buffer
- IsVideoFind =(RetImage!=NULL);
-
- if (IsVideoFind) dEndFileCachePos=dEndFile; // keep position for future use
- }
- }
-
- if (IsVideoFind) {
- ObjectGeometry=IMAGE_GEOMETRY_UNKNOWN;
- double RatioHW=double(RetImage->width())/double(RetImage->height());
- if ((RatioHW>=1.45)&&(RatioHW<=1.55)) ObjectGeometry=IMAGE_GEOMETRY_3_2;
- else if ((RatioHW>=0.65)&&(RatioHW<=0.67)) ObjectGeometry=IMAGE_GEOMETRY_2_3;
- else if ((RatioHW>=1.32)&&(RatioHW<=1.34)) ObjectGeometry=IMAGE_GEOMETRY_4_3;
- else if ((RatioHW>=0.74)&&(RatioHW<=0.76)) ObjectGeometry=IMAGE_GEOMETRY_3_4;
- else if ((RatioHW>=1.77)&&(RatioHW<=1.79)) ObjectGeometry=IMAGE_GEOMETRY_16_9;
- else if ((RatioHW>=0.56)&&(RatioHW<=0.58)) ObjectGeometry=IMAGE_GEOMETRY_9_16;
- else if ((RatioHW>=2.34)&&(RatioHW<=2.36)) ObjectGeometry=IMAGE_GEOMETRY_40_17;
- else if ((RatioHW>=0.42)&&(RatioHW<=0.44)) ObjectGeometry=IMAGE_GEOMETRY_17_40;
- }
-
- // Continue with a new one
- if (StreamPacket!=NULL) {
- av_free_packet(StreamPacket); // Free the StreamPacket that was allocated by previous call to av_read_frame
- delete StreamPacket;
- StreamPacket=NULL;
- }
- }
-
- if ((!IsVideoFind)&&(!RetImage)) {
- ToLog(LOGMSG_CRITICAL,QString("No video image return for position %1 => return black frame").arg(Position));
- RetImage =new QImage(ffmpegVideoFile->streams[VideoStreamNumber]->codec->width,ffmpegVideoFile->streams[VideoStreamNumber]->codec->height,QImage::Format_ARGB32_Premultiplied);
- RetImage->fill(0);
- }
-
- dEndFileCachePos=dEndFile; // keep position for future use
-
- return RetImage;
-}
-
-//====================================================================================================================
-//#define PIXFMT PIX_FMT_BGRA
-//#define QTPIXFMT QImage::Format_ARGB32_Premultiplied
-#define PIXFMT PIX_FMT_RGB24
-#define QTPIXFMT QImage::Format_RGB888
-
-QImage *cVideoFile::ConvertYUVToRGB() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::ConvertYUVToRGB");
-
- int W =ffmpegVideoFile->streams[VideoStreamNumber]->codec->width;
- int H =ffmpegVideoFile->streams[VideoStreamNumber]->codec->height;
-
- QImage RetImage(W,H,QTPIXFMT);
- AVFrame *FrameBufferRGB =avcodec_alloc_frame(); // Allocate structure for RGB image
-
- if (FrameBufferRGB!=NULL) {
-
- avpicture_fill(
- (AVPicture *)FrameBufferRGB, // Buffer to prepare
- RetImage.bits(), // Buffer which will contain the image data
- PIXFMT, // The format in which the picture data is stored (see http://wiki.aasimon.org/doku.php?id=ffmpeg:pixelformat)
- W, // The width of the image in pixels
- H // The height of the image in pixels
- );
-
- // Get a converter from libswscale
- struct SwsContext *img_convert_ctx=sws_getContext(
- W,H,ffmpegVideoFile->streams[VideoStreamNumber]->codec->pix_fmt, // Src Widht,Height,Format
- W,H,PIXFMT, // Destination Width,Height,Format
- SWS_FAST_BILINEAR/*SWS_BICUBIC*/, // flags
- NULL,NULL,NULL); // src Filter,dst Filter,param
-
- if (img_convert_ctx!=NULL) {
- int ret = sws_scale(
- img_convert_ctx, // libswscale converter
- FrameBufferYUV->data, // Source buffer
- FrameBufferYUV->linesize, // Source Stride ?
- 0, // Source SliceY:the position in the source image of the slice to process, that is the number (counted starting from zero) in the image of the first row of the slice
- H, // Source SliceH:the height of the source slice, that is the number of rows in the slice
- FrameBufferRGB->data, // Destination buffer
- FrameBufferRGB->linesize // Destination Stride
- );
- if (ret>0) {
- if ((ApplicationConfig->Crop1088To1080)&&(RetImage.height()==1088)&&(RetImage.width()==1920)) RetImage=RetImage.copy(0,4,1920,1080);
- //FinalImage=new QImage(RetImage.convertToFormat(QImage::Format_ARGB32_Premultiplied)); // Force to ARGB32
- }
- sws_freeContext(img_convert_ctx);
- }
-
- // free FrameBufferRGB because we don't need it in the future
- av_free(FrameBufferRGB);
- }
-
- //return FinalImage;
- return new QImage(RetImage);
-}
-
-//====================================================================================================================
-//DontUseEndPos default=false
-QImage *cVideoFile::ImageAt(bool PreviewMode,qlonglong Position,qlonglong StartPosToAdd,cSoundBlockList *SoundTrackBloc,double Volume,
- bool ForceSoundOnly,cFilterTransformObject *Filter,bool DontUseEndPos) {
-
- ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::ImageAt");
-
- if (!IsValide) return NULL;
- if (!IsOpen) OpenCodecAndFile();
-
- // Load a video frame
- QImage *LoadedImage=NULL;
-
- if ((SoundTrackBloc)&&(SoundTrackBloc->NbrPacketForFPS)&&(SoundTrackBloc->List.count()<SoundTrackBloc->NbrPacketForFPS))
- ReadAudioFrame(PreviewMode,Position+StartPosToAdd,SoundTrackBloc,Volume,DontUseEndPos);
-
-
- if ((!MusicOnly)&&(!ForceSoundOnly)) {
- LoadedImage=ReadVideoFrame(Position+StartPosToAdd,DontUseEndPos);
- if (LoadedImage) {
-
- // If preview mode and image size > PreviewMaxHeight, reduce Cache Image
- if ((PreviewMode)&&(ImageHeight>PREVIEWMAXHEIGHT)) {
- QImage *NewImage=new QImage(LoadedImage->scaledToHeight(PREVIEWMAXHEIGHT));
- delete LoadedImage;
- LoadedImage =NewImage;
- }
-
- // Scale image if anamorphous
- if (AspectRatio!=1) {
- ImageWidth =int(double(LoadedImage->width())*AspectRatio);
- ImageHeight=LoadedImage->height();
- QImage *NewLoadedImage=new QImage(LoadedImage->scaled(ImageWidth,ImageHeight,Qt::IgnoreAspectRatio,Qt::SmoothTransformation));
- delete LoadedImage;
- LoadedImage=NewLoadedImage;
- }
-
- if (Filter && ((!PreviewMode)||(PreviewMode && ApplicationConfig->ApplyTransfoPreview))) {
- if (LoadedImage->format()!=QImage::Format_ARGB32_Premultiplied) {
- QImage *NewLoadedImage=new QImage(LoadedImage->convertToFormat(QImage::Format_ARGB32_Premultiplied));
- delete LoadedImage;
- LoadedImage=NewLoadedImage;
- }
- Filter->ApplyFilter(LoadedImage);
- }
- }
-
- }
-
- return LoadedImage;
-}
-
-//====================================================================================================================
-
-bool cVideoFile::OpenCodecAndFile() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cVideoFile::OpenCodecAndFile");
-
- // Ensure file was previously checked
- if (!IsValide) return false;
- if (!IsInformationValide) GetFullInformationFromFile();
-
- // Clean memory if a previous file was loaded
- CloseCodecAndFile();
-
- //**********************************
-
- // Open audio stream
- if (AudioStreamNumber!=-1) {
- // if file exist then Open video file and get a LibAVFormat context and an associated LibAVCodec decoder
- #ifdef OLDFFMPEG
- if (av_open_input_file(&ffmpegAudioFile,FileName.toLocal8Bit(),NULL,0,NULL)!=0) return false;
- #else
- if (avformat_open_input(&ffmpegAudioFile,FileName.toLocal8Bit(),NULL,NULL)!=0) return false;
- #endif
-
- ffmpegAudioFile->flags|=AVFMT_FLAG_GENPTS; // Generate missing pts even if it requires parsing future frames.
-
- #ifdef OLDFFMPEG
- if (av_find_stream_info(ffmpegAudioFile)<0) { // deprecated : use avformat_find_stream_info instead
- av_close_input_file(ffmpegAudioFile);
- #else
- if (avformat_find_stream_info(ffmpegAudioFile,NULL)<0) {
- avformat_close_input(&ffmpegAudioFile);
- #endif
- return false;
- }
-
- // Setup STREAM options
- ffmpegAudioFile->streams[AudioStreamNumber]->discard=AVDISCARD_DEFAULT;
-
- // Find the decoder for the audio stream and open it
- AudioDecoderCodec=avcodec_find_decoder(ffmpegAudioFile->streams[AudioStreamNumber]->codec->codec_id);
- IsVorbis=(strcmp(AudioDecoderCodec->name,"vorbis")==0);
-
- // Setup decoder options
- ffmpegAudioFile->streams[AudioStreamNumber]->codec->debug_mv =0; // Debug level (0=nothing)
- ffmpegAudioFile->streams[AudioStreamNumber]->codec->debug =0; // Debug level (0=nothing)
- ffmpegAudioFile->streams[AudioStreamNumber]->codec->workaround_bugs =1; // Work around bugs in encoders which sometimes cannot be detected automatically : 1=autodetection
- ffmpegAudioFile->streams[AudioStreamNumber]->codec->lowres =0; // low resolution decoding, 1-> 1/2 size, 2->1/4 size
- ffmpegAudioFile->streams[AudioStreamNumber]->codec->idct_algo =FF_IDCT_AUTO; // IDCT algorithm, 0=auto
- ffmpegAudioFile->streams[AudioStreamNumber]->codec->skip_frame =AVDISCARD_DEFAULT; // ???????
- ffmpegAudioFile->streams[AudioStreamNumber]->codec->skip_idct =AVDISCARD_DEFAULT; // ???????
- ffmpegAudioFile->streams[AudioStreamNumber]->codec->skip_loop_filter =AVDISCARD_DEFAULT; // ???????
- ffmpegAudioFile->streams[AudioStreamNumber]->codec->error_concealment=3;
-
- #ifdef OLDFFMPEG
- if ((AudioDecoderCodec==NULL)||(avcodec_open(ffmpegAudioFile->streams[AudioStreamNumber]->codec,AudioDecoderCodec)<0)) return false;
- #else
- if ((AudioDecoderCodec==NULL)||(avcodec_open2(ffmpegAudioFile->streams[AudioStreamNumber]->codec,AudioDecoderCodec,NULL)<0)) return false;
- #endif
- IsOpen=true;
- }
-
- // Open video stream
- if ((VideoStreamNumber!=-1)&&(!MusicOnly)) {
-
- // if file exist then Open video file and get a LibAVFormat context and an associated LibAVCodec decoder
- #ifdef OLDFFMPEG
- if (av_open_input_file(&ffmpegVideoFile,FileName.toLocal8Bit(),NULL,0,NULL)!=0) return false;
- #else
- if (avformat_open_input(&ffmpegVideoFile,FileName.toLocal8Bit(),NULL,NULL)!=0) return false;
- #endif
-
- ffmpegVideoFile->flags|=AVFMT_FLAG_GENPTS; // Generate missing pts even if it requires parsing future frames.
-
- #ifdef OLDFFMPEG
- if (av_find_stream_info(ffmpegVideoFile)<0) { // deprecated : use avformat_find_stream_info instead
- av_close_input_file(ffmpegVideoFile);
- #else
- if (avformat_find_stream_info(ffmpegVideoFile,NULL)<0) {
- avformat_close_input(&ffmpegVideoFile);
- #endif
- return false;
- }
-
- // Setup STREAM options
- ffmpegVideoFile->streams[VideoStreamNumber]->discard=AVDISCARD_DEFAULT;
-
- // Find the decoder for the video stream and open it
- VideoDecoderCodec=avcodec_find_decoder(ffmpegVideoFile->streams[VideoStreamNumber]->codec->codec_id);
-
- // Setup decoder options
- ffmpegVideoFile->streams[VideoStreamNumber]->codec->debug_mv =0; // Debug level (0=nothing)
- ffmpegVideoFile->streams[VideoStreamNumber]->codec->debug =0; // Debug level (0=nothing)
- ffmpegVideoFile->streams[VideoStreamNumber]->codec->workaround_bugs =1; // Work around bugs in encoders which sometimes cannot be detected automatically : 1=autodetection
- ffmpegVideoFile->streams[VideoStreamNumber]->codec->lowres =0; // low resolution decoding, 1-> 1/2 size, 2->1/4 size
- ffmpegVideoFile->streams[VideoStreamNumber]->codec->idct_algo =FF_IDCT_AUTO; // IDCT algorithm, 0=auto
- ffmpegVideoFile->streams[VideoStreamNumber]->codec->skip_frame =AVDISCARD_DEFAULT; // ???????
- ffmpegVideoFile->streams[VideoStreamNumber]->codec->skip_idct =AVDISCARD_DEFAULT; // ???????
- ffmpegVideoFile->streams[VideoStreamNumber]->codec->skip_loop_filter =AVDISCARD_DEFAULT; // ???????
- ffmpegVideoFile->streams[VideoStreamNumber]->codec->error_concealment=3;
-
- // h264 specific
- ffmpegVideoFile->streams[VideoStreamNumber]->codec->thread_count =getCpuCount(); // Not sure it work with old ffmpeg version !!!!!
- //ffmpegVideoFile->streams[VideoStreamNumber]->codec->skip_loop_filter =AVDISCARD_ALL; // Reduce quality but speed reading !
- ffmpegVideoFile->streams[VideoStreamNumber]->codec->skip_loop_filter =AVDISCARD_BIDIR;
-
- #ifdef OLDFFMPEG
- if ((VideoDecoderCodec==NULL)||(avcodec_open(ffmpegVideoFile->streams[VideoStreamNumber]->codec,VideoDecoderCodec)<0)) {
- #else
- if ((VideoDecoderCodec==NULL)||(avcodec_open2(ffmpegVideoFile->streams[VideoStreamNumber]->codec,VideoDecoderCodec,NULL)<0)) {
- #endif
- CloseCodecAndFile();
- return false;
- }
- // Hack to correct wrong frame rates that seem to be generated by some codecs
- if (ffmpegVideoFile->streams[VideoStreamNumber]->codec->time_base.num>1000 && ffmpegVideoFile->streams[VideoStreamNumber]->codec->time_base.den==1) ffmpegVideoFile->streams[VideoStreamNumber]->codec->time_base.den=1000;
-
- CodecUsePTS=ffmpegVideoFile->streams[VideoStreamNumber]->codec->codec_id==CODEC_ID_H264;
-
- // Get Aspect Ratio
- AspectRatio=double(ffmpegVideoFile->streams[VideoStreamNumber]->codec->sample_aspect_ratio.num)/double(ffmpegVideoFile->streams[VideoStreamNumber]->codec->sample_aspect_ratio.den);
-
- if (ffmpegVideoFile->streams[VideoStreamNumber]->sample_aspect_ratio.num!=0)
- AspectRatio=double(ffmpegVideoFile->streams[VideoStreamNumber]->sample_aspect_ratio.num)/double(ffmpegVideoFile->streams[VideoStreamNumber]->sample_aspect_ratio.den);
-
- if (AspectRatio==0) AspectRatio=1;
-
- // Special case for DVD mode video without PAR
- if ((AspectRatio==1)&&(ffmpegVideoFile->streams[VideoStreamNumber]->codec->coded_width==720)&&(ffmpegVideoFile->streams[VideoStreamNumber]->codec->coded_height==576))
- AspectRatio=double((576/3)*4)/720;
-
- // Try to load one image to be sure we can make something with this file
- IsOpen=true;
- qlonglong Position=0;
- if (QTime(0,0,0,0).msecsTo(Duration)>1000) Position=1000; // If video is > 1 sec then get image at 1 sec
- QImage *Img =ImageAt(true,Position,0,NULL,1,false,NULL,false);
- if (Img) {
- // Get informations about size image
- ImageWidth=Img->width();
- ImageHeight=Img->height();
- // Compute image geometry
- ObjectGeometry=IMAGE_GEOMETRY_UNKNOWN;
- double RatioHW=double(ImageWidth)/double(ImageHeight);
- if ((RatioHW>=1.45)&&(RatioHW<=1.55)) ObjectGeometry=IMAGE_GEOMETRY_3_2;
- else if ((RatioHW>=0.65)&&(RatioHW<=0.67)) ObjectGeometry=IMAGE_GEOMETRY_2_3;
- else if ((RatioHW>=1.32)&&(RatioHW<=1.34)) ObjectGeometry=IMAGE_GEOMETRY_4_3;
- else if ((RatioHW>=0.74)&&(RatioHW<=0.76)) ObjectGeometry=IMAGE_GEOMETRY_3_4;
- else if ((RatioHW>=1.77)&&(RatioHW<=1.79)) ObjectGeometry=IMAGE_GEOMETRY_16_9;
- else if ((RatioHW>=0.56)&&(RatioHW<=0.58)) ObjectGeometry=IMAGE_GEOMETRY_9_16;
- else if ((RatioHW>=2.34)&&(RatioHW<=2.36)) ObjectGeometry=IMAGE_GEOMETRY_40_17;
- else if ((RatioHW>=0.42)&&(RatioHW<=0.44)) ObjectGeometry=IMAGE_GEOMETRY_17_40;
- // Icon
- if (Icon16.isNull()) {
- QImage Final=(ApplicationConfig->Video_ThumbWidth==162?ApplicationConfig->VideoMask_162:ApplicationConfig->Video_ThumbWidth==150?ApplicationConfig->VideoMask_150:ApplicationConfig->VideoMask_120).copy();
- QImage ImgF;
- if (Img->width()>Img->height()) ImgF=Img->scaledToWidth(ApplicationConfig->Video_ThumbWidth-2,Qt::SmoothTransformation);
- else ImgF=Img->scaledToHeight(ApplicationConfig->Video_ThumbHeight*0.7,Qt::SmoothTransformation);
- QPainter Painter;
- Painter.begin(&Final);
- Painter.drawImage(QRect((Final.width()-ImgF.width())/2,(Final.height()-ImgF.height())/2,ImgF.width(),ImgF.height()),ImgF);
- Painter.end();
- LoadIcons(&Final);
- }
- delete Img;
- } else {
- CloseCodecAndFile();
- return false;
- }
- }
-
- return IsOpen;
-}
diff --git a/src/sharedfiles/cBaseMediaFile.h b/src/sharedfiles/cBaseMediaFile.h
deleted file mode 100755
index 1e59a78..0000000
--- a/src/sharedfiles/cBaseMediaFile.h
+++ /dev/null
@@ -1,306 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef CBASEMEDIAFILE_H
-#define CBASEMEDIAFILE_H
-
-// Basic inclusions (common to all files)
-#include "_GlobalDefines.h"
-
-// Include some common various class
-#include "cBaseApplicationConfig.h"
-
-// Include some additional standard class
-#include <QString>
-#include <QTime>
-#include <QDateTime>
-#include <QImage>
-
-// Include some common various class
-#include "cDeviceModelDef.h" // Contains ffmpeg include
-#include "cFilterTransformObject.h"
-#include "cSoundBlockList.h"
-#include "cCustomIcon.h"
-
-// Other third party library inclusions
-
-//****************************************************************************************************************************************************************
-// EXIV2 PART [Linux only - Windows use binary version]
-//****************************************************************************************************************************************************************
-#ifdef Q_OS_LINUX
- #include <exiv2/exif.hpp>
- #if (EXIV2_MAJOR_VERSION==0) && (EXIV2_MINOR_VERSION>20)
- #include <exiv2/exiv2.hpp>
- #define EXIV2WITHPREVIEW
- #else
- #include <exiv2/image.hpp>
- #endif
-#endif
-
-//****************************************************************************************************************************************************************
-// TAGLIB PART
-//****************************************************************************************************************************************************************
-
-#include <taglib/fileref.h>
-#include <taglib/tbytevector.h>
-#include <taglib/id3v2tag.h>
-#include <taglib/id3v2frame.h>
-#include <taglib/id3v2header.h>
-#include <taglib/id3v2framefactory.h>
-#include <taglib/attachedpictureframe.h>
-#include <taglib/mpegfile.h>
-#include <taglib/flacfile.h>
-#include <taglib/mp4file.h>
-#include <taglib/vorbisfile.h>
-#include <taglib/oggflacfile.h>
-#include <taglib/asffile.h>
-#include <taglib/mp4tag.h>
-#include <taglib/mp4item.h>
-#include <taglib/mp4coverart.h>
-
-#if (TAGLIB_MAJOR_VERSION>=1) && (TAGLIB_MINOR_VERSION>=7)
- #define TAGLIBWITHFLAC
-#endif
-#ifdef TAGLIB_WITH_ASF
- #if (TAGLIB_WITH_ASF>=1)
- #define TAGLIBWITHASF
- #if (TAGLIB_MAJOR_VERSION>=1) && (TAGLIB_MINOR_VERSION>=7)
- #define TAGLIBWITHASFPICTURE
- #endif
- #endif
-#endif
-#ifdef TAGLIB_WITH_MP4
- #if (TAGLIB_WITH_MP4>=1)
- #define TAGLIBWITHMP4
- #endif
-#endif
-
-//****************************************************************************************************************************************************************
-
-// Define possible values for images geometry
-#define IMAGE_GEOMETRY_UNKNOWN 0 // undefined image geometry
-#define IMAGE_GEOMETRY_3_2 1 // Standard 3:2 landscape image
-#define IMAGE_GEOMETRY_2_3 2 // Standard 3:2 portrait image
-#define IMAGE_GEOMETRY_4_3 3 // Standard 4:3 landscape image
-#define IMAGE_GEOMETRY_3_4 4 // Standard 4:3 portrait image
-#define IMAGE_GEOMETRY_16_9 5 // Standard 16:9 landscape image
-#define IMAGE_GEOMETRY_9_16 6 // Standard 16:9 portrait image
-#define IMAGE_GEOMETRY_40_17 7 // Standard cinema landscape image
-#define IMAGE_GEOMETRY_17_40 8 // Standard cinema portrait image
-
-//****************************************************************************************************************************************************************
-
-class cThumbCache {
-public:
- QString ThumbCacheFile; // ThumbCache file name
- QDomDocument ThumbCacheDocument; // XML document associate to ThumbCache
- bool IsModify;
-
- cThumbCache(QString ThumbCacheFile);
- ~cThumbCache();
-};
-
-//****************************************************************************************************************************************************************
-
-class cBaseMediaFile : public cCustomIcon {
-public:
- int ObjectType;
- bool IsValide; // if true then object if initialise
- bool IsInformationValide; // if true then information list if fuly initialise
- int ObjectGeometry; // Image geometry of the embeded image or video
- QString FileName; // filename
- QString ShortName; // filename without path
- QString FileExtension; // file extension
- qlonglong FileSize; // filesize
- QString FileSizeText; // filesize in text mode
- QDateTime CreatDateTime; // Original date/time
- QDateTime ModifDateTime; // Last modified date/time
- int ImageWidth; // Widht of normal image
- int ImageHeight; // Height of normal image
- int ImageOrientation; // EXIF ImageOrientation (or -1)
- double AspectRatio; // Aspect ratio
- cFilterTransformObject BrushFileTransform; // Image transformation if image from disk
- cBaseApplicationConfig *ApplicationConfig;
- QStringList InformationList;
-
- cBaseMediaFile(cBaseApplicationConfig *ApplicationConfig);
- ~cBaseMediaFile();
-
- virtual bool GetInformationFromFile(QString GivenFileName,QStringList *AliasList,bool *ModifyFlag);
- virtual bool IsFilteredFile(int RequireObjectType)=0;
- virtual void GetFullInformationFromFile()=0;
- virtual QString GetInformationValue(QString ValueToSearch);
- virtual QString GetCumulInfoStr(QString Key1,QString Key2);
-
- enum ImageSizeFmt {FULLWEB,SIZEONLY,FMTONLY,GEOONLY};
- virtual QString GetImageSizeStr(ImageSizeFmt Fmt=FULLWEB); // Return image size as formated string
- virtual QString GetImageGeometryStr(); // Return image geometry as formated string
- virtual QString GetFileTypeStr()=0;
- virtual QString GetFileDateTimeStr(bool Created=false); // Return file date/time as formated string
- virtual QString GetFileSizeStr(); // Return file size as formated string
-
- virtual QString GetTechInfo()=0; // Return technical information as formated string
- virtual QString GetTAGInfo()=0; // Return TAG information as formated string
-
- virtual QImage *GetDefaultTypeIcon(cCustomIcon::IconSize Size)=0;
-
- virtual void AddThumbnailToCache(cThumbCache *ThumbCache,QDateTime TimeStamp);
- virtual bool GetThumbnailFromCache(cThumbCache *ThumbCache);
-};
-
-//*********************************************************************************************************************************************
-// Image file
-//*********************************************************************************************************************************************
-class cUnmanagedFile : public cBaseMediaFile {
-public:
- explicit cUnmanagedFile(cBaseApplicationConfig *ApplicationConfig);
-
- virtual bool GetInformationFromFile(QString GivenFileName,QStringList *AliasList,bool *ModifyFlag);
- virtual QString GetFileTypeStr();
- virtual bool IsFilteredFile(int RequireObjectType);
- virtual void GetFullInformationFromFile() {/*Nothing to do*/}
- virtual QImage *GetDefaultTypeIcon(cCustomIcon::IconSize Size) { return ApplicationConfig->DefaultFILEIcon.GetIcon(Size); }
- virtual QString GetTechInfo() { return ""; }
- virtual QString GetTAGInfo() { return ""; }
-};
-
-//*********************************************************************************************************************************************
-// Image file
-//*********************************************************************************************************************************************
-class cFolder : public cBaseMediaFile {
-public:
- explicit cFolder(cBaseApplicationConfig *ApplicationConfig);
-
- virtual bool GetInformationFromFile(QString GivenFileName,QStringList *AliasList,bool *ModifyFlag);
- virtual QString GetFileTypeStr();
- virtual bool IsFilteredFile(int RequireObjectType);
- virtual void GetFullInformationFromFile();
- virtual QImage *GetDefaultTypeIcon(cCustomIcon::IconSize Size) { return ApplicationConfig->DefaultFOLDERIcon.GetIcon(Size); }
- virtual QString GetTechInfo() { return ""; }
- virtual QString GetTAGInfo() { return ""; }
-};
-
-//*********************************************************************************************************************************************
-// ffDiaporama project file
-//*********************************************************************************************************************************************
-class cffDProjectFile : public cBaseMediaFile {
-public:
- // TAG values
- QString Title; // 30 char
- QString Author; // 30 char
- QString Album; // 30 char
- int Year; // Year - 4 digits
- QString Comment; // Free text - free size
- QString Composer; // ffDiaporama version
- qlonglong Duration; // (Duration in msec)
- int NbrSlide; // (Number of slide in project)
- QString ffDRevision; // ffD Application version (in reverse date format)
- QString DefaultLanguage; // Default Language (ISO 639 language code)
- int NbrChapters; // Number of chapters in the file
-
- explicit cffDProjectFile(cBaseApplicationConfig *ApplicationConfig);
-
- virtual bool GetInformationFromFile(QString GivenFileName,QStringList *AliasList,bool *ModifyFlag);
- virtual QString GetFileTypeStr();
- virtual bool IsFilteredFile(int RequireObjectType);
- virtual void GetFullInformationFromFile();
- virtual QImage *GetDefaultTypeIcon(cCustomIcon::IconSize Size) { return ApplicationConfig->DefaultFFDIcon.GetIcon(Size); }
-
- virtual QString GetTechInfo();
- virtual QString GetTAGInfo();
-
- void SaveToXML(QDomElement &domDocument);
- bool LoadFromXML(QDomElement domDocument);
-};
-
-//*********************************************************************************************************************************************
-// Image file
-//*********************************************************************************************************************************************
-class cImageFile : public cBaseMediaFile {
-public:
- explicit cImageFile(cBaseApplicationConfig *ApplicationConfig);
-
- virtual QImage *ImageAt(bool PreviewMode,cFilterTransformObject *Filter);
- virtual QString GetFileTypeStr();
- virtual bool IsFilteredFile(int RequireObjectType);
- virtual void GetFullInformationFromFile(cThumbCache *ThumbCache);
- virtual void GetFullInformationFromFile() {GetFullInformationFromFile(NULL);}
- virtual QImage *GetDefaultTypeIcon(cCustomIcon::IconSize Size) { return (ObjectType==OBJECTTYPE_THUMBNAIL?ApplicationConfig->DefaultThumbIcon:ApplicationConfig->DefaultIMAGEIcon).GetIcon(Size); }
- virtual QString GetTechInfo();
- virtual QString GetTAGInfo();
-};
-
-//*********************************************************************************************************************************************
-// Video file
-//*********************************************************************************************************************************************
-
-class cVideoFile : public cBaseMediaFile {
-public:
- bool IsOpen; // True if ffmpeg open on this file
- bool MusicOnly; // True if object is a music only file
- bool IsVorbis; // True if vorbis version must be use instead of MP3/WAV version
- QTime StartPos; // Start position
- QTime EndPos; // End position
- QString Container; // Container type (get from file extension)
- QTime Duration; // Duration of the video
- double dEndFileCachePos; // Position of the cache image of last image of the video
- bool CodecUsePTS; // true if codec use PTS (h264) if if we use only DTS
- QString VideoCodecInfo;
- QString AudioCodecInfo;
-
- // Video part
- AVFormatContext *ffmpegVideoFile; // LibAVFormat context
- AVCodec *VideoDecoderCodec; // Associated LibAVCodec for video stream
- int VideoStreamNumber; // Number of the video stream
- int VideoTrackNbr; // Number of video stream in file
- AVFrame *FrameBufferYUV;
- bool FrameBufferYUVReady; // true if FrameBufferYUV is ready to convert
- int64_t FrameBufferYUVPosition; // If FrameBufferYUV is ready to convert then keep FrameBufferYUV position
-
- // Audio part
- AVFormatContext *ffmpegAudioFile; // LibAVFormat context
- AVCodec *AudioDecoderCodec; // Associated LibAVCodec for audio stream
- int AudioStreamNumber; // Number of the audio stream
- int AudioTrackNbr; // Number of audio stream in file
- int64_t LastAudioReadedPosition; // Use to keep the last readed position to determine if a seek is needed
-
- int NbrChapters; // Number of chapters in the file
-
- explicit cVideoFile(int WantedObjectType,cBaseApplicationConfig *ApplicationConfig);
- ~cVideoFile();
-
- virtual QString GetFileTypeStr();
- virtual bool IsFilteredFile(int RequireObjectType);
- virtual void GetFullInformationFromFile();
- virtual QImage *GetDefaultTypeIcon(cCustomIcon::IconSize Size);
-
- virtual QString GetTechInfo();
- virtual QString GetTAGInfo();
-
- virtual bool OpenCodecAndFile();
- virtual void CloseCodecAndFile();
-
- virtual QImage *ImageAt(bool PreviewMode,qlonglong Position,qlonglong StartPosToAdd,cSoundBlockList *SoundTrackMontage,double Volume,bool ForceSoundOnly,cFilterTransformObject *Filter,bool DontUseEndPos);
- virtual QImage *ReadVideoFrame(qlonglong Position,bool DontUseEndPos);
- virtual void ReadAudioFrame(bool PreviewMode,qlonglong Position,cSoundBlockList *SoundTrackBloc,double Volume,bool DontUseEndPos); // MP3 and WAV
- virtual QImage *ConvertYUVToRGB();
-};
-
-#endif // CBASEMEDIAFILE_H
diff --git a/src/sharedfiles/cBrushDefinition.cpp b/src/sharedfiles/cBrushDefinition.cpp
deleted file mode 100755
index 4bde38b..0000000
--- a/src/sharedfiles/cBrushDefinition.cpp
+++ /dev/null
@@ -1,769 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "cBrushDefinition.h"
-
-// Include some common various class
-#include "../fmt_filters/fmt_filters.h"
-
-//*********************************************************************************************************************************************
-// Utility function to create a gradient brush
-//*********************************************************************************************************************************************
-
-QBrush *GetGradientBrush(QRectF Rect,int BrushType,int GradientOrientation,QString ColorD,QString ColorF,QString ColorIntermed,double Intermediate) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:GetGradientBrush");
-
- QGradient Gradient;
- switch (GradientOrientation) {
- case GRADIENTORIENTATION_UPLEFT: Gradient=QLinearGradient(QPointF(Rect.x(),Rect.y()),QPointF(Rect.x()+Rect.width(),Rect.y()+Rect.height())); break; // Up-Left
- case GRADIENTORIENTATION_UP: Gradient=QLinearGradient(QPointF(Rect.x()+Rect.width()/2,Rect.y()),QPointF(Rect.x()+Rect.width()/2,Rect.y()+Rect.height())); break; // Up
- case GRADIENTORIENTATION_UPRIGHT: Gradient=QLinearGradient(QPointF(Rect.x()+Rect.width(),Rect.y()),QPointF(Rect.x(),Rect.y()+Rect.height())); break; // Up-right
- case GRADIENTORIENTATION_LEFT: Gradient=QLinearGradient(QPointF(Rect.x(),Rect.y()+Rect.height()/2),QPointF(Rect.x()+Rect.width(),Rect.y()+Rect.height()/2)); break; // Left
- case GRADIENTORIENTATION_RADIAL: Gradient=QRadialGradient(QPointF(Rect.x()+Rect.width()/2,Rect.y()+Rect.height()/2),Rect.width()>Rect.height()?Rect.width():Rect.height(),QPointF(Rect.x()+Rect.width()/2,Rect.y()+Rect.height()/2)); break; // Radial
- case GRADIENTORIENTATION_RIGHT: Gradient=QLinearGradient(QPointF(Rect.x()+Rect.width(),Rect.y()+Rect.height()/2),QPointF(Rect.x(),Rect.y()+Rect.height()/2)); break; // Right
- case GRADIENTORIENTATION_BOTTOMLEFT: Gradient=QLinearGradient(QPointF(Rect.x(),Rect.y()+Rect.height()),QPointF(Rect.x()+Rect.width(),Rect.y())); break; // bt-Left
- case GRADIENTORIENTATION_BOTTOM: Gradient=QLinearGradient(QPointF(Rect.x()+Rect.width()/2,Rect.y()+Rect.height()),QPointF(Rect.x()+Rect.width()/2,Rect.y())); break; // bottom
- case GRADIENTORIENTATION_BOTTOMRIGHT: Gradient=QLinearGradient(QPointF(Rect.x()+Rect.width(),Rect.y()+Rect.height()),QPointF(Rect.x(),Rect.y())); break; // bt-right
- }
- Gradient.setColorAt(0,QColor(ColorD));
- Gradient.setColorAt(1,QColor(ColorF));
- if (BrushType==BRUSHTYPE_GRADIENT3) Gradient.setColorAt(Intermediate,QColor(ColorIntermed));
- return new QBrush(Gradient);
-}
-
-//====================================================================================================================
-// Utility function to draw a shape
-//====================================================================================================================
-
-void DrawShape(QPainter &Painter,int BackgroundForm,double left,double top,double width,double height,double CenterX,double CenterY) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:DrawShape");
-
- double RayX=0,RayY=0;
-
- switch (BackgroundForm) {
- //0 = no shape
- case 1 : Painter.drawRect(QRectF(left,top,width-1,height-1)); break; // Rectangle
- case 2 : // Round rect
- RayX=width/10; if (RayX>16) RayX=16; else if (RayX<2) RayX=2;
- RayY=height/10; if (RayY>16) RayY=16; else if (RayY<2) RayY=2;
- Painter.drawRoundedRect(QRectF(left,top,width-1,height-1),RayX,RayY,Qt::AbsoluteSize);
- break;
- case 3 : // Buble
- RayX=2*width/10; if (RayX<4) RayX=4;
- RayY=2*height/10; if (RayY<4) RayY=4;
- Painter.drawRoundedRect(QRectF(left,top,width-1,height-1),RayX,RayY,Qt::AbsoluteSize);
- break;
- case 4 : Painter.drawEllipse(QRectF(left,top,width-1,height-1)); break; // Ellipse
- case 5 : DrawPolygonR(Painter,width,height,CenterX,CenterY,3,90); break; // Triangle UP
- case 6 : DrawPolygonR(Painter,width,height,CenterX,CenterY,3,0); break; // Triangle Right
- case 7 : DrawPolygonR(Painter,width,height,CenterX,CenterY,3,-90); break; // Triangle Down
- case 8 : DrawPolygonR(Painter,width,height,CenterX,CenterY,3,-180); break; // Triangle left
- case 9 : DrawPolygonR(Painter,width,height,CenterX,CenterY,4,0); break; // Losange
- case 10: DrawPolygonR(Painter,width,height,CenterX,CenterY,5,90-(double(360)/5)); break; // pentagone
- case 11: DrawPolygonR(Painter,width,height,CenterX,CenterY,6,-(double(360)/6)); break; // hexagone
- case 12: DrawPolygonR(Painter,width,height,CenterX,CenterY,8,-(double(360)/8)); break; // Octogone
- }
-}
-
-//====================================================================================================================
-// Utility function to draw a regular polygon shape
-//====================================================================================================================
-
-void DrawPolygonR(QPainter &Painter,double width,double height,double CenterX,double CenterY,int MaxPoint,double StartAngle) {
- QPointF Table[10];
- double vcos,vsin,Angle;
- int i;
-
- Angle=StartAngle;
- for (i=0;i<MaxPoint;i++) {
- vcos=cos(Angle*3.14159265/180)*(width/2);
- vsin=sin(Angle*3.14159265/180)*(height/2);
- Table[i]=QPointF(CenterX+vcos,CenterY-vsin);
- Angle=Angle+(double(360)/MaxPoint);
- if (Angle>=360) Angle=-Angle+360;
- }
- Painter.drawPolygon(Table,MaxPoint);
-}
-
-//*********************************************************************************************************************************************
-// Base object for composition definition
-//*********************************************************************************************************************************************
-
-cBackgroundObject::cBackgroundObject(QString FileName,int TheGeometry) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBackgroundObject::cBackgroundObject");
-
- IsValide = false;
- FilePath = FileName;
- Name = QFileInfo(FileName).baseName();
-
- // Load file
- BackgroundImage.load(FilePath);
-
- // Make Icon
- QImage *BrushImage=new QImage(BackgroundImage.copy());
- if (!BrushImage->isNull()) {
- Geometry = TheGeometry;
- int H,W;
- QImage *NewImg;
- switch (Geometry) {
- case GEOMETRY_4_3 :
- H=BrushImage->height();
- W=int(double(4)*(double(H)/double(3)));
- NewImg=new QImage(BrushImage->copy((BrushImage->width()-W)/2,(BrushImage->height()-H)/2,W,H));
- delete BrushImage;
- BrushImage=NewImg;
- break;
- case GEOMETRY_40_17 :
- W=BrushImage->width();
- H=int(double(17)*(double(W)/double(40)));
- NewImg=new QImage(BrushImage->copy((BrushImage->width()-W)/2,(BrushImage->height()-H)/2,W,H));
- delete BrushImage;
- BrushImage=NewImg;
- break;
- }
-
- Icon=QPixmap(QPixmap::fromImage(BrushImage->scaledToHeight(64)));
- delete BrushImage;
- }
- IsValide=!Icon.isNull();
-}
-
-//*********************************************************************************************************************************************
-// Global class containing background library
-//*********************************************************************************************************************************************
-cBackgroundList::cBackgroundList() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBackgroundList::cBackgroundList");
-
- Geometry=-1;
-}
-
-//====================================================================================================================
-
-void cBackgroundList::ScanDisk(QString Path,int TheGeometry) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBackgroundList::ScanDisk");
-
- if (Geometry==TheGeometry) return;
- Geometry=TheGeometry;
-
- QDir Folder(Path);
- QFileInfoList Files=Folder.entryInfoList();;
-
- List.clear();
- for (int i=0;i<Files.count();i++) if (Files[i].isFile() && ((QString(Files[i].suffix()).toLower()=="jpg")||(QString(Files[i].suffix()).toLower()=="png"))) {
- QString FileName=QFileInfo(Files[i]).absoluteFilePath();
- if (QFileInfo(QString(FileName)).isFile()) List.append(cBackgroundObject(Files[i].absoluteFilePath(),Geometry));
- }
-}
-
-//====================================================================================================================
-
-int cBackgroundList::SearchImage(QString NameToFind) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBackgroundList::SearchImage");
-
- int Ret=-1;
- int j=0;
- while ((j<List.count())&&(Ret==-1)) if (List[j].Name==NameToFind) Ret=j; else j++;
- if (Ret==-1) Ret=0; // If not found : switch to first background
- return Ret;
-}
-
-//*********************************************************************************************************************************************
-// Object for Brush definition
-//*********************************************************************************************************************************************
-
-cBrushDefinition::cBrushDefinition(cBaseApplicationConfig *TheApplicationConfig,cBackgroundList *TheBackgroundList) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::cBrushDefinition");
-
- TypeComposition =COMPOSITIONTYPE_BACKGROUND;
- BrushType =BRUSHTYPE_SOLID; // 0=No brush !, 1=Solid one color, 2=Pattern, 3=Gradient 2 colors, 4=Gradient 3 colors, 5=brush library, 6=image disk
- PatternType =Qt::Dense4Pattern; // Type of pattern when BrushType is Pattern (Qt::BrushStyle standard)
- ColorD ="#C0C0C0"; // First Color
- ColorIntermed ="#777777"; // Intermediate Color
- ColorF ="#000000"; // Last Color
- Intermediate =0.1; // Intermediate position of 2nd color (in %)
- GradientOrientation =6; // 1=Up-Left, 2=Up, 3=Up-right, ...
- BrushImage =""; // Image name if image from library
- Image =NULL;
- Video =NULL;
- SoundVolume =1; // Volume of soundtrack
- ApplicationConfig =TheApplicationConfig;
- BackgroundList =TheBackgroundList;
-
- // Image correction part
- ImageRotation =0; // Image rotation
- X =0; // X position (in %) relative to up/left corner
- Y =0; // Y position (in %) relative to up/left corner
- ZoomFactor =1; // Zoom factor (in %)
- Brightness =0;
- Contrast =0;
- Gamma =1;
- Red =0;
- Green =0;
- Blue =0;
- LockGeometry =false;
- AspectRatio =1;
- FullFilling =false;
-}
-
-//====================================================================================================================
-cBrushDefinition::~cBrushDefinition() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::~cBrushDefinition");
-
- if (Image) {
- if (TypeComposition!=COMPOSITIONTYPE_SHOT) delete Image;
- Image=NULL;
- }
- if (Video) {
- if (TypeComposition!=COMPOSITIONTYPE_SHOT) delete Video;
- Video=NULL;
- }
-}
-
-//====================================================================================================================
-
-QBrush *cBrushDefinition::GetBrush(QRectF Rect,bool PreviewMode,int Position,int StartPosToAdd,cSoundBlockList *SoundTrackMontage,double PctDone,cBrushDefinition *PreviousBrush,bool UseBrushCache) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::GetBrush");
-
- switch (BrushType) {
- case BRUSHTYPE_NOBRUSH : return new QBrush(Qt::NoBrush);
- case BRUSHTYPE_SOLID : return new QBrush(QColor(ColorD),Qt::SolidPattern);
- case BRUSHTYPE_PATTERN : return new QBrush(QColor(ColorD),(Qt::BrushStyle)(PatternType+3));
- case BRUSHTYPE_GRADIENT2 : return GetGradientBrush(Rect,BrushType,GradientOrientation,ColorD,ColorF,ColorIntermed,Intermediate);
- case BRUSHTYPE_GRADIENT3 : return GetGradientBrush(Rect,BrushType,GradientOrientation,ColorD,ColorF,ColorIntermed,Intermediate);
- case BRUSHTYPE_IMAGELIBRARY : return GetLibraryBrush(Rect);
- case BRUSHTYPE_IMAGEDISK : return GetImageDiskBrush(Rect,PreviewMode,Position,StartPosToAdd,SoundTrackMontage,PctDone,PreviousBrush,UseBrushCache);
- }
- return new QBrush(Qt::NoBrush);
-}
-
-//====================================================================================================================
-
-void cBrushDefinition::GetDefaultFraming(FramingType TheFramingType,bool LockGeometry,double &X,double &Y,double &ZoomFactor,double &AspectRatio) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::GetDefaultFraming");
-
- if ((Image==NULL)&&(Video==NULL)) return;
-
- // Calc coordinates of the part in the source image
- double RealImageW =double(Image!=NULL?Image->ImageWidth:Video->ImageWidth);
- double RealImageH =double(Image!=NULL?Image->ImageHeight:Video->ImageHeight);
- double Hyp =sqrt(RealImageW*RealImageW+RealImageH*RealImageH); // Calc hypothenuse of the image to define full canvas
- double DstX =((Hyp-RealImageW)/2);
- double DstY =((Hyp-RealImageH)/2);
- double DstW =RealImageW;
- double DstH =RealImageH;
- double W;
- double H;
-
- switch (TheFramingType) {
- case ADJUST_WITH : // Adjust to With
- W=DstX+DstW-DstX;
- H=W*AspectRatio;
- X=((Hyp-W)/2)/Hyp;
- Y=((Hyp-H)/2)/Hyp;
- ZoomFactor=W/Hyp;
- break;
- case ADJUST_HEIGHT : // Adjust to Height
- H=DstY+DstH-DstY;
- W=H/AspectRatio;
- X=((Hyp-W)/2)/Hyp;
- Y=((Hyp-H)/2)/Hyp;
- ZoomFactor=W/Hyp;
- break;
- case ADJUST_FULL : // Adjust to FullImage
- if (!LockGeometry) {
- W=DstX+DstW-DstX;
- H=DstY+DstH-DstY;
- AspectRatio=H/W;
- X=((Hyp-W)/2)/Hyp;
- Y=((Hyp-H)/2)/Hyp;
- ZoomFactor=W/Hyp;
- } else {
- W=DstX+DstW-DstX;
- H=W*AspectRatio;
- if (H<DstY+DstH-DstY) {
- H=DstY+DstH-DstY;
- W=H/AspectRatio;
- X=((Hyp-W)/2)/Hyp;
- Y=((Hyp-H)/2)/Hyp;
- ZoomFactor=W/Hyp;
- } else {
- W=DstX+DstW-DstX;
- H=W*AspectRatio;
- X=((Hyp-W)/2)/Hyp;
- Y=((Hyp-H)/2)/Hyp;
- ZoomFactor=W/Hyp;
- }
- }
- break;
- }
-}
-
-//====================================================================================================================
-
-QString cBrushDefinition::GetFramingStyle(double X,double Y,double ZoomFactor,double AspectRatio,double ImageRotation) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::GetFramingStyle");
-
- return QString("###X:%1").arg(X,0,'e',4)+
- QString("###Y:%1").arg(Y,0,'e',4)+
- QString("###ZoomFactor:%1").arg(ZoomFactor,0,'e')+
- QString("###ImageRotation:%1").arg(ImageRotation,0,'e')+
- QString("###AspectRatio:%1").arg(AspectRatio,0,'e');
-}
-
-//====================================================================================================================
-
-void cBrushDefinition::InitDefaultFramingStyle(bool LockGeometry,double AspectRatio) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::InitDefaultFramingStyle");
-
- double X,Y,ZoomFactor;
-
- GetDefaultFraming(ADJUST_WITH,LockGeometry,X,Y,ZoomFactor,AspectRatio); DefaultFramingW=GetFramingStyle(X,Y,ZoomFactor,AspectRatio,0);
- GetDefaultFraming(ADJUST_HEIGHT,LockGeometry,X,Y,ZoomFactor,AspectRatio); DefaultFramingH=GetFramingStyle(X,Y,ZoomFactor,AspectRatio,0);
- GetDefaultFraming(ADJUST_FULL,LockGeometry,X,Y,ZoomFactor,AspectRatio); DefaultFramingF=GetFramingStyle(X,Y,ZoomFactor,AspectRatio,0);
-}
-
-//====================================================================================================================
-
-void cBrushDefinition::ApplyStyle(bool LockGeometry,QString Style) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::ApplyStyle");
-
- QStringList List;
-
- // String to StringList
- while (Style.contains("###")) {
- List.append(Style.left(Style.indexOf("###")));
- Style=Style.mid(Style.indexOf("###")+QString("###").length());
- }
- if (!Style.isEmpty()) List.append(Style);
-
- // Apply
- LockGeometry=LockGeometry;
- for (int i=0;i<List.count();i++) {
- if (List[i].startsWith("X:")) X =List[i].mid(QString("X:").length()).toDouble();
- else if (List[i].startsWith("Y:")) Y =List[i].mid(QString("Y:").length()).toDouble();
- else if (List[i].startsWith("ZoomFactor:")) ZoomFactor =List[i].mid(QString("ZoomFactor:").length()).toDouble();
- else if (List[i].startsWith("ImageRotation:")) ImageRotation =List[i].mid(QString("ImageRotation:").length()).toDouble();
- else if (List[i].startsWith("AspectRatio:")) AspectRatio =List[i].mid(QString("AspectRatio:").length()).toDouble();
-
- }
-}
-
-//====================================================================================================================
-
-QBrush *cBrushDefinition::GetImageDiskBrush(QRectF Rect,bool PreviewMode,int Position,int StartPosToAdd,cSoundBlockList *SoundTrackMontage,double PctDone,cBrushDefinition *PreviousBrush,bool UseBrushCache) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::GetImageDiskBrush");
-
- // If not an image or a video or filename is empty then return
- if ((Image?Image->FileName:Video?Video->FileName:"")=="") return new QBrush(Qt::NoBrush);
-
- // W and H = 0 when producing sound track in render process
- bool SoundOnly=((Rect.width()==0)&&(Rect.height()==0));
-
- if (!SoundOnly) {
- QImage *RenderImage=NULL;
- if (Video) {
- // Only slide dialog set UseBrushCache to true => use LuloImageCache to Cache rendered image
- if (UseBrushCache) {
- QImage *LN_Image=NULL;
- cLuLoImageCacheObject *ImageObject=ApplicationConfig->ImagesCache.FindObject(Video,Position+StartPosToAdd,(!PreviewMode || ApplicationConfig->Smoothing),true);
- if (PreviewMode) LN_Image=ImageObject->CachePreviewImage;
- else LN_Image=ImageObject->CacheRenderImage;
- if (LN_Image) RenderImage=new QImage(LN_Image->copy());
- else RenderImage=Video->ImageAt(PreviewMode,Position,StartPosToAdd,SoundTrackMontage,SoundVolume,SoundOnly,&Video->BrushFileTransform,false);
- if (!LN_Image) {
- if (PreviewMode) ImageObject->CachePreviewImage=new QImage(RenderImage->copy());
- else ImageObject->CacheRenderImage=new QImage(RenderImage->copy());
- }
- } else RenderImage=Video->ImageAt(PreviewMode,Position,StartPosToAdd,SoundTrackMontage,SoundVolume,SoundOnly,&Video->BrushFileTransform,false);
- } else if (Image) RenderImage=Image->ImageAt(PreviewMode,&Image->BrushFileTransform);
-
- QBrush *Ret=NULL;
-
- if (RenderImage) {
- if (FullFilling) {
- // Create brush image with distortion
- Ret=new QBrush(RenderImage->scaled(Rect.width(),Rect.height(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation));
- delete RenderImage;
- RenderImage=NULL;
- } else {
- // Create brush image with ken burns effect !
- double TheXFactor =X;
- double TheYFactor =Y;
- double TheZoomFactor =ZoomFactor;
- double TheRotateFactor =ImageRotation;
- double TheBrightness =Brightness;
- double TheContrast =Contrast;
- double TheGamma =Gamma;
- double TheRed =Red;
- double TheGreen =Green;
- double TheBlue =Blue;
- double TheAspectRatio =AspectRatio;
-
- // Adjust values depending on PctDone and previous Filter (if exist)
- if (PreviousBrush) {
- if (PreviousBrush->X!=TheXFactor) TheXFactor =PreviousBrush->X+(TheXFactor-PreviousBrush->X)*PctDone;
- if (PreviousBrush->Y!=TheYFactor) TheYFactor =PreviousBrush->Y+(TheYFactor-PreviousBrush->Y)*PctDone;
- if (PreviousBrush->ZoomFactor!=TheZoomFactor) TheZoomFactor =PreviousBrush->ZoomFactor+(TheZoomFactor-PreviousBrush->ZoomFactor)*PctDone;
- if (PreviousBrush->ImageRotation!=TheRotateFactor) TheRotateFactor =PreviousBrush->ImageRotation+(TheRotateFactor-PreviousBrush->ImageRotation)*PctDone;
- if (PreviousBrush->Brightness!=TheBrightness) TheBrightness =PreviousBrush->Brightness+(TheBrightness-PreviousBrush->Brightness)*PctDone;
- if (PreviousBrush->Contrast!=TheContrast) TheContrast =PreviousBrush->Contrast+(TheContrast-PreviousBrush->Contrast)*PctDone;
- if (PreviousBrush->Gamma!=TheGamma) TheGamma =PreviousBrush->Gamma+(TheGamma-PreviousBrush->Gamma)*PctDone;
- if (PreviousBrush->Red!=TheRed) TheRed =PreviousBrush->Red+(TheRed-PreviousBrush->Red)*PctDone;
- if (PreviousBrush->Green!=TheGreen) TheGreen =PreviousBrush->Green+(TheGreen-PreviousBrush->Green)*PctDone;
- if (PreviousBrush->Blue!=TheBlue) TheBlue =PreviousBrush->Blue+(TheBlue-PreviousBrush->Blue)*PctDone;
- if (PreviousBrush->AspectRatio!=TheAspectRatio) TheAspectRatio =PreviousBrush->AspectRatio+(TheAspectRatio-PreviousBrush->AspectRatio)*PctDone;
- }
-
- // Prepare values from sourceimage size
- double RealImageW=double(RenderImage->width()); // Get real image widht
- double RealImageH=double(RenderImage->height()); // Get real image height
- double Hyp=sqrt(RealImageW*RealImageW+RealImageH*RealImageH); // Calc hypothenuse of the image to define full canvas
- int iHyp=int(Hyp); if (Hyp-iHyp>double(0.5)) iHyp++; if (int(iHyp/2)*2<iHyp) iHyp--; Hyp=iHyp;
- int HypPixel=int(Hyp*TheZoomFactor); if (Hyp-HypPixel>double(0.5)) HypPixel++;
-
- // Expand canvas
- QImage NewRenderImage(Hyp,Hyp,QImage::Format_ARGB32_Premultiplied);
- QPainter Painter;
- Painter.begin(&NewRenderImage);
- Painter.setCompositionMode(QPainter::CompositionMode_Source);
- Painter.fillRect(QRect(0,0,Hyp+1,Hyp+1),Qt::transparent);
- Painter.setCompositionMode(QPainter::CompositionMode_SourceOver);
- Painter.drawImage(QPoint((Hyp-RealImageW)/2,(Hyp-RealImageH)/2),*RenderImage);
- Painter.end();
- delete RenderImage;
-
- // Rotate image (if needed)
- if (TheRotateFactor!=0) {
- QTransform matrix;
- matrix.rotate(TheRotateFactor,Qt::ZAxis);
- int W=NewRenderImage.width();
- int H=NewRenderImage.height();
- NewRenderImage=NewRenderImage.transformed(matrix,ApplicationConfig->Smoothing?Qt::SmoothTransformation:Qt::FastTransformation);
- int ax=NewRenderImage.width()-W;
- int ay=NewRenderImage.height()-H;
- NewRenderImage=NewRenderImage.copy(ax/2,ay/2,NewRenderImage.width()-ax+1,NewRenderImage.height()-ay+1);
- }
-
- // Get part we need and scaled it to destination size
- NewRenderImage=NewRenderImage.copy(Hyp*TheXFactor,Hyp*TheYFactor,HypPixel,HypPixel*TheAspectRatio)
- .scaled(Rect.width()+1,double(Rect.width()+1)*TheAspectRatio,Qt::IgnoreAspectRatio,
- ApplicationConfig->Smoothing?Qt::SmoothTransformation:Qt::FastTransformation);
-
- // Apply correction filters to DestImage
- fmt_filters::image img(NewRenderImage.bits(),NewRenderImage.width(),NewRenderImage.height());
- if (TheBrightness!=0) fmt_filters::brightness(img,TheBrightness);
- if (TheContrast!=0) fmt_filters::contrast(img,TheContrast);
- if (TheGamma!=1) fmt_filters::gamma(img,TheGamma);
- if ((TheRed!=0)||(TheGreen!=0)||(TheBlue!=0)) fmt_filters::colorize(img,TheRed,TheGreen,TheBlue);
-
- if (!NewRenderImage.isNull()) Ret=new QBrush(NewRenderImage);
- }
- }
- return Ret;
- } else {
- // Force loading of sound of video
- if (Video) {
- QImage *RenderImage=Video->ImageAt(PreviewMode,Position,StartPosToAdd,SoundTrackMontage,SoundVolume,SoundOnly,&Video->BrushFileTransform,false);
- if (RenderImage) delete RenderImage;
- }
- return new QBrush(Qt::NoBrush);
- }
-}
-
-//====================================================================================================================
-// Note:This function is use only by DlgImageCorrection !
-void cBrushDefinition::ApplyFilter(QImage *Image) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::ApplyFilter");
-
- if (Image==NULL) return;
- fmt_filters::image img(Image->bits(),Image->width(),Image->height());
- if (Brightness!=0) fmt_filters::brightness(img,Brightness);
- if (Contrast!=0) fmt_filters::contrast(img,Contrast);
- if (Gamma!=1) fmt_filters::gamma(img,Gamma);
- if ((Red!=0)||(Green!=0)||(Blue!=0)) fmt_filters::colorize(img,Red,Green,Blue);
-}
-
-//====================================================================================================================
-
-QBrush *cBrushDefinition::GetLibraryBrush(QRectF Rect) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::GetLibraryBrush");
-
- if (!BackgroundList) return NULL;
- int BackgroundImageNumber=BackgroundList->SearchImage(BrushImage);
- if ((BackgroundImageNumber>=0)&&(BackgroundImageNumber<BackgroundList->List.count())) {
- double Ratio=double(BackgroundList->List[BackgroundImageNumber].BackgroundImage.height())/double(BackgroundList->List[BackgroundImageNumber].BackgroundImage.width());
- double H =Rect.height()+1;
- double W =H/Ratio;
- QImage NewImg1;
- if (W<(Rect.width()+1)) {
- NewImg1=QImage(BackgroundList->List[BackgroundImageNumber].BackgroundImage.scaledToWidth(Rect.width()+1,Qt::SmoothTransformation));
- } else {
- NewImg1=QImage(BackgroundList->List[BackgroundImageNumber].BackgroundImage.scaledToHeight(Rect.height()+1,Qt::SmoothTransformation));
- }
- W=NewImg1.width();
- H=GetHeightForWidth(W,Rect);
- if (H<NewImg1.height()) {
- H=NewImg1.height();
- W=GetWidthForHeight(H,Rect);
- }
- if ((W!=NewImg1.width())||(H!=NewImg1.height())) return new QBrush(QImage(NewImg1.copy(0,0,W,H))); else return new QBrush(NewImg1);
- } else return new QBrush(Qt::NoBrush);
-}
-
-//====================================================================================================================
-// Return height for width depending on Rect geometry
-int cBrushDefinition::GetHeightForWidth(int WantedWith,QRectF Rect) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::GetHeightForWidth");
-
- double Ratio=Rect.width()/Rect.height();
- return int(double(double(WantedWith)/Ratio));
-}
-
-//====================================================================================================================
-// Return width for height depending on Rect geometry
-int cBrushDefinition::GetWidthForHeight(int WantedHeight,QRectF Rect) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::GetWidthForHeight");
-
- double Ratio=Rect.height()/Rect.width();
- return int(double(double(WantedHeight)/Ratio));
-}
-
-//====================================================================================================================
-
-QString cBrushDefinition::GetFramingStyle() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::GetFramingStyle");
-
- return QString("###X:%1").arg(X,0,'e')+
- QString("###Y:%1").arg(Y,0,'e')+
- QString("###ZoomFactor:%1").arg(ZoomFactor,0,'e')+
- QString("###LockGeometry:%1").arg(LockGeometry?1:0)+
- QString("###AspectRatio:%1").arg(AspectRatio,0,'e');
-}
-
-//====================================================================================================================
-// create a COMPOSITIONTYPE_SHOT brush as a copy of a given brush
-
-void cBrushDefinition::CopyFromBrushDefinition(cBrushDefinition *BrushToCopy) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::CopyFromBrushDefinition");
-
- TypeComposition =COMPOSITIONTYPE_SHOT;
- BrushType =BrushToCopy->BrushType;
- PatternType =BrushToCopy->PatternType;
- GradientOrientation =BrushToCopy->GradientOrientation;
- ColorD =BrushToCopy->ColorD;
- ColorF =BrushToCopy->ColorF;
- ColorIntermed =BrushToCopy->ColorIntermed;
- Intermediate =BrushToCopy->Intermediate;
- BrushImage =BrushToCopy->BrushImage;
- Image =BrushToCopy->Image;
- Video =BrushToCopy->Video;
- SoundVolume =BrushToCopy->SoundVolume;
- DefaultFramingW =BrushToCopy->DefaultFramingW;
- DefaultFramingH =BrushToCopy->DefaultFramingH;
- DefaultFramingF =BrushToCopy->DefaultFramingF;
-
- // Image correction part
- ImageRotation =BrushToCopy->ImageRotation;
- X =BrushToCopy->X;
- Y =BrushToCopy->Y;
- ZoomFactor =BrushToCopy->ZoomFactor;
- Brightness =BrushToCopy->Brightness;
- Contrast =BrushToCopy->Contrast;
- Gamma =BrushToCopy->Gamma;
- Red =BrushToCopy->Red;
- Green =BrushToCopy->Green;
- Blue =BrushToCopy->Blue;
- LockGeometry =BrushToCopy->LockGeometry;
- FullFilling =BrushToCopy->FullFilling;
- AspectRatio =BrushToCopy->AspectRatio;
-}
-
-//====================================================================================================================
-
-void cBrushDefinition::SaveToXML(QDomElement &domDocument,QString ElementName,QString PathForRelativPath,bool ForceAbsolutPath) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::SaveToXML");
-
- QDomDocument DomDocument;
- QDomElement Element=DomDocument.createElement(ElementName);
- QString BrushFileName=(Image?Image->FileName:Video?Video->FileName:"");
-
- if ((PathForRelativPath!="")&&((Image?Image->FileName:Video?Video->FileName:"")!="")) {
- if (ForceAbsolutPath)
- BrushFileName=QDir::cleanPath(QDir(QFileInfo(PathForRelativPath).absolutePath()).absoluteFilePath(BrushFileName));
- else
- BrushFileName=QDir::cleanPath(QDir(QFileInfo(PathForRelativPath).absolutePath()).relativeFilePath(BrushFileName));
- }
- // Attribut of the object
- Element.setAttribute("TypeComposition",TypeComposition);
- Element.setAttribute("BrushType",BrushType); // 0=No brush !, 1=Solid one color, 2=Pattern, 3=Gradient 2 colors, 4=Gradient 3 colors
- switch (BrushType) {
- case BRUSHTYPE_PATTERN :
- Element.setAttribute("PatternType",PatternType); // Type of pattern when BrushType is Pattern (Qt::BrushStyle standard)
- Element.setAttribute("ColorD",ColorD); // First Color
- break;
- case BRUSHTYPE_GRADIENT3 :
- Element.setAttribute("ColorIntermed",ColorIntermed); // Intermediate Color
- Element.setAttribute("Intermediate",Intermediate); // Intermediate position of 2nd color (in %)
- case BRUSHTYPE_GRADIENT2 :
- Element.setAttribute("ColorF",ColorF); // Last Color
- Element.setAttribute("GradientOrientation",GradientOrientation); // 0=Radial, 1=Up-Left, 2=Up, 3=Up-right, 4=Right, 5=bt-right, 6=bottom, 7=bt-Left, 8=Left
- case BRUSHTYPE_SOLID :
- Element.setAttribute("ColorD",ColorD); // First Color
- break;
- case BRUSHTYPE_IMAGELIBRARY :
- Element.setAttribute("BrushImage",BrushImage); // Image name if image from library
- break;
- case BRUSHTYPE_IMAGEDISK :
- if (Video!=NULL) {
- if (TypeComposition!=COMPOSITIONTYPE_SHOT) { // Global definition only !
- Element.setAttribute("BrushFileName",BrushFileName); // File name if image from disk
- Element.setAttribute("StartPos",Video->StartPos.toString("HH:mm:ss.zzz")); // Start position (video only)
- Element.setAttribute("EndPos",Video->EndPos.toString("HH:mm:ss.zzz")); // End position (video only)
- Video->BrushFileTransform.SaveToXML(Element,"ImageTransformation"); // Image transformation
- } else Element.setAttribute("SoundVolume",QString("%1").arg(SoundVolume,0,'f')); // Volume of soundtrack (for video only)
- } else if (Image!=NULL) {
- if (TypeComposition!=COMPOSITIONTYPE_SHOT) { // Global definition only !
- Element.setAttribute("BrushFileName",BrushFileName); // File name if image from disk
- Image->BrushFileTransform.SaveToXML(Element,"ImageTransformation"); // Image transformation
- Element.setAttribute("ImageOrientation",Image->ImageOrientation);
- }
- }
- break;
- }
-
- // Image correction part
- QDomElement CorrectElement=DomDocument.createElement("ImageCorrection");
- CorrectElement.setAttribute("X", X); // X position (in %) relative to up/left corner
- CorrectElement.setAttribute("Y", Y); // Y position (in %) relative to up/left corner
- CorrectElement.setAttribute("ZoomFactor", ZoomFactor); // Zoom factor (in %)
- CorrectElement.setAttribute("ImageRotation", ImageRotation); // Image rotation (in °)
- CorrectElement.setAttribute("Brightness", Brightness);
- CorrectElement.setAttribute("Contrast", Contrast);
- CorrectElement.setAttribute("Gamma", Gamma);
- CorrectElement.setAttribute("Red", Red);
- CorrectElement.setAttribute("Green", Green);
- CorrectElement.setAttribute("Blue", Blue);
- CorrectElement.setAttribute("LockGeometry", LockGeometry?1:0);
- CorrectElement.setAttribute("AspectRatio", AspectRatio);
- CorrectElement.setAttribute("FullFilling", FullFilling?1:0);
- Element.appendChild(CorrectElement);
-
- domDocument.appendChild(Element);
-}
-
-//====================================================================================================================
-
-bool cBrushDefinition::LoadFromXML(QDomElement domDocument,QString ElementName,QString PathForRelativPath,QStringList *AliasList,bool *ModifyFlag) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cBrushDefinition::LoadFromXML");
-
- if (ModifyFlag) *ModifyFlag=false;
- if ((domDocument.elementsByTagName(ElementName).length()>0)&&(domDocument.elementsByTagName(ElementName).item(0).isElement()==true)) {
- QDomElement Element=domDocument.elementsByTagName(ElementName).item(0).toElement();
-
- // Attribut of the object
- TypeComposition =Element.attribute("TypeComposition").toInt();
- BrushType =Element.attribute("BrushType").toInt(); // 0=No brush !, 1=Solid one color, 2=Pattern, 3=Gradient 2 colors, 4=Gradient 3 colors
- switch (BrushType) {
- case BRUSHTYPE_PATTERN :
- PatternType =Element.attribute("PatternType").toInt(); // Type of pattern when BrushType is Pattern (Qt::BrushStyle standard)
- ColorD =Element.attribute("ColorD"); // First Color
- break;
- case BRUSHTYPE_GRADIENT3 :
- ColorIntermed =Element.attribute("ColorIntermed"); // Intermediate Color
- Intermediate =Element.attribute("Intermediate").toDouble(); // Intermediate position of 2nd color (in %)
- case BRUSHTYPE_GRADIENT2 :
- ColorF =Element.attribute("ColorF"); // Last Color
- GradientOrientation =Element.attribute("GradientOrientation").toInt(); // 0=Radial, 1=Up-Left, 2=Up, 3=Up-right, 4=Right, 5=bt-right, 6=bottom, 7=bt-Left, 8=Left
- case BRUSHTYPE_SOLID :
- ColorD=Element.attribute("ColorD"); // First Color
- break;
- case BRUSHTYPE_IMAGELIBRARY :
- BrushImage=Element.attribute("BrushImage"); // Image name if image from library
- break;
- case BRUSHTYPE_IMAGEDISK :
- if (TypeComposition!=COMPOSITIONTYPE_SHOT) {
- QString BrushFileName=Element.attribute("BrushFileName"); // File name if image from disk
- if ((PathForRelativPath!="")&&(BrushFileName!=""))
- BrushFileName=QDir::cleanPath(QDir(PathForRelativPath).absoluteFilePath(BrushFileName));
-
- bool IsValide=false;
- QString Extension=QFileInfo(BrushFileName).suffix().toLower();
- for (int i=0;i<ApplicationConfig->AllowImageExtension.count();i++) if (ApplicationConfig->AllowImageExtension[i]==Extension) {
- Image=new cImageFile(ApplicationConfig);
- Image->ImageOrientation=Element.attribute("ImageOrientation").toInt();
- IsValide=Image->GetInformationFromFile(BrushFileName,AliasList,ModifyFlag);
- if (!IsValide) {
- delete Image;
- Image=NULL;
- }
- break;
- }
- if (Image==NULL) for (int i=0;i<ApplicationConfig->AllowVideoExtension.count();i++) if (ApplicationConfig->AllowVideoExtension[i]==Extension) {
- Video=new cVideoFile(OBJECTTYPE_VIDEOFILE,ApplicationConfig);
- IsValide=Video->GetInformationFromFile(BrushFileName,AliasList,ModifyFlag);
- if (!IsValide) {
- delete Video;
- Video=NULL;
- }
- if (Video!=NULL) Video->OpenCodecAndFile();
- break;
- }
- }
- if (Video!=NULL) {
- if (TypeComposition!=COMPOSITIONTYPE_SHOT) { // Global definition only !
- Video->StartPos =QTime().fromString(Element.attribute("StartPos")); // Start position (video only)
- Video->EndPos =QTime().fromString(Element.attribute("EndPos")); // End position (video only)
- Video->BrushFileTransform.LoadFromXML(Element,"ImageTransformation"); // Image transformation
- } else SoundVolume=Element.attribute("SoundVolume").toDouble(); // Volume of soundtrack (for video only)
- } else if (Image!=NULL) {
- if (TypeComposition!=COMPOSITIONTYPE_SHOT) { // Global definition only !
- Image->BrushFileTransform.LoadFromXML(Element,"ImageTransformation"); // Image transformation
- }
- }
- break;
- }
-
- // Image correction part
- if ((Element.elementsByTagName("ImageCorrection").length()>0)&&(Element.elementsByTagName("ImageCorrection").item(0).isElement()==true)) {
- QDomElement CorrectElement=Element.elementsByTagName("ImageCorrection").item(0).toElement();
-
- if (CorrectElement.hasAttribute("X")) X =CorrectElement.attribute("X").toDouble(); // X position (in %) relative to up/left corner
- if (CorrectElement.hasAttribute("Y")) Y =CorrectElement.attribute("Y").toDouble(); // Y position (in %) relative to up/left corner
- if (CorrectElement.hasAttribute("ZoomFactor")) ZoomFactor =CorrectElement.attribute("ZoomFactor").toDouble(); // Zoom factor (in %)
- if (CorrectElement.hasAttribute("ImageRotation")) ImageRotation =CorrectElement.attribute("ImageRotation").toDouble(); // Image rotation (in °)
- if (CorrectElement.hasAttribute("Brightness")) Brightness =CorrectElement.attribute("Brightness").toInt();
- if (CorrectElement.hasAttribute("Contrast")) Contrast =CorrectElement.attribute("Contrast").toInt();
- if (CorrectElement.hasAttribute("Gamma")) Gamma =CorrectElement.attribute("Gamma").toDouble();
- if (CorrectElement.hasAttribute("Red")) Red =CorrectElement.attribute("Red").toInt();
- if (CorrectElement.hasAttribute("Green")) Green =CorrectElement.attribute("Green").toInt();
- if (CorrectElement.hasAttribute("Blue")) Blue =CorrectElement.attribute("Blue").toInt();
- if (CorrectElement.hasAttribute("AspectRatio")) AspectRatio =CorrectElement.attribute("AspectRatio").toDouble();
- if (CorrectElement.hasAttribute("FullFilling")) FullFilling =CorrectElement.attribute("FullFilling").toInt()==1;
-
- // If old ImageGeometry value in project file then compute LockGeometry
- if (CorrectElement.hasAttribute("ImageGeometry")) LockGeometry=(CorrectElement.attribute("ImageGeometry").toInt()!=2);
- else if (CorrectElement.hasAttribute("LockGeometry")) LockGeometry=(CorrectElement.attribute("LockGeometry").toInt()==1); // Else load saved value
-
- }
-
- return (BrushType==BRUSHTYPE_IMAGEDISK)?(Image!=NULL)||(Video!=NULL):true;
- }
- return false;
-}
diff --git a/src/sharedfiles/cCustomIcon.cpp b/src/sharedfiles/cCustomIcon.cpp
deleted file mode 100755
index d6b1697..0000000
--- a/src/sharedfiles/cCustomIcon.cpp
+++ /dev/null
@@ -1,352 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#include "cCustomIcon.h"
-
-//*****************************************************************************************************************************************
-
-#ifdef Q_OS_WIN
- #include <QPixmapCache>
- #include <windows.h>
- #include <QSettings>
- #ifndef SHGFI_ADDOVERLAYS
- #define SHGFI_ADDOVERLAYS 0x000000020
- #endif
-
- // qt_fromWinHBITMAP From Qmmander Filemanager / Copyright (C) Alex Skoruppa 2009 (See:http://qmmander.googlecode.com/svn-history/r93/trunk/winfileinfo.cpp)
- QImage qt_fromWinHBITMAP(HDC hdc, HBITMAP bitmap, int w, int h) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:qt_fromWinHBITMAP");
-
- BITMAPINFO bmi;
- memset(&bmi, 0, sizeof(bmi));
- bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
- bmi.bmiHeader.biWidth = w;
- bmi.bmiHeader.biHeight = -h;
- bmi.bmiHeader.biPlanes = 1;
- bmi.bmiHeader.biBitCount = 32;
- bmi.bmiHeader.biCompression = BI_RGB;
- bmi.bmiHeader.biSizeImage = w * h * 4;
-
- QImage image(w, h, QImage::Format_ARGB32_Premultiplied);
- if (image.isNull())
- return image;
-
- // Get bitmap bits
- uchar *data = (uchar *) qMalloc(bmi.bmiHeader.biSizeImage);
-
- if (GetDIBits(hdc, bitmap, 0, h, data, &bmi, DIB_RGB_COLORS)) {
- // Create image and copy data into image.
- for (int y=0; y<h; ++y) {
- void *dest = (void *) image.scanLine(y);
- void *src = data + y * image.bytesPerLine();
- memcpy(dest, src, image.bytesPerLine());
- }
- } else {
- ToLog(LOGMSG_CRITICAL,"qt_fromWinHBITMAP(), failed to get bitmap bits");
- }
- qFree(data);
-
- return image;
- }
-
- //====================================================================================================================
- // convertHIconToPixmap From Qmmander Filemanager / Copyright (C) Alex Skoruppa 2009 (See:http://qmmander.googlecode.com/svn-history/r93/trunk/winfileinfo.cpp)
- QPixmap convertHIconToPixmap( const HICON icon) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:convertHIconToPixmap");
-
- bool foundAlpha = false;
- HDC screenDevice = GetDC(0);
- HDC hdc = CreateCompatibleDC(screenDevice);
- ReleaseDC(0, screenDevice);
-
- ICONINFO iconinfo;
- bool result = GetIconInfo(icon, &iconinfo); //x and y Hotspot describes the icon center
- if (!result)
- ToLog(LOGMSG_CRITICAL,"convertHIconToPixmap(), failed to GetIconInfo()");
-
- int w = iconinfo.xHotspot * 2;
- int h = iconinfo.yHotspot * 2;
-
- BITMAPINFOHEADER bitmapInfo;
- bitmapInfo.biSize = sizeof(BITMAPINFOHEADER);
- bitmapInfo.biWidth = w;
- bitmapInfo.biHeight = h;
- bitmapInfo.biPlanes = 1;
- bitmapInfo.biBitCount = 32;
- bitmapInfo.biCompression = BI_RGB;
- bitmapInfo.biSizeImage = 0;
- bitmapInfo.biXPelsPerMeter = 0;
- bitmapInfo.biYPelsPerMeter = 0;
- bitmapInfo.biClrUsed = 0;
- bitmapInfo.biClrImportant = 0;
- DWORD* bits;
-
- HBITMAP winBitmap = CreateDIBSection(hdc, (BITMAPINFO*)&bitmapInfo, DIB_RGB_COLORS, (VOID**)&bits, NULL, 0);
- HGDIOBJ oldhdc = (HBITMAP)SelectObject(hdc, winBitmap);
- DrawIconEx( hdc, 0, 0, icon, iconinfo.xHotspot * 2, iconinfo.yHotspot * 2, 0, 0, DI_NORMAL);
- QImage image = qt_fromWinHBITMAP(hdc, winBitmap, w, h);
-
- for (int y = 0 ; y < h && !foundAlpha ; y++) {
- QRgb *scanLine= reinterpret_cast<QRgb *>(image.scanLine(y));
- for (int x = 0; x < w ; x++) {
- if (qAlpha(scanLine[x]) != 0) {
- foundAlpha = true;
- break;
- }
- }
- }
- if (!foundAlpha) {
- //If no alpha was found, we use the mask to set alpha values
- DrawIconEx( hdc, 0, 0, icon, w, h, 0, 0, DI_MASK);
- QImage mask = qt_fromWinHBITMAP(hdc, winBitmap, w, h);
-
- for (int y = 0 ; y < h ; y++){
- QRgb *scanlineImage = reinterpret_cast<QRgb *>(image.scanLine(y));
- QRgb *scanlineMask = mask.isNull() ? 0 : reinterpret_cast<QRgb *>(mask.scanLine(y));
- for (int x = 0; x < w ; x++){
- if (scanlineMask && qRed(scanlineMask[x]) != 0)
- scanlineImage[x] = 0; //mask out this pixel
- else
- scanlineImage[x] |= 0xff000000; // set the alpha channel to 255
- }
- }
- }
- //dispose resources created by iconinfo call
- DeleteObject(iconinfo.hbmMask);
- DeleteObject(iconinfo.hbmColor);
-
- SelectObject(hdc, oldhdc); //restore state
- DeleteObject(winBitmap);
- DeleteDC(hdc);
- return QPixmap::fromImage(image);
- }
-
- //====================================================================================================================
- // GetIconForFileOrDir adapted by domledom From Qmmander Filemanager / Copyright (C) Alex Skoruppa 2009 (See:http://qmmander.googlecode.com/svn-history/r93/trunk/winfileinfo.cpp)
- QIcon GetIconForFileOrDir(QString FileName,int IconIndex) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:GetIconForFileOrDir");
-
- QIcon RetIcon;
- WCHAR WinFileName[256+1];
-
- MultiByteToWideChar(CP_ACP,0,FileName.toLocal8Bit(),-1,WinFileName,256+1);
-
- if (IconIndex!=0) {
- HICON Icon;
- if (ExtractIconEx(WinFileName,IconIndex,&Icon,NULL,1)>0) {
- RetIcon=convertHIconToPixmap(Icon);
- DeleteObject(Icon);
- return RetIcon;
- } else if (ExtractIconEx(WinFileName,IconIndex,NULL,&Icon,1)>0) {
- RetIcon=convertHIconToPixmap(Icon);
- DeleteObject(Icon);
- return RetIcon;
- }
- }
-
- SHFILEINFO info;
- QString key;
- QPixmap pixmap;
- QString fileExtension=QFileInfo(FileName).suffix().toUpper();
- fileExtension.prepend(QLatin1String("."));
-
- if (QFileInfo(FileName).isFile() && !QFileInfo(FileName).isExecutable() && !QFileInfo(FileName).isSymLink()) key=QLatin1String("qt_")+fileExtension;
- if (!key.isEmpty()) QPixmapCache::find(key, pixmap);
-
- if (!pixmap.isNull()) {
- RetIcon.addPixmap(pixmap);
- if (QPixmapCache::find(key+QLatin1Char('l'),pixmap)) RetIcon.addPixmap(pixmap);
- return RetIcon;
- }
-
- //Get the small icon
- if (SHGetFileInfo(WinFileName,0,&info,sizeof(SHFILEINFO),SHGFI_ICON|SHGFI_SMALLICON|SHGFI_SYSICONINDEX|SHGFI_ADDOVERLAYS)) {
- if (QFileInfo(FileName).isDir() && !QDir(FileName).isRoot()) {
- //using the unique icon index provided by windows save us from duplicate keys
- key = QString::fromLatin1("qt_dir_%1").arg(info.iIcon);
- QPixmapCache::find(key,pixmap);
- if (!pixmap.isNull()) {
- RetIcon.addPixmap(pixmap);
- if (QPixmapCache::find(key + QLatin1Char('l'), pixmap)) RetIcon.addPixmap(pixmap);
- DestroyIcon(info.hIcon);
- return RetIcon;
- }
- }
- if (pixmap.isNull()) {
- pixmap = convertHIconToPixmap(info.hIcon);
- if (!pixmap.isNull()) {
- RetIcon.addPixmap(pixmap);
- if (!key.isEmpty()) QPixmapCache::insert(key,pixmap);
- } else {
- ToLog(LOGMSG_WARNING,"QCustomFolderTree::getWinIcon() no small icon found");
- }
- }
- DestroyIcon(info.hIcon);
- }
- //Get the big icon
- if (SHGetFileInfo(WinFileName,0,&info,sizeof(SHFILEINFO),SHGFI_ICON|SHGFI_LARGEICON|SHGFI_SYSICONINDEX|SHGFI_ADDOVERLAYS)) {
- if (QFileInfo(FileName).isDir() && !QFileInfo(FileName).isRoot()) {
- //using the unique icon index provided by windows save us from duplicate keys
- key=QString::fromLatin1("qt_dir_%1").arg(info.iIcon);
- }
- pixmap=convertHIconToPixmap(info.hIcon);
- if (!pixmap.isNull()) {
- RetIcon.addPixmap(pixmap);
- if (!key.isEmpty()) QPixmapCache::insert(key+QLatin1Char('l'),pixmap);
- } else {
- ToLog(LOGMSG_WARNING,"QCustomFolderTree::getWinIcon() no large icon found");
- }
- DestroyIcon(info.hIcon);
- }
- if (RetIcon.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading icon nbr %1 From %2 Error").arg(IconIndex).arg(FileName));
- return RetIcon;
- }
-
-#endif
-
-//*****************************************************************************************************************************************
-
-cCustomIcon::cCustomIcon() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomIcon::cCustomIcon");
- IsIconNeeded=false;
-}
-
-void cCustomIcon::LoadIcons(QString FileName) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomIcon::LoadIcons as filename");
-
- IconBIG=QImage(FileName);
- if (IconBIG.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading %1 Error").arg(FileName)); else {
- if (IconBIG.width()>IconBIG.height()) {
- Icon16 =IconBIG.scaledToWidth(16,Qt::SmoothTransformation);
- Icon32 =IconBIG.scaledToWidth(32,Qt::SmoothTransformation);
- Icon48 =IconBIG.scaledToWidth(48,Qt::SmoothTransformation);
- Icon100=IconBIG.scaledToWidth(100,Qt::SmoothTransformation);
- } else {
- Icon16 =IconBIG.scaledToHeight(16,Qt::SmoothTransformation);
- Icon32 =IconBIG.scaledToHeight(32,Qt::SmoothTransformation);
- Icon48 =IconBIG.scaledToHeight(48,Qt::SmoothTransformation);
- Icon100=IconBIG.scaledToHeight(100,Qt::SmoothTransformation);
- }
- if (IconBIG.height()>ICONBIG_MAXHEIGHT) IconBIG=IconBIG.scaledToHeight(ICONBIG_MAXHEIGHT,Qt::SmoothTransformation);
- }
-}
-
-//====================================================================================================================
-
-void cCustomIcon::LoadIcons(cCustomIcon *CustomIcon) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomIcon::LoadIcons as CustomIcon");
-
- Icon16 =CustomIcon->Icon16.copy();
- Icon32 =CustomIcon->Icon32.copy();
- Icon48 =CustomIcon->Icon48.copy();
- Icon100=CustomIcon->Icon100.copy();
- IconBIG=CustomIcon->IconBIG.copy();
-}
-
-//====================================================================================================================
-
-void cCustomIcon::LoadIconsFromIMG(QString FileName) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomIcon::LoadIconsFromIMG");
-
- Icon16.load(":/img/MediaIcons/16x16/"+FileName); if (Icon16.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading img/MediaIcons/16x16/%1 Error").arg(FileName));
- Icon32.load(":/img/MediaIcons/32x32/"+FileName); if (Icon32.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading img/MediaIcons/32x32/%1 Error").arg(FileName));
- Icon48.load(":/img/MediaIcons/48x48/"+FileName); if (Icon48.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading img/MediaIcons/48x48/%1 Error").arg(FileName));
- Icon100.load(":/img/MediaIcons/100x100/"+FileName); if (Icon100.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading img/MediaIcons/100x100/%1 Error").arg(FileName));
- IconBIG.load(":/img/MediaIcons/200x200/"+FileName); if (IconBIG.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading img/MediaIcons/200x200/%1 Error").arg(FileName));
-}
-
-//====================================================================================================================
-
-void cCustomIcon::LoadIconsFromLinux(QString LinuxPath,QString FileName) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomIcon::LoadIconsFromLinux");
-
- Icon16.load(LinuxPath+"16x16/"+FileName); if (Icon16.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading %116x16/%2 Error").arg(LinuxPath).arg(FileName));
- Icon32.load(LinuxPath+"32x32/"+FileName); if (Icon32.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading %132x32/%2 Error").arg(LinuxPath).arg(FileName));
- Icon48.load(LinuxPath+"48x48/"+FileName); if (Icon48.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading %148x48/%2 Error").arg(LinuxPath).arg(FileName));
- Icon100=QImage(LinuxPath+"128x128/"+FileName); if (Icon100.isNull()) ToLog(LOGMSG_CRITICAL,QString("Loading %1128x128/%2 Error").arg(LinuxPath).arg(FileName));
- if (!Icon100.isNull()) IconBIG=Icon100.copy();
-
- if (!Icon100.isNull()) Icon100=Icon100.scaledToHeight(100,Qt::SmoothTransformation);
- if (!IconBIG.isNull()) IconBIG=IconBIG.scaledToHeight(200,Qt::SmoothTransformation);
-}
-
-//====================================================================================================================
-
-void cCustomIcon::LoadIcons(QImage *Image) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomIcon::LoadIcons as QImage");
-
- if (Image->width()>Image->height()) {
- Icon16 =Image->scaledToWidth(16,Qt::SmoothTransformation);
- Icon32 =Image->scaledToWidth(32,Qt::SmoothTransformation);
- Icon48 =Image->scaledToWidth(48,Qt::SmoothTransformation);
- Icon100=Image->scaledToWidth(100,Qt::SmoothTransformation);
- } else {
- Icon16 =Image->scaledToHeight(16,Qt::SmoothTransformation);
- Icon32 =Image->scaledToHeight(32,Qt::SmoothTransformation);
- Icon48 =Image->scaledToHeight(48,Qt::SmoothTransformation);
- Icon100=Image->scaledToHeight(100,Qt::SmoothTransformation);
- }
- if (Image->height()<=ICONBIG_MAXHEIGHT) IconBIG=Image->copy();
- else IconBIG=Image->scaledToHeight(ICONBIG_MAXHEIGHT);
-}
-
-//====================================================================================================================
-
-void cCustomIcon::LoadIcons(QIcon Icon) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomIcon::LoadIcons as QIcon");
-
- Icon16 =Icon.pixmap(16,16).toImage();
- Icon32 =Icon.pixmap(32,32).toImage();
- Icon48 =Icon.pixmap(48,48).toImage();
- Icon100=Icon.pixmap(100,100).toImage();
- if ((Icon100.height()<100)&&(Icon100.width()<100)) {
- if (Icon100.height()>Icon100.width()) Icon100=Icon100.scaledToHeight(100,Qt::SmoothTransformation);
- else Icon100=Icon100.scaledToWidth(100,Qt::SmoothTransformation);
- }
- IconBIG=Icon.pixmap(ICONBIG_MAXHEIGHT,ICONBIG_MAXHEIGHT).toImage();
-}
-
-//====================================================================================================================
-
-QIcon cCustomIcon::GetIcon() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomIcon::GetIcon");
-
- QIcon Ret=QIcon(QPixmap().fromImage(Icon16));
- Ret.addPixmap(QPixmap().fromImage(Icon32));
- Ret.addPixmap(QPixmap().fromImage(Icon48));
- Ret.addPixmap(QPixmap().fromImage(Icon100));
- Ret.addPixmap(QPixmap().fromImage(IconBIG));
- return Ret;
-}
-
-//====================================================================================================================
-
-QImage *cCustomIcon::GetIcon(IconSize Size) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cCustomIcon::GetIcon");
-
- switch (Size) {
- case ICON16: return &Icon16;
- case ICON32: return &Icon32;
- case ICON48: return &Icon48;
- case ICON100: return &Icon100;
- case ICONBIG: return &IconBIG;
- default: return &Icon16;
- }
-}
diff --git a/src/sharedfiles/cCustomIcon.h b/src/sharedfiles/cCustomIcon.h
deleted file mode 100755
index 1f6a8ee..0000000
--- a/src/sharedfiles/cCustomIcon.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef CCUSTOMICON_H
-#define CCUSTOMICON_H
-
-// Basic inclusions (common to all files)
-#include "_GlobalDefines.h"
-#include <QString>
-#include <QImage>
-#include <QIcon>
-
-#define ICONBIG_MAXHEIGHT 200
-
-class cCustomIcon {
-public:
- bool IsIconNeeded; // If true, create thumbnails on open
- QImage Icon16,Icon32,Icon48,Icon100,IconBIG; // Icons
- enum IconSize {ICON16,ICON32,ICON48,ICON100,ICONBIG};
-
- cCustomIcon();
-
- virtual void LoadIcons(cCustomIcon *CustomIcon);
- virtual void LoadIcons(QString FileName);
- virtual void LoadIcons(QImage *Image);
- virtual void LoadIcons(QIcon Icon);
- virtual void LoadIconsFromIMG(QString FileName);
- virtual void LoadIconsFromLinux(QString LinuxPath,QString FileName);
- virtual QImage *GetIcon(IconSize Size);
- virtual QIcon GetIcon();
-};
-
-#ifdef Q_OS_WIN
- QImage qt_fromWinHBITMAP(HDC hdc, HBITMAP bitmap, int w, int h);
- QPixmap convertHIconToPixmap( const HICON icon);
- QIcon GetIconForFileOrDir(QString FileName,int IconIndex);
-#endif
-
-#endif // CCUSTOMICON_H
diff --git a/src/sharedfiles/cDeviceModelDef.cpp b/src/sharedfiles/cDeviceModelDef.cpp
deleted file mode 100755
index 74a3fc0..0000000
--- a/src/sharedfiles/cDeviceModelDef.cpp
+++ /dev/null
@@ -1,629 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-// Include some common various class
-#include "cDeviceModelDef.h"
-
-/****************************************************************************
- Definition of image format supported by the application
-****************************************************************************/
-
-sIMAGEDEF DefImageFormat [2][3][NBR_SIZEDEF] = {
- { // STANDARD_PAL
- { // GEOMETRY_4_3
- {320,240,4,3,25,"25","QVGA - 320x240 - 25 FPS",0}, // SIZE_QVGA
- {426,320,4,3,25,"25","HVGA - 426x320 - 25 FPS",0}, // SIZE_HVGA
- {640,480,4,3,25,"25","VGA - 640x480 - 25 FPS",0}, // SIZE_VGA
- {720,576,16,15,25,"25","SD/DVD - 720x576 - 25 FPS",0}, // SIZE_DVD
- {640,480,4,3,25,"25","WVGA - 640x480 - 25 FPS",0}, // SIZE_WVGA
- {1024,768,4,3,25,"25","XGA - 1024x768 - 25 FPS",0}, // SIZE_XGA
- {960,720,4,3,25,"25","720p - 960x720 - 25 FPS",0}, // SIZE_720P
- {1440,1080,4,3,25,"25","1080p - 1440x1080 - 25 FPS",0}, // SIZE_1080p
- {240,180,4,3,24,"24","RIM 240 - 240x180 - 24 FPS",0} // SIZE_RIM240
- },{ // GEOMETRY_16_9
- {320,180,16,9,25,"25","QVGA - 320x180 - 25 FPS",0}, // SIZE_QVGA
- {480,270,16,9,25,"25","HVGA - 480x270 - 25 FPS",0}, // SIZE_HVGA
- {640,360,16,9,25,"25","VGA - 640x360 - 25 FPS",0}, // SIZE_VGA
- {720,576,64,45,25,"25","SD/DVD - 720x576 WIDE - 25 FPS",0}, // SIZE_DVD
- {800,450,16,9,25,"25","WVGA - 800x450 - 25 FPS",0}, // SIZE_WVGA
- {1024,576,16,9,25,"25","XGA - 1024x576 - 25 FPS",0}, // SIZE_XGA
- {1280,720,16,9,25,"25","720p - 1280x720 - 25 FPS",0}, // SIZE_720P
- {1920,1080,16,9,25,"25","1080p - 1920x1080 - 25 FPS",0}, // SIZE_1080p
- {240,135,16,9,24,"24","RIM 240 - 240x135 - 24 FPS",0} // SIZE_RIM240
- },{ // GEOMETRY_40_17
- {320,136,16,9,25,"25","QVGA - 320x136 - 25 FPS",0}, // SIZE_QVGA
- {480,204,40,17,25,"25","HVGA - 480x204 - 25 FPS",0}, // SIZE_HVGA
- {640,272,40,17,25,"25","VGA - 640x272 - 25 FPS",0}, // SIZE_VGA
- {720,436,64,45,25,"25","SD/DVD - 720x436 WIDE+PAD - 25 FPS",70}, // SIZE_DVD
- {800,340,40,17,25,"25","WVGA - 800x340 - 25 FPS",0}, // SIZE_WVGA
- {1024,436,40,17,25,"25","XGA - 1024x436 - 25 FPS",0}, // SIZE_XGA
- {1280,544,40,17,25,"25","720p - 1280x544 - 25 FPS",0}, // SIZE_720P
- {1920,816,40,17,25,"25","1080p - 1920x816 - 25 FPS",0}, // SIZE_1080p
- {240,135,16,9,24,"24","RIM 240 - 240x135+PAD - 24 FPS",16} // SIZE_RIM240
- }},{// STANDARD_NTSC
- { // GEOMETRY_4_3
- {320,240,4,3,double(30000)/double(1001),"30000/1001", "SMALL - 320x240 - 29.97 FPS",0}, // SIZE_QVGA
- {426,320,4,3,double(30000)/double(1001),"30000/1001", "HVGA - 426x320 - 29.97 FPS",0}, // SIZE_HVGA
- {640,480,4,3,double(30000)/double(1001),"30000/1001", "VGA - 640x480 - 29.97 FPS",0}, // SIZE_VGA
- {720,480,8,9,double(30000)/double(1001),"30000/1001", "SD/DVD - 720x480 - 29.97 FPS",0}, // SIZE_DVD
- {640,480,4,3,double(30000)/double(1001),"30000/1001", "WVGA - 640x480 - 29.97 FPS",0}, // SIZE_WVGA
- {1024,768,4,3,double(30000)/double(1001),"30000/1001", "XGA - 1024x768 - 29.97 FPS",0}, // SIZE_XGA
- {960,720,4,3,double(24000)/double(1001),"24000/1001", "720p - 960x720 - 23.976 FPS",0}, // SIZE_720P
- {1440,1080,4,3,double(24000)/double(1001),"24000/1001", "1080p - 1440x1080 - 23.976 FPS",0}, // SIZE_1080p
- {240,180,4,3,24,"24","RIM 240 - 240x180 - 24 FPS",0} // SIZE_RIM240
- },{ // GEOMETRY_16_9
- {320,180,16,9,double(30000)/double(1001),"30000/1001", "SMALL - 320x180 - 29.97 FPS",0}, // SIZE_QVGA
- {480,270,16,9,double(30000)/double(1001),"30000/1001", "HVGA - 480x270 - 29.97 FPS",0}, // SIZE_HVGA
- {640,360,16,9,double(30000)/double(1001),"30000/1001", "VGA - 640x272 - 29.97 FPS",0}, // SIZE_VGA
- {720,480,32,27,double(30000)/double(1001),"30000/1001", "SD/DVD - 720x480 WIDE - 29.97 FPS",0}, // SIZE_DVD
- {800,450,16,9,double(30000)/double(1001),"30000/1001", "WVGA - 800x450 - 29.97 FPS",0}, // SIZE_WVGA
- {1024,576,16,9,double(30000)/double(1001),"30000/1001", "XGA - 1024x576 - 29.97 FPS",0}, // SIZE_XGA
- {1280,720,16,9,double(24000)/double(1001),"24000/1001", "720p - 1280x720 - 23.976 FPS",0}, // SIZE_720P
- {1920,1080,16,9,double(24000)/double(1001),"24000/1001", "1080p - 1920x1080 - 23.976 FPS",0}, // SIZE_1080p
- {240,135,16,9,24,"24","RIM 240 - 240x135 - 24 FPS",0} // SIZE_RIM240
- },{ // GEOMETRY_40_17
- {320,136,40,17,double(30000)/double(1001),"30000/1001", "SMALL - 320x136 - 29.97 FPS",0}, // SIZE_QVGA
- {480,204,40,17,double(30000)/double(1001),"30000/1001", "HVGA - 480x204 - 29.97 FPS",0}, // SIZE_HVGA
- {640,272,40,17,double(30000)/double(1001),"30000/1001", "VGA - 640x272 - 29.97 FPS",0}, // SIZE_VGA
- {720,362,32,27,double(30000)/double(1001),"30000/1001", "SD/DVD - 720x362 WIDE+PAD - 29.97 FPS",59},// SIZE_DVD
- {800,340,40,17,double(30000)/double(1001),"30000/1001", "WVGA - 800x340 - 29.97 FPS",0}, // SIZE_WVGA
- {1024,436,40,17,double(30000)/double(1001),"30000/1001", "XGA - 1024x436 - 29.97 FPS",0}, // SIZE_XGA
- {1280,544,40,17,double(24000)/double(1001),"24000/1001", "720p - 1280x544 - 23.976 FPS",0}, // SIZE_720P
- {1920,816,40,17,double(24000)/double(1001),"24000/1001", "1080p - 1920x816 - 23.976 FPS",0}, // SIZE_1080p
- {240,135,16,9,24,"24","RIM 240 - 240x135+PAD - 24 FPS",16} // SIZE_RIM240
- }}
-};
-
-QString IMAGEDEFGENNAME[2][NBR_SIZEDEF]={
- { // PAL
- "QVGA (25 FPS-4:3=320x240-16:9=320x180-40:17=320x136)", // SIZE_QVGA
- "HVGA (25 FPS-4:3=426x320-16:9=480x270-40:17=480x204)", // SIZE_HVGA
- "VGA (25 FPS-4:3=640x480-16:9=460x360-40:17=640x272)", // SIZE_VGA
- "SD/DVD (25 FPS-4:3=720x576-16:9=720x576W-40:17=720x576WP)", // SIZE_DVD
- "WVGA (25 FPS-4:3=640x480-16:9=800x450-40:17=800x340)", // SIZE_WVGA
- "XGA (25 FPS-4:3=1024x768-16:9=1024x576-40:17=1024x436)", // SIZE_XGA
- "720p (25 FPS-4:3=960x720-16:9=1280x720-40:17=1280x544)", // SIZE_720P
- "1080p (25 FPS-4:3=1440x1080-16:9=1920x1080-40:17=1920x816)", // SIZE_1080p
- "RIM 240 (24 FPS-4:3=240x180-16:9=240x135-40:17=240x135P)" // SIZE_RIM240
- },{ // NTSC
- "QVGA (29.97 FPS-4:3=320x240-16:9=320x180-40:17=320x136)", // SIZE_QVGA
- "HVGA (29.97 FPS-4:3=426x320-16:9=480x270-40:17=480x204)", // SIZE_HVGA
- "VGA (29.97 FPS-4:3=640x480-16:9=460x360-40:17=640x272)", // SIZE_VGA
- "SD/DVD (29.97 FPS-4:3=720x480-16:9=720x480W-40:17=720x480WP)", // SIZE_DVD
- "WVGA (29.97 FPS-4:3=640x480-16:9=800x450-40:17=800x340)", // SIZE_WVGA
- "XGA (29.97 FPS-4:3=1024x768-16:9=1024x576-40:17=1024x436)", // SIZE_XGA
- "720p (23.976 FPS-4:3=960x720-16:9=1280x720-40:17=1280x544)", // SIZE_720P
- "1080p (23.976 FPS-4:3=1440x1080-16:9=1920x1080-40:17=1920x816)", // SIZE_1080p
- "RIM 240 (24 FPS-4:3=240x180-16:9=240x135-40:17=240x135P)" // SIZE_RIM240
- }
-};
-
-int ORDERIMAGENAME[NBR_SIZEDEF]={2,3,4,6,5,7,8,9,1};
-
-/****************************************************************************
- Definition of audio/video codec and file format supported by the application
-****************************************************************************/
-
-struct sVideoCodecDef VIDEOCODECDEF[NBR_VIDEOCODECDEF]={
- {
- false,CODEC_ID_MJPEG,VCODEC_MJPEG,VCODECST_MJPEG, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST
- "mjpeg","Motion JPEG", // ShortName[50], LongName[200]
- "", // PossibleBitrate
- {""} // DefaultBitrate[NBR_SIZEDEF]
- },{
- false,CODEC_ID_MPEG2VIDEO,VCODEC_MPEG,VCODECST_MPEG, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST
- "mpeg2video","MPEG-2 video", // ShortName[50], LongName[200]
- "2000k#3000k#4000k#6000k#8000k#10000k#12000k#15000k#20000k#400k", // PossibleBitrate
- { // DefaultBitrate[NBR_SIZEDEF]
- "1000k", // QVGA-320x240
- "2000k", // HVGA-480x320
- "3000k", // VGA-640x480
- "6000k", // DVD-720x576
- "6000k", // WVGA-800x480
- "10000k", // XGA-1024x768
- "12000k", // 720p
- "20000k", // 1080p
- "400k" // RIM 240
- }
- },{
- false,CODEC_ID_MPEG4,VCODEC_MPEG4,VCODECST_MPEG4, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST
- "libxvid","DivX/XVid/MPEG-4", // ShortName[50], LongName[200]
- "500k#1000k#1200k#1500k#2000k#2500k#3000k#4000k#5000k#6000k#8000k#400k#4500k", // PossibleBitrate
- { // DefaultBitrate[NBR_SIZEDEF]
- "500k", // QVGA-320x240
- "1000k", // HVGA-480x320
- "2000k", // VGA-640x480
- "3000k", // DVD-720x576
- "4000k", // WVGA-800x480
- "5000k", // XGA-1024x768
- "6000k", // 720p
- "8000k", // 1080p
- "400k" // RIM 240
- }
- },{
- false,CODEC_ID_H264,VCODEC_H264HQ,VCODECST_H264HQ, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST
- "libx264","High Quality H.264 AVC/MPEG-4 AVC", // ShortName[50], LongName[200]
- "500k#1000k#1200k#1500k#2000k#2500k#3000k#4000k#5000k#6000k#8000k#10000k#12000k#400k#3500k", // PossibleBitrate
- { // DefaultBitrate[NBR_SIZEDEF]
- "500k", // QVGA-320x240
- "1000k", // HVGA-480x320
- "1500k", // VGA-640x480
- "2500k", // DVD-720x576
- "3000k", // WVGA-800x480
- "4000k", // XGA-1024x768
- "5000k", // 720p
- "8000k", // 1080p
- "400k" // RIM 240
- }
- },{
- false,CODEC_ID_H264,VCODEC_H264PQ,VCODECST_H264PQ, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST
- "libx264","Phone Quality H.264 AVC/MPEG-4 AVC", // ShortName[50], LongName[200]
- "500k#1000k#1200k#1500k#2000k#2500k#3000k#4000k#5000k#6000k#8000k#10000k#400k#3500k", // PossibleBitrate
- { // DefaultBitrate[NBR_SIZEDEF]
- "500k", // QVGA-320x240
- "1200k", // HVGA-480x320
- "1500k", // VGA-640x480
- "2500k", // DVD-720x576
- "3000k", // WVGA-800x480
- "4000k", // XGA-1024x768
- "5000k", // 720p
- "8000k", // 1080p
- "400k" // RIM 240
- }
- },{
- false,CODEC_ID_VP8,VCODEC_VP8,VCODECST_VP8, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST
- "libvpx","WebM-VP8", // ShortName[50], LongName[200]
- "500k#1000k#1200k#1500k#2000k#2500k#3000k#4000k#5000k#6000k#8000k#400k#3500k", // PossibleBitrate
- { // DefaultBitrate[NBR_SIZEDEF]
- "500k", // QVGA-320x240
- "1000k", // HVGA-480x320
- "1500k", // VGA-640x480
- "2500k", // DVD-720x576
- "3000k", // WVGA-800x480
- "4000k", // XGA-1024x768
- "5000k", // 720p
- "8000k", // 1080p
- "400k" // RIM 240
- }
- },{
- false, 22,VCODEC_H263,VCODECST_H263, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST
- "flv","Flash Video / Sorenson H.263", // ShortName[50], LongName[200]
- "500k#1000k#1200k#1500k#2000k#2500k#3000k#4000k#5000k#6000k#8000k#400k#3500k", // PossibleBitrate
- { // DefaultBitrate[NBR_SIZEDEF]
- "500k", // QVGA-320x240
- "1000k", // HVGA-480x320
- "1500k", // VGA-640x480
- "2500k", // DVD-720x576
- "3000k", // WVGA-800x480
- "4000k", // XGA-1024x768
- "5000k", // 720p
- "8000k", // 1080p
- "400k" // RIM 240
- }
- },{
- false, CODEC_ID_THEORA,VCODEC_THEORA,VCODECST_THEORA, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST
- "libtheora","Theora VP3", // ShortName[50], LongName[200]
- "500k#1000k#1200k#1500k#2000k#2500k#3000k#4000k#5000k#6000k#8000k#400k#3500k", // PossibleBitrate
- // QVGA-320x240/HVGA-480x320/VGA-640x480/DVD-720x576/WVGA-800x480/XGA-1024x768/720p/1080p
- { // DefaultBitrate[NBR_SIZEDEF]
- "500k", // QVGA-320x240
- "1000k", // HVGA-480x320
- "1500k", // VGA-640x480
- "2500k", // DVD-720x576
- "3000k", // WVGA-800x480
- "4000k", // XGA-1024x768
- "5000k", // 720p
- "8000k", // 1080p
- "400k" // RIM 240
- }
- },{
- false,CODEC_ID_H264,VCODEC_X264LL,VCODECST_X264LL, // IsFind,Codec_id,FFD_VCODEC,FFD_VCODECST
- "libx264","x264 lossless", // ShortName[50], LongName[200]
- "", // PossibleBitrate
- {""} // DefaultBitrate[NBR_SIZEDEF]
- }
-};
-
-struct sAudioCodecDef AUDIOCODECDEF[NBR_AUDIOCODECDEF]={
- {false, CODEC_ID_PCM_S16LE,"pcm_s16le", "WAV (PCM signed 16-bit little-endian)","", false,"",""},
- {false, CODEC_ID_MP3, "libmp3lame", "MP3 (MPEG-1/2 Audio Layer III)", "8k#16k#24k#32k#40k#48k#56k#64k#80k#96k#112k#128k#144k#160k#192k#224k#256k#320k", false,"","160k"},
- {false, CODEC_ID_AAC, "libfaac", "AAC-LC (Advanced Audio Codec)", "64k#80k#96k#112k#128k#144k#160k#192k#224k#256k#320k#384k", true,"224k#256k#320k#384k#448k#500k#512k#576k#640k","160k"},
- {false, CODEC_ID_AC3, "ac3", "AC3 (Doly Digital)", "64k#80k#96k#112k#128k#144k#160k#192k#224k#256k#320k#384k", true,"224k#256k#320k#384k#448k#500k#512k#576k#640k","160k"},
- {false, CODEC_ID_VORBIS, "libvorbis", "OGG (Vorbis)", "64k#96k#128k#192k#256k#500k", false,"","128k"},
- {false, CODEC_ID_MP2, "mp2", "MP2 (MPEG-1 Audio Layer II)", "64k#96k#128k#192k#256k#500k", false,"","128k"},
- {false, CODEC_ID_AMR_NB, "libopencore_amrnb", "AMR (Adaptive Multi-Rate)", "4750#5150#5900#6700#7400#7950#10200#12200", false,"","6700"},
- {false, CODEC_ID_FLAC, "flac", "FLAC (Free Lossless Audio Codec)", "", false,"",""}
-};
-
-struct sFormatDef FORMATDEF[NBR_FORMATDEF]={
- {false, "3gp", "3gp", "3GP file format", "MPEG4#H264HQ#H264PQ", "libopencore_amrnb#amrnb"},
- {false, "avi", "avi", "AVI file format", "MJPEG#MPEG#MPEG4#H264HQ#H264PQ", "pcm_s16le#mp2#libmp3lame#mp3#libfaac#aac#ac3"},
- {false, "matroska", "mkv", "MKV Matroska file format", "MPEG4#H264HQ#H264PQ#THEORA#X264LL","pcm_s16le#libmp3lame#mp3#libfaac#aac#ac3#libvorbis#vorbis#flac"},
- {false, "mjpeg", "avi", "MJPEG video", "MJPEG", "pcm_s16le"},
- {false, "mp4", "mp4", "MP4 file format", "MPEG4#H264HQ#H264PQ", "libmp3lame#mp3#libfaac#aac"},
- {false, "mpeg", "mpg", "MPEG file format", "MPEG", "mp2#ac3"},
- {false, "webm", "webm", "WEBM file format", "VP8", "libvorbis#vorbis"},
- {false, "flv", "flv", "FLV Flash file format 2005", "H263", "libmp3lame#mp3"},
- {false, "flv", "flv", "FLV Flash file format 2008", "H264HQ#H264PQ", "libfaac#aac"},
- {false, "ogg", "ogv", "OGV Ogg/Theroa file format", "THEORA", "libvorbis#vorbis"}
-};
-// Note : depending on ffmpeg version :
-// => aac codec is libfaac or aac
-
-struct sFormatDef AUDIOFORMATDEF[NBR_AUDIOFORMATDEF]={
- {false, "flac", "flac", "FLAC (Free Lossless Audio Codec)", "", "flac"},
- {false, "mp4", "m4a", "M4A file format", "", "libfaac#aac"},
- {false, "mp3", "mp3", "MP3 (MPEG-1/2 Audio Layer III)", "", "libmp3lame#mp3"},
- {false, "ogg", "ogg", "OGG (Vorbis)", "", "libvorbis#vorbis"},
- {false, "wav", "wav", "WAV (PCM signed 16-bit little-endian)", "", "pcm_s16le"}
-};
-
-//====================================================================================================================
-// Device model class definition
-//====================================================================================================================
-
-cDeviceModelDef::cDeviceModelDef(bool IsGlobalConf,int IndexKey) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelDef::cDeviceModelDef");
-
- FromGlobalConf =IsGlobalConf; // true if device model is defined in global config file
- FromUserConf =!IsGlobalConf; // true if device model is defined in user config file
- IsFind =false; // true if device model format is supported by installed version of ffmpeg
- DeviceIndex =IndexKey; // Device number index key
- DeviceName =""; // long name for the device model
- DeviceType =0; // device type
- DeviceSubtype =0;
- FileFormat =0; // sFormatDef number
- VideoCodec =0; // sVideoCodecDef number
- AudioCodec =0; // sAudioCodecDef number
- AudioBitrate =0; // Bitrate number in sAudioCodecDef
- ImageSize =0; // DefImageFormat number
- VideoBitrate =0; // Bitrate number in sVideoCodecDef
- Standard =0;
-}
-
-cDeviceModelDef::~cDeviceModelDef() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelDef::~cDeviceModelDef");
-}
-
-//====================================================================================================================
-
-void cDeviceModelDef::SaveToXML(QDomElement &domDocument,QString ElementName) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelDef::SaveToXML");
-
- QDomDocument DomDocument;
- QDomElement Element=DomDocument.createElement(ElementName);
- Element.setAttribute("DeviceIndex",DeviceIndex);
- Element.setAttribute("DeviceName",DeviceName);
- Element.setAttribute("DeviceType",DeviceType);
- Element.setAttribute("DeviceSubtype",DeviceSubtype);
- Element.setAttribute("FileFormat",FileFormat);
- Element.setAttribute("VideoCodec",VideoCodec);
- Element.setAttribute("AudioCodec",AudioCodec);
- Element.setAttribute("AudioBitrate",AudioBitrate);
- Element.setAttribute("Standard",Standard);
- Element.setAttribute("ImageSize",ImageSize);
- Element.setAttribute("VideoBitrate",VideoBitrate);
- domDocument.appendChild(Element);
-}
-
-//====================================================================================================================
-
-bool cDeviceModelDef::LoadFromXML(QDomElement domDocument,QString ElementName,bool IsUserConfigFile) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelDef::LoadFromXML");
-
- if ((domDocument.elementsByTagName(ElementName).length()>0)&&(domDocument.elementsByTagName(ElementName).item(0).isElement()==true)) {
- QDomElement Element=domDocument.elementsByTagName(ElementName).item(0).toElement();
- if (IsUserConfigFile) FromUserConf=true;
- DeviceName =Element.attribute("DeviceName");
- DeviceType =Element.attribute("DeviceType").toInt();
- DeviceSubtype =Element.attribute("DeviceSubtype").toInt();
- FileFormat =Element.attribute("FileFormat").toInt();
- VideoCodec =Element.attribute("VideoCodec").toInt();
- AudioCodec =Element.attribute("AudioCodec").toInt();
- AudioBitrate =Element.attribute("AudioBitrate").toInt();
- Standard =Element.attribute("Standard").toInt();
- ImageSize =Element.attribute("ImageSize").toInt();
- VideoBitrate =Element.attribute("VideoBitrate").toInt();
-
- if (FromUserConf==false) {
- BckDeviceName =DeviceName; // long name for the device model
- BckDeviceType =DeviceType; // device type
- BckDeviceSubtype=DeviceSubtype; // device Subtype
- BckStandard =Standard; // standard : PAL/NTSC
- BckFileFormat =FileFormat; // sFormatDef number
- BckImageSize =ImageSize; // DefImageFormat number
- BckVideoCodec =VideoCodec; // sVideoCodecDef number
- BckVideoBitrate =VideoBitrate; // Bitrate number in sVideoCodecDef
- BckAudioCodec =AudioCodec; // sAudioCodecDef number
- BckAudioBitrate =AudioBitrate; // Bitrate number in sAudioCodecDef
- }
- return true;
- } else return false;
-}
-
-//====================================================================================================================
-// Device model list definition
-//====================================================================================================================
-
-cDeviceModelList::cDeviceModelList() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelList::cDeviceModelList");
-}
-
-//====================================================================================================================
-
-cDeviceModelList::~cDeviceModelList() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelList::~cDeviceModelList");
-
- while (!RenderDeviceModel.isEmpty()) delete RenderDeviceModel.takeLast();
-}
-
-//====================================================================================================================
-
-bool cDeviceModelList::LoadConfigurationFile(QString ConfigFileName,cBaseApplicationConfig::LoadConfigFileType TypeConfigFile) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelList::LoadConfigurationFile");
-
- // Compute FileName
- QString FileName=QFileInfo(ConfigFileName).absolutePath();
- if (!FileName.endsWith(QDir::separator())) FileName=FileName+QDir::separator();
- FileName=FileName+CONFIGFILENAME+"."+QFileInfo(ConfigFileName).suffix();
-
- ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Read configuration file")+" "+FileName);
-
- QFile file(FileName);
- QDomDocument domDocument;
- QDomElement root;
- QString errorStr;
- int errorLine,errorColumn;
- bool IsOk=true;
-
- if (!file.open(QFile::ReadOnly | QFile::Text)) {
- ToLog(LOGMSG_WARNING,QApplication::translate("MainWindow","Error reading configuration file","Error message")+" "+FileName);
- IsOk=false;
- }
-
- if (IsOk && (!domDocument.setContent(&file,true,&errorStr,&errorLine,&errorColumn))) {
- ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","Error reading content of configuration file","Error message")+" "+FileName);
- IsOk=false;
- }
-
- if (IsOk) {
- root = domDocument.documentElement();
- if (root.tagName()!=CONFIGROOTNAME) {
- ToLog(LOGMSG_CRITICAL,QApplication::translate("MainWindow","The file is not a valid configuration file","Error message")+" "+FileName);
- IsOk=false;
- }
- }
-
- if (LoadFromXML(root,TypeConfigFile)) {
- if (TypeConfigFile==cBaseApplicationConfig::USERCONFIGFILE) TranslatRenderType();
- return true;
- }
- return false;
-}
-
-//====================================================================================================================
-
-bool cDeviceModelList::SaveConfigurationFile(QString ConfigFileName) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelList::LoadConfigurationFile");
-
- // Compute FileName
- QString FileName=QFileInfo(ConfigFileName).absolutePath();
- if (!FileName.endsWith(QDir::separator())) FileName=FileName+QDir::separator();
- FileName=FileName+CONFIGFILENAME+"."+QFileInfo(ConfigFileName).suffix();
-
- // Save all option to the configuration file
- QFile file(FileName);
- QDomDocument domDocument(CONFIGDOCNAME);
- QDomElement root;
-
- // Ensure destination exist
- QFileInfo ConfPath(FileName);
- QDir ConfDir;
- ConfDir.mkdir(ConfPath.path());
-
- // Create xml document and root
- root=domDocument.createElement(CONFIGROOTNAME);
- domDocument.appendChild(root);
-
- // Save RenderDeviceModel collection
- int j=0;
- QDomElement Element=domDocument.createElement("RenderingDeviceModel");
- for (int i=0;i<RenderDeviceModel.count();i++) if (RenderDeviceModel[i]->FromUserConf) {
- RenderDeviceModel[i]->SaveToXML(Element,QString("Device_"+QString("%1").arg(j)));
- j++;
- }
- if (j>0) root.appendChild(Element);
-
- // Write file to disk
- if (!file.open(QFile::WriteOnly | QFile::Text)) {
- ToLog(LOGMSG_INFORMATION,QApplication::translate("MainWindow","Error creating configuration file","Error message")+" "+FileName);
- return false;
- }
- QTextStream out(&file);
- domDocument.save(out,4);
- file.close();
- return true;
-}
-
-//====================================================================================================================
-
-bool cDeviceModelList::LoadFromXML(QDomElement domDocument,cBaseApplicationConfig::LoadConfigFileType TypeConfigFile) {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelList::LoadFromXML");
-
- if ((domDocument.elementsByTagName("RenderingDeviceModel").length()>0)&&(domDocument.elementsByTagName("RenderingDeviceModel").item(0).isElement()==true)) {
- QDomElement Element=domDocument.elementsByTagName("RenderingDeviceModel").item(0).toElement();
- int i=0;
- while ((Element.elementsByTagName("Device_"+QString("%1").arg(i)).length()>0)&&(domDocument.elementsByTagName("Device_"+QString("%1").arg(i)).item(0).isElement()==true)) {
- if (TypeConfigFile==cBaseApplicationConfig::GLOBALCONFIGFILE) {
- // Reading from global config file : append device
- RenderDeviceModel.append(new cDeviceModelDef(TypeConfigFile==cBaseApplicationConfig::GLOBALCONFIGFILE,i));
- RenderDeviceModel[i]->LoadFromXML(Element,QString("Device_"+QString("%1").arg(i)),false);
- } else {
- // Reading from user config file : search if device already exist, then load it else append a new one
- QString ElementName=QString("Device_"+QString("%1").arg(i));
- if ((domDocument.elementsByTagName(ElementName).length()>0)&&(domDocument.elementsByTagName(ElementName).item(0).isElement()==true)) {
- QDomElement TheElement=domDocument.elementsByTagName(ElementName).item(0).toElement();
- int IndexKey=TheElement.attribute("DeviceIndex").toInt();
- int j=0;
- while ((j<RenderDeviceModel.count())&&(RenderDeviceModel[j]->DeviceIndex!=IndexKey)) j++;
- if (j<RenderDeviceModel.count()) RenderDeviceModel[IndexKey]->LoadFromXML(Element,QString("Device_"+QString("%1").arg(i)),true); else {
- j=RenderDeviceModel.count();
- RenderDeviceModel.append(new cDeviceModelDef(false,IndexKey));
- RenderDeviceModel[j]->LoadFromXML(Element,QString("Device_"+QString("%1").arg(i)),true);
- }
- }
- }
- i++;
- }
- }
- return true;
-}
-
-//====================================================================================================================
-
-void cDeviceModelList::TranslatRenderType() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelList::TranslatRenderType");
-
- TranslatedRenderType.append(QApplication::translate("cDeviceModelList","Advanced","Device database type")); // EXPORTMODE_ADVANCED
- TranslatedRenderType.append(QApplication::translate("cDeviceModelList","Smartphone","Device database type")); // MODE_SMARTPHONE
- TranslatedRenderType.append(QApplication::translate("cDeviceModelList","Multimedia system","Device database type")); // MODE_MULTIMEDIASYS
- TranslatedRenderType.append(QApplication::translate("cDeviceModelList","For the WEB","Device database type")); // MODE_FORTHEWEB
- TranslatedRenderType.append(QApplication::translate("cDeviceModelList","Lossless","Device database type")); // MODE_LOSSLESS
- TranslatedRenderSubtype[MODE_SMARTPHONE].append(QApplication::translate("cDeviceModelList","Smartphone","Device database type"));
- TranslatedRenderSubtype[MODE_SMARTPHONE].append(QApplication::translate("cDeviceModelList","Portable Player","Device database type"));
- TranslatedRenderSubtype[MODE_SMARTPHONE].append(QApplication::translate("cDeviceModelList","Netbook/NetPC","Device database type"));
- TranslatedRenderSubtype[MODE_SMARTPHONE].append(QApplication::translate("cDeviceModelList","Handheld game console","Device database type"));
- TranslatedRenderSubtype[MODE_SMARTPHONE].append(QApplication::translate("cDeviceModelList","Tablet computer","Device database type"));
- TranslatedRenderSubtype[MODE_MULTIMEDIASYS].append(QApplication::translate("cDeviceModelList","Multimedia hard drive and gateway","Device database type"));
- TranslatedRenderSubtype[MODE_MULTIMEDIASYS].append(QApplication::translate("cDeviceModelList","Player","Device database type"));
- TranslatedRenderSubtype[MODE_MULTIMEDIASYS].append(QApplication::translate("cDeviceModelList","ADSL Box","Device database type"));
- TranslatedRenderSubtype[MODE_MULTIMEDIASYS].append(QApplication::translate("cDeviceModelList","Game console","Device database type"));
- TranslatedRenderSubtype[MODE_FORTHEWEB].append(QApplication::translate("cDeviceModelList","SWF Flash Player","Device database type"));
- TranslatedRenderSubtype[MODE_FORTHEWEB].append(QApplication::translate("cDeviceModelList","Video-sharing and social WebSite","Device database type"));
- TranslatedRenderSubtype[MODE_FORTHEWEB].append(QApplication::translate("cDeviceModelList","HTML 5","Device database type"));
-}
-
-//====================================================================================================================
-
-void cDeviceModelList::Initffmpeg() {
- ToLog(LOGMSG_DEBUGTRACE,"IN:cDeviceModelList::Initffmpeg");
- ToLog(LOGMSG_INFORMATION,"Starting ffmpeg lib ...");
- #ifndef OLDFFMPEG
- avcodec_register_all();
- //avcodec_init();
- #endif
-
- av_register_all();
- #ifndef OLDFFMPEG
- avformat_network_init();
- #endif
-
- // Check codec to know if they was finded
- AVCodec *p=NULL;
- while ((p=av_codec_next(p))) {
- //if ((p->id==CODEC_ID_PCM_S16LE)||(p->encode!=NULL)) {
- if (p->type==AVMEDIA_TYPE_AUDIO) {
- for (int i=0;i<NBR_AUDIOCODECDEF;i++) if ((p->id==AUDIOCODECDEF[i].Codec_id)&&(!AUDIOCODECDEF[i].IsFind)) {
- AUDIOCODECDEF[i].IsFind=true;
- strcpy(AUDIOCODECDEF[i].ShortName,p->name);
- }
- if (QString(p->name)==QString("libfaac")) strcpy(AUDIOCODECDEF[2].ShortName,p->name);
- }
- if (p->type==AVMEDIA_TYPE_VIDEO) {
- for (int i=0;i<NBR_VIDEOCODECDEF;i++) if ((p->id==VIDEOCODECDEF[i].Codec_id)&&(!VIDEOCODECDEF[i].IsFind)) {
- VIDEOCODECDEF[i].IsFind=true;
- strcpy(VIDEOCODECDEF[i].ShortName,p->name);
- }
- }
- if (QString(p->name)==QString("libxvid")) strcpy(VIDEOCODECDEF[2].ShortName,p->name);
- //}
- }
-
- // Check format to know if they was finded
- AVOutputFormat *ofmt=NULL;
- while ((ofmt=av_oformat_next(ofmt))) {
- for (int i=0;i<NBR_FORMATDEF;i++) if (strcmp(ofmt->name,FORMATDEF[i].ShortName)==0) {
- QString AllowedCodec=FORMATDEF[i].PossibleVideoCodec;
- QString Codec="";
- int Index=0;
- bool IsFindVideoCodec=false;
- bool IsFindAudioCodec=false;
-
- while (AllowedCodec.length()>0) {
- Index=AllowedCodec.indexOf("#");
- if (Index>0) {
- Codec=AllowedCodec.left(Index);
- AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1);
- } else {
- Codec=AllowedCodec;
- AllowedCodec="";
- }
- // Now find index of this codec in the VIDEOCODECDEF
- Index=0;
- while ((Index<NBR_VIDEOCODECDEF)&&(Codec!=QString(VIDEOCODECDEF[Index].FFD_VCODECST))) Index++;
- if ((Index<NBR_VIDEOCODECDEF)&&(VIDEOCODECDEF[Index].IsFind)) IsFindVideoCodec=true;
- }
- AllowedCodec=FORMATDEF[i].PossibleAudioCodec;
- Codec="";
- Index=0;
- while (AllowedCodec.length()>0) {
- Index=AllowedCodec.indexOf("#");
- if (Index>0) {
- Codec=AllowedCodec.left(Index);
- AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1);
- } else {
- Codec=AllowedCodec;
- AllowedCodec="";
- }
- // Now find index of this codec in the AUDIOCODECDEF
- Index=0;
- while ((Index<NBR_AUDIOCODECDEF)&&(Codec!=QString(AUDIOCODECDEF[Index].ShortName))) Index++;
- if ((Index<NBR_AUDIOCODECDEF)&&(AUDIOCODECDEF[Index].IsFind)) IsFindAudioCodec=true;
- }
- FORMATDEF[i].IsFind=IsFindAudioCodec && IsFindVideoCodec;
- }
- }
-
- // Check audio format to know if they was finded
- ofmt=NULL;
- while ((ofmt=av_oformat_next(ofmt))) {
- for (int i=0;i<NBR_AUDIOFORMATDEF;i++) if (strcmp(ofmt->name,AUDIOFORMATDEF[i].ShortName)==0) {
- QString AllowedCodec=AUDIOFORMATDEF[i].PossibleAudioCodec;
- QString Codec="";
- int Index=0;
- bool IsFindAudioCodec=false;
- while (AllowedCodec.length()>0) {
- Index=AllowedCodec.indexOf("#");
- if (Index>0) {
- Codec=AllowedCodec.left(Index);
- AllowedCodec=AllowedCodec.right(AllowedCodec.length()-Index-1);
- } else {
- Codec=AllowedCodec;
- AllowedCodec="";
- }
- // Now find index of this codec in the AUDIOCODECDEF
- Index=0;
- while ((Index<NBR_AUDIOCODECDEF)&&(Codec!=QString(AUDIOCODECDEF[Index].ShortName))) Index++;
- if ((Index<NBR_AUDIOCODECDEF)&&(AUDIOCODECDEF[Index].IsFind)) IsFindAudioCodec=true;
- }
- AUDIOFORMATDEF[i].IsFind=IsFindAudioCodec;
- }
- }
-}
diff --git a/src/sharedfiles/cDeviceModelDef.h b/src/sharedfiles/cDeviceModelDef.h
deleted file mode 100755
index 9b591b9..0000000
--- a/src/sharedfiles/cDeviceModelDef.h
+++ /dev/null
@@ -1,300 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef CDEVICEMODELDEF_H
-#define CDEVICEMODELDEF_H
-
-// Basic inclusions (common to all files)
-#include "_GlobalDefines.h"
-
-// Include some additional standard class
-#include <QString>
-#include <QStringList>
-#include <QtXml/QDomDocument>
-#include <QtXml/QDomElement>
-
-// Include some common various class
-#include "cBaseApplicationConfig.h"
-
-//****************************************************************************************************************************************************************
-// FFMPEG inclusion
-//****************************************************************************************************************************************************************
-
-extern "C" {
- #ifndef INT64_C
- #define INT64_C(c) (c ## LL)
- #define UINT64_C(c) (c ## ULL)
- #endif
-
- #include <libavutil/common.h>
- #include <libavutil/mathematics.h>
- #include <libavutil/avutil.h>
- #include <libavutil/pixdesc.h>
- #include <libavcodec/avcodec.h>
- #include <libavformat/avformat.h>
- #include <libswscale/swscale.h>
-
- /* ********************************************************************************
- Create define depending on ffmpeg version to control code creation
- ********************************************************************************
- OLDFFMPEG => prior to 0.53.23
- - use <aac -strict experimental> instead of <libvo_aacenc> for aac audio codec
- - use <-b> instead of <-b:stream> for video bitrate
- - use <-alang> instead of <-metadata:s:1 language> for language of soundtrack
- - use <-map_metadata stream:> instead of <-map_metadata:g>
- - use <-timestamp now> for timestamp video file
-
- - use av_open_input_file instead of avformat_open_input
- - use av_close_input_file instead of avformat_close_input
- - use av_find_stream_info instead of avformat_find_stream_info
- - use av_new_stream instead of avformat_new_stream
- - use av_write_header instead of avformat_write_header
- - use AVMetadataTag and av_metadata_get instead of AVDictionaryEntry and av_dict_get
- - use avcodec_decode_audio3 instead of avcodec_decode_audio4
- - use avcodec_get_context_defaults2 instead of avcodec_get_context_defaults3
- - use avcodec_open instead of avcodec_open2
- - use url_fopen instead of avio_open
- - use url_fclose instead of avio_close
-
- FFMPEGALLOWBSF => between 0.53.23 and 0.53.28
- - add -bsf:1 aac_adtstoasc to libvo_aacenc video codec
-
- OLDFFMPEGPRESET => prior to 0.54
- - use ffDiaporama preset files instead of x264 standard preset files + ffDiaporama custom settings
-
- *************************************************************************************************************************** */
-
- #if (LIBAVFORMAT_VERSION_MAJOR<53)
- #define AV_SAMPLE_FMT_S16 SAMPLE_FMT_S16
- #define AV_SAMPLE_FMT_U8 SAMPLE_FMT_U8
- #define AV_SAMPLE_FMT_S32 SAMPLE_FMT_S32
- #define AV_SAMPLE_FMT_FLT SAMPLE_FMT_FLT
- #define AV_SAMPLE_FMT_DBL SAMPLE_FMT_DBL
- #ifndef AV_CH_STEREO_LEFT
- #define AV_CH_STEREO_LEFT CH_STEREO_LEFT
- #endif
- #ifndef AV_CH_STEREO_RIGHT
- #define AV_CH_STEREO_RIGHT CH_STEREO_RIGHT
- #endif
- #endif
-
- #if (LIBAVFORMAT_VERSION_MAJOR<53) || ((LIBAVFORMAT_VERSION_MAJOR==53)&&(LIBAVFORMAT_VERSION_MINOR<23))
- #define OLDFFMPEG
- #endif
-
- #if (LIBAVFORMAT_VERSION_MAJOR>53)||((LIBAVFORMAT_VERSION_MAJOR==53)&&(LIBAVFORMAT_VERSION_MINOR>28))
- #define FFMPEGALLOWBSF
- #endif
-
- #if (LIBAVFORMAT_VERSION_MAJOR<54)
- #define OLDFFMPEGPRESET
- #endif
-}
-
-#ifndef AVIO_FLAG_WRITE
- #define AVIO_FLAG_WRITE 2
-#endif
-#if (LIBAVFORMAT_VERSION_MAJOR>52)
- #define FFMPEGWITHTAG
-#endif
-
-//****************************************************************************************************************************************************************
-
-#define CONFIGFILENAME "Devices"
-#define CONFIGDOCNAME "DEVICES"
-#define CONFIGROOTNAME "Configuration"
-
-// Export mode definition
-#define EXPORTMODE_ADVANCED 0
-#define ICON_ADVANCED ":/img/render.png"
-#define MODE_SMARTPHONE 1
-#define ICON_SMARTPHONE ":/img/Smartphone.png"
-#define MODE_MULTIMEDIASYS 2
-#define ICON_MULTIMEDIASYS ":/img/tv.png"
-#define MODE_FORTHEWEB 3
-#define ICON_FORTHEWEB ":/img/Internet.png"
-#define MODE_LOSSLESS 4
-#define ICON_LOSSLESS ":/img/Lossless.png"
-
-//============================================
-
-// Standard definition
-#define STANDARD_PAL 0
-#define STANDARD_NTSC 1
-
-// Image size definition
-#define NBR_SIZEDEF 9
-#define SIZE_QVGA 0
-#define SIZE_HVGA 1
-#define SIZE_VGA 2
-#define SIZE_DVD 3
-#define SIZE_WVGA 4
-#define SIZE_XGA 5
-#define SIZE_720P 6
-#define SIZE_1080p 7
-#define SIZE_RIM240 8
-
-//============================================
-// Image format definition
-//============================================
-struct sIMAGEDEF {
- int Width; // Width
- int Height; // Height
- int PARNUM; // Pixel aspect ratio (num)
- int PARDEN; // Pixel aspect ratio (den)
- double dFPS; // Frame per second
- char FPS[20]; // Frame per second
- char Name[100]; // Display name
- int Extend; // Padding for cinema mode with DVD
-};
-extern sIMAGEDEF DefImageFormat [2][3][NBR_SIZEDEF]; // Image format definition
-extern QString IMAGEDEFGENNAME[2][NBR_SIZEDEF]; // Image format generic name
-extern int ORDERIMAGENAME[NBR_SIZEDEF]; // Display order of image size
-
-//============================================
-// Video codec definitions
-//============================================
-#define VCODEC_MJPEG 0 // Motion JPEG
-#define VCODECST_MJPEG "MJPEG" // String Motion JPEG
-#define VCODEC_MPEG 1 // MPEG-2 video
-#define VCODECST_MPEG "MPEG" // String MPEG-2 video
-#define VCODEC_MPEG4 2 // DivX/XVid/MPEG-4
-#define VCODECST_MPEG4 "MPEG4" // String DivX/XVid/MPEG-4
-#define VCODEC_H264HQ 3 // H.264 AVC/MPEG-4 AVC + VPRE libx264-hq.ffpreset
-#define VCODECST_H264HQ "H264HQ" // String H.264 AVC/MPEG-4 AVC + VPRE libx264-hq.ffpreset
-#define VCODEC_H264PQ 4 // H.264 AVC/MPEG-4 AVC + VPRE libx264-hq.ffpreset ********
-#define VCODECST_H264PQ "H264PQ" // String H.264 AVC/MPEG-4 AVC + VPRE libx264-hq.ffpreset ********
-#define VCODEC_VP8 5 // WebM-VP8
-#define VCODECST_VP8 "VP8" // String WebM-VP8
-#define VCODEC_H263 6 // Flash Video / Sorenson H.263
-#define VCODECST_H263 "H263" // String Flash Video / Sorenson H.263
-#define VCODEC_THEORA 7 // Theora
-#define VCODECST_THEORA "THEORA" // String Theora
-#define VCODEC_X264LL 8 // x264 lossless + VPRE libx264-lossless.ffpreset ********
-#define VCODECST_X264LL "X264LL" // String x264 lossless ********
-
-struct sVideoCodecDef {
- bool IsFind; // true if codec is supported by installed version of ffmpeg
- int Codec_id; // ffmpeg codec id
- int FFD_VCODEC; // ffDiaporama video codec id
- char FFD_VCODECST[10]; // ffDiaporama video codec id string
- char ShortName[50]; // short name of the codec (copy of the ffmpeg value)
- char LongName[200]; // long name of the codec (define by this application)
- char PossibleBitrate[200]; // list of possible compression bit rate (define by this application)
- char DefaultBitrate[NBR_SIZEDEF][10]; // prefered compression bit rate for each possible size
-};
-#define NBR_VIDEOCODECDEF 9
-extern struct sVideoCodecDef VIDEOCODECDEF[NBR_VIDEOCODECDEF];
-
-//============================================
-// Audio codec definitions
-//============================================
-struct sAudioCodecDef {
- bool IsFind; // true if codec is supported by installed version of ffmpeg
- int Codec_id; // ffmpeg codec id
- char ShortName[50]; // short name of the codec (copy of the ffmpeg value)
- char LongName[200]; // long name of the codec (define by this application)
- char PossibleBitrate2CH[200]; // list of possible compression bit rate in stereo mode (define by this application)
- bool Possibly6CH; // true if this codec support 5.1/6 chanels mode
- char PossibleBitrate6CH[200]; // list of possible compression bit rate in 5.1/6 chanels mode (define by this application)
- char Default[10]; // prefered compression bit rate
-};
-#define NBR_AUDIOCODECDEF 8
-extern struct sAudioCodecDef AUDIOCODECDEF[NBR_AUDIOCODECDEF];
-
-//============================================
-// Format container definitions
-//============================================
-struct sFormatDef {
- bool IsFind; // true if format container is supported by installed version of ffmpeg
- char ShortName[50]; // short name of the format container (copy of the ffmpeg value)
- char FileExtension[10]; // prefered file extension for the format container (define by this application)
- char LongName[200]; // long name of the codec (define by this application)
- char PossibleVideoCodec[200]; // list of possible video codec for this format container (using VCODECST String define)
- char PossibleAudioCodec[200]; // list of possible audio codec for this format container (define by this application)
-};
-#define NBR_FORMATDEF 10
-extern struct sFormatDef FORMATDEF[NBR_FORMATDEF];
-
-#define NBR_AUDIOFORMATDEF 5
-extern struct sFormatDef AUDIOFORMATDEF[NBR_AUDIOFORMATDEF];
-
-//============================================
-// Device model class definition
-//============================================
-
-class cDeviceModelDef {
-public:
- bool FromGlobalConf; // true if device model is defined in global config file
- bool FromUserConf; // true if device model is defined in user config file
- bool IsFind; // true if device model format is supported by installed version of ffmpeg
- int DeviceIndex; // Device number index key
- QString DeviceName; // long name for the device model
- int DeviceType; // device type
- int DeviceSubtype; // device Subtype
- int Standard; // standard : PAL/NTSC
- int FileFormat; // sFormatDef number
- int ImageSize; // DefImageFormat number
- int VideoCodec; // sVideoCodecDef number
- int VideoBitrate; // Bitrate number in sVideoCodecDef
- int AudioCodec; // sAudioCodecDef number
- int AudioBitrate; // Bitrate number in sAudioCodecDef
-
- // Save value to be able to reset to default
- QString BckDeviceName; // long name for the device model
- int BckDeviceType; // device type
- int BckDeviceSubtype; // device Subtype
- int BckStandard; // standard : PAL/NTSC
- int BckFileFormat; // sFormatDef number
- int BckImageSize; // DefImageFormat number
- int BckVideoCodec; // sVideoCodecDef number
- int BckVideoBitrate; // Bitrate number in sVideoCodecDef
- int BckAudioCodec; // sAudioCodecDef number
- int BckAudioBitrate; // Bitrate number in sAudioCodecDef
-
- cDeviceModelDef(bool IsGlobalConf,int IndexKey);
- ~cDeviceModelDef();
-
- virtual void SaveToXML(QDomElement &domDocument,QString ElementName);
- virtual bool LoadFromXML(QDomElement domDocument,QString ElementName,bool IsUserConfigFile);
-};
-
-//============================================
-// Device model list definition
-//============================================
-
-class cDeviceModelList {
-public:
- QList<cDeviceModelDef *> RenderDeviceModel; // List of known rendering device model
- QStringList TranslatedRenderType; // Translated render device type
- QStringList TranslatedRenderSubtype[4]; // Translated render device subtype
-
- cDeviceModelList();
- ~cDeviceModelList();
-
- virtual bool LoadConfigurationFile(QString ConfigFileName,cBaseApplicationConfig::LoadConfigFileType TypeConfigFile);
- virtual bool SaveConfigurationFile(QString ConfigFileName);
- virtual bool LoadFromXML(QDomElement domDocument,cBaseApplicationConfig::LoadConfigFileType TypeConfigFile);
-
- virtual void TranslatRenderType();
- virtual void Initffmpeg();
-};
-
-#endif // CDEVICEMODELDEF_H
diff --git a/src/sharedfiles/cSoundBlockList.h b/src/sharedfiles/cSoundBlockList.h
deleted file mode 100755
index ac3beb9..0000000
--- a/src/sharedfiles/cSoundBlockList.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* ======================================================================
- This file is part of ffDiaporama
- ffDiaporama is a tools to make diaporama as video
- Copyright (C) 2011-2012 Dominique Levray <levray.dominique at bbox.fr>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- ====================================================================== */
-
-#ifndef CSOUNDBLOCKLIST_H
-#define CSOUNDBLOCKLIST_H
-
-// Basic inclusions (common to all files)
-#include "_GlobalDefines.h"
-
-// Include some additional standard class
-#include <QList>
-
-#include "cDeviceModelDef.h" // Contains ffmpeg include
-
-// Base object for sound manipulation
-class cSoundBlockList {
-public:
- int SoundPacketSize; // Size of a packet (depending on FPS)
- int NbrPacketForFPS; // Number of packet for FPS
- QList<int16_t *> List; // List of sound packet
- uint8_t *TempData; // Buffer for stocking temporary data (when decoding data are less than a packet)
- int64_t CurrentTempSize; // Amount of data in the TempData buffer
- double dDuration; // Duration of a packet (in time)
-
- int64_t Channels; // Number of channels
- int64_t SamplingRate; // Sampling rate (frequency)
- int64_t SampleBytes; // Size of a sample (16 bits=2 bytes)
- double WantedDuration; // Duration wanted depending on FPS
- double FPS;
-
- cSoundBlockList();
- ~cSoundBlockList();
-
- virtual void ClearList(); // Clear the list (make av_free of each packet)
- virtual int16_t *DetachFirstPacket(); // Detach the first packet of the list (do not make av_free)
- virtual void AppendPacket(int16_t *PacketToAdd); // Append a packet to the end of the list
- virtual void AppendNullSoundPacket(); // Append a packet of null sound to the end of the list
- virtual void MixAppendPacket(int16_t *PacketA,int16_t *PacketB); // Append a packet to the end of the list by mixing 2 packet
- virtual void AppendData(int16_t *Data,int64_t DataLen); // Append data to the list creating packet as necessary and filling TempData
- virtual void SetFPS(double FPS); // Prepare and calculate values for a frame rate
- virtual void SetFrameSize(int FrameSize); // Prepare and calculate values for a frame size
- virtual void ApplyVolume(int PacketNumber,double VolumeFactor); // Adjust volume
-};
-
-#endif // CSOUNDBLOCKLIST_H
--
ffdiaporama packaging
More information about the pkg-multimedia-commits
mailing list